Rand Wallet для Firefox
То же расширение, что и сборка для Chrome, из того же кода, упакованное для Firefox. В нём ничего не минифицировано и не объединено в бандл, поэтому код, который проверяет Mozilla, и есть код, который вы запускаете.
Публикация в Firefox Add-ons ожидается. Пока она не прошла проверку, установите версию 0.8.0 по ссылке для скачивания ниже или соберите её из исходного кода.
- Технологии
- JavaScript · Manifest V3
- Распространяется через
- addons.mozilla.org
- Требуется
- Firefox 140 или новее
- Отправка
- Отправляет через prover RandProtocol или ваш собственный
Версия 0.8.0
Файлы прикреплены к релизу v0.8.0 на GitHub; кнопки здесь — это ссылки на них, и с этого сайта ничего не раздаётся.
- Откройте about:debugging, выберите This Firefox → Load Temporary Add-on… и укажите zip-файл.
- Временное дополнение удаляется при перезапуске Firefox. Релизный Firefox устанавливает навсегда только то, что подписано addons.mozilla.org, поэтому до выхода публикации всё работает именно так.
- Firefox выдаёт расширению разрешения на сайты при установке. Если вы отклонили randbridge.org там, предоставьте разрешение позже на панели разрешений расширения.
# с файлом SHA256SUMS, скачанным в ту же папку, что и сам файл
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS
sha256sum -c SHA256SUMS --ignore-missing # Linux
# или выведите сумму одного файла и сравните её с указанной выше
shasum -a 256 rand-wallet-firefox-0.8.0.zip Совпадение суммы означает, что файл — тот, который был опубликован. Оно не означает, что файл собран из исходного кода: сборки пока не воспроизводятся бит в бит, поэтому, если вам нужно это знать, соберите его сами.
Отправляет через prover RandProtocol или ваш собственный
Доказательство для bundle требует около 6.2 GB памяти в пике, а браузер выделяет WebAssembly 4 GiB, поэтому расширение никогда не строит доказательство само. Оно формирует перевод, поручает prover построить доказательство (по умолчанию prover RandProtocol или тот, который вы подключили), проверяет доказательство локально и отправляет его.
Из коробки используется prover RandProtocol, после однократного уведомления. Чтобы скрыть от него свою историю, подключите настольное приложение Rand Wallet на том же компьютере (в его Settings → Prove for my other devices, затем вставьте ссылку в Settings → Prover расширения) или собственный rand-prover на сервере.
Устройство, которое не может построить доказательство, по умолчанию использует provers RandProtocol: несколько машин, которыми управляют валидаторы (сегодня четыре, по адресу https://prover.randprotocol.org), без комиссии. Начиная с версии 0.6.9 у каждого свой ключ, который кошелёк закрепляет, и кошелёк сообщает об этом перед первой отправкой. Машина, доказывающая отправку, получает ключ просмотра кошелька и одноразовую соль: её оператор может прочитать всю историю кошелька, каждый полученный и отправленный платёж, но не может тратить средства. Ключ траты никогда не покидает ваше устройство, которое само строит небольшое доказательство авторизации. Для большей приватности выберите собственный prover в Настройки → Prover, который тогда всегда имеет приоритет; кошелёк проверяет каждое доказательство перед тем, как отправить его в сеть.
Подключение prover шаг за шагом: docs/prover.md.
Где хранится ключ
Ключ траты — единственный секрет кошелька. Нет ни учётной записи, ни сервера, хранящего его копию: потеряв ключ, его не сможет восстановить никто, поэтому сохраните его, когда кошелёк его покажет.
Swap и window.rand для сайтов Rand
Собственный экран Swap кошелька обменивает RAND и токены через пулы durian.market: он запрашивает точную сумму из пула в сети, затем сам строит доказательство и отправляет обмен, а durian.market может запросить тот же обмен через window.rand.invoke.
randbridge.org находит расширение как window.rand и может запросить подключение. Для подключения нужны разблокированный кошелёк и ваше одобрение для этого сайта, а подключённый сайт узнаёт ваш адрес и хеш получателя в мосту, и ничего больше.
Или соберите сами
- Соберите и упакуйте расширение из репозитория clients, ниже.
- Откройте about:debugging, выберите This Firefox → Load Temporary Add-on… и укажите dist/firefox/manifest.json.
Набор инструментов: Rust 1.98.1, зафиксирован в репозитории и устанавливается через rustup. Руководство по сборке охватывает каждый клиент на чистой машине. Каталоги с исходным кодом: firefox/, extension/, ui/, core/.
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init # релиз; core/vendor/fullnode @ v0.8.0 (c0878c3)
core/scripts/build-wasm.sh # → extension/shared/core/ (устанавливает wasm-bindgen-cli)
firefox/pack.sh # → dist/firefox/ и dist/rand-wallet-firefox-<version>.zip
npx web-ext lint --source-dir dist/firefox Что он делает на любой платформе
- Создание кошелька
- Ключ расходования генерируется на устройстве и показывается один раз, чтобы вы его сохранили; из него выводится адрес rand1…. Импортируйте существующий ключ или файл wallet.key.json из CLI rand; каждый клиент экспортирует один и тот же файл.
- Получение и отправка
- Ваш баланс — это набор нот, которые может открыть только ваш ключ; чтобы найти их, кошелёк сканирует дерево обязательств. Перевод RAND или любого токена RPL из списка — это один пакет 4-in-4-out, авторизованный доказательством. Никто не узнаёт ни отправителя, ни получателя, ни сумму, ни то, какой актив перемещался.
- Faucet
- В testnet с открытым faucet одно нажатие чеканит 100 RAND в ноту, которую может открыть только вы.
- Раскрывайте только то, что выберете
- Скопируйте свой ключ просмотра и откройте My history в RandScan, чтобы увидеть каждую ноту, которую вы отправили или получили, либо скопируйте ключ транзакции одного платежа, чтобы раскрыть именно этот платёж и ничего больше. Обозреватель расшифровывает данные в вашем браузере и никуда не отправляет ключ.
Ключи просмотра и ключи транзакций открываются на randscan.org.
Прежде чем что-либо отправлять
- Цепочка
- Публичная конечная точка обслуживает chain 21, работающую с 12 Oct 2026 10:31 UTC (выпущена на fullnode v0.8.0). Ядро кошелька включает fullnode v0.8.0 (c0878c3) и отвергает любую другую цепочку: chain 21 работает на constraint set 9, поэтому кошелёк 0.7.x не может отправлять в ней транзакции, а этот релиз не может отправлять в chain 20. Ключи и адреса сохраняются; кошелёк, сканировавший chain 20, один раз показывает баннер о другой цепочке и заново сканирует с генезиса chain 21. Пополнения и выводы через мост по-прежнему облагаются комиссией 0,1% в zUSD, которую кошелёк показывает до вывода средств.
- RPC-endpoint
- Settings → Network. По умолчанию https://rpc.randprotocol.org; подойдёт любой RPC rand-node, до которого вы можете достучаться, а сохранённый URL проверяется до того, как будет сохранён
- Построение доказательств
- Пик памяти при доказательстве пакета составляет около 6,2 GB, на процессоре ноутбука это занимает около минуты
- Статус
- Экспериментальное программное обеспечение для testnet. Не проходило аудит. RAND в testnet не имеет реальной стоимости
- Лицензия
- GPL-3.0-only, как и крейты полного узла, с которыми компонуется каждый клиент
Один кошелёк, все платформы
Один и тот же файл ключа, формат адреса и правила везде: кошелёк, созданный здесь, импортируется в любой другой клиент и в CLI rand.