Используйте эту страницу, чтобы увидеть, что работает на устройствах каждого типа и почему кошельки ведут себя по-разному. Каждый Rand Wallet — это один и тот же кошелёк в разной оболочке. Одно ядро на Rust, собранное из собственных крейтов полного узла, хранит ключи и выполняет криптографические операции на любом устройстве. Единственное реальное различие — память: пик при построении доказательства пакета составляет около 6 ГБ. Настольный компьютер или крупный телефон строит его на месте, а всё, что меньше, передаёт это единственное доказательство провайверу. Загрузки и шаги сборки для каждого клиента находятся на странице /clients.
Одно ядро, пять форм
| устройство и клиент | ядро внутри | доказывает перевод | где хранится ключ расходования |
|---|---|---|---|
| iPhone: приложение для iOS, iOS 16 или новее | XCFramework | при объёме памяти около 8 ГБ — за минуту-две; иначе через связанный провер | Keychain, только пока устройство разблокировано; никогда не синхронизируется |
| Android: приложение для Android, Android 8 или новее | нативная библиотека | при объёме памяти около 8 ГБ — в службе переднего плана; иначе через связанный провер | зашифрован ключом, который хранит Android Keystore |
| Ноутбук и настольный компьютер: настольное приложение для macOS, Windows и Linux | крейт на Rust, подключённый напрямую | на самой машине, около минуты на процессоре ноутбука; на машине с менее чем 8 ГиБ оперативной памяти оно не запустит построение | хранилище с паролем (AES-256-GCM, PBKDF2 с 600 000 итераций); в разблокированном состоянии — только в памяти приложения |
| Браузер: расширения для Chrome и Firefox, веб-кошелёк | WebAssembly | никогда: WebAssembly получает 4 ГиБ, поэтому доказательство пакета всегда строит связанный провер | хранилище того же рода; в разблокированном состоянии — в памяти страницы или в хранилище сессии вкладки |
Ноутбук и настольный компьютер запускают одно и то же настольное приложение. Единственное различие — объём памяти, которой машина располагает для доказательства. Кошелёк, созданный на любом из них, импортируется в остальные и в командную строку rand, и обратно: файл ключа, формат адреса и правила везде одни и те же.
Какой кошелёк отправляет в chain 20
Chain 20, запущенная 2026-10-01 в 06:17 UTC, привязывает каждое доказательство и каждое подписанное сообщение к своему genesis-хешу, поэтому для отправки в ней кошельку нужен fullnode v0.6.8. Rand Wallet v0.6.8, выпущенный 2026-10-01, — это такой кошелёк: ядро каждого приложения включает fullnode v0.6.8, а доказательство пакета по умолчанию строит провер RandProtocol; собственный провер — приватный вариант. Приложения версии 0.6.7, собранные для chain 19, не могут отправлять в chain 20; обновите их. Командная строка rand из релиза fullnode v0.6.8 (Командная строка) тоже отправляет и принимает тот же файл ключа.
Что делает каждый клиент
- Хранит ключ расходования на устройстве. Он генерируется из случайности операционной системы и хранится в зашифрованном виде. Ни один клиент никуда его не отправляет, а у сети нет учётных записей, куда его можно было бы отправить.
- Находит собственные ноты. Он сканирует цепочку своим ключом просмотра, поэтому ни один сервер не знает, какие ноты ему принадлежат.
- Сам строит доказательство авторизации. Перевод несёт два доказательства. Малое, над ключом расходования, строится за секунды и всегда на устройстве (Валидаторы, агрегаторы и проверы).
- Организует построение доказательства пакета. Он строит его на устройстве, если хватает памяти, а иначе получает от связанного провера. Каждое полученное обратно доказательство проверяется до того, как что-либо будет отправлено.
- Отправляет на любой RPC-узел. То, что он отправляет, видит каждый узел: обязательства, нуллификаторы, запечатанные конверты, комиссию и доказательства.
Связывание провера
Телефон, которому не хватает памяти, и каждый браузерный кошелёк связывают провер для доказательства пакета. На том же компьютере это делает настольное приложение (Settings → Prove for my other devices, затем вставьте ссылку в Settings → Prover браузерного кошелька). В остальных случаях это rand-prover, который вы запускаете (Запуск узла), либо пул валидаторов по адресу prover.randprotocol.org.
Связанному проверу передаются ключ просмотра кошелька и одноразовая соль, но никогда не ключ расходования. Он может прочитать всю историю этого кошелька, прошлую и будущую, но потратить средства не может. Связывайте только тот провер, которому вы показали бы эту историю. Для полной приватности стройте доказательство на настольном компьютере или 8-гигабайтном телефоне либо запустите собственный провер.