Rand Protocol
ブラウザ拡張機能

Firefox 向け Rand Wallet

Chrome 版と同じ拡張機能で、同じコードを Firefox 向けにパッケージ化したものです。minify もバンドルもされていないため、Mozilla が審査するコードと、お客様が実行するコードは同一です。

Firefox アドオン への掲載は審査待ちです。審査が完了するまでは、下記のダウンロードからバージョン 0.8.0 をインストールするか、ソースからビルドしてください。

Rand Wallet のアイコン
使用技術
JavaScript · Manifest V3
配布経路
addons.mozilla.org
動作要件
Firefox 140 以降
送金
RandProtocol の prover、またはご自身の prover を通じて送金
ダウンロード

バージョン 0.8.0

ファイルは GitHub 上の v0.8.0 リリースに添付されています。ここにあるボタンはそれらへのリンクであり、このサイトからは何も配信していません。

  1. about:debugging を開き、「This Firefox」→「一時的なアドオンを読み込む…」を選んで、zip を指定します。
  2. 一時的なアドオンは、Firefox を再起動すると削除されます。リリース版の Firefox が恒久的にインストールするのは addons.mozilla.org が署名したものだけです。そのため、掲載が公開されるまではこの方法になります。
  3. Firefox は拡張機能のサイト権限をインストール時に付与します。そこで randbridge.org を許可しなかった場合は、後から拡張機能の権限パネルで付与してください。
Firefox アドオン(.zip)
Firefox 140 以降 · 2.7 MB
ダウンロード
rand-wallet-firefox-0.8.0.zip
SHA-256 2982e605ba06dfac9de02e67652e3afc6d8b4d4ce20cb17225fe5c8335a503c6
ダウンロードしたファイルを確認する
SHA256SUMS
# SHA256SUMS をファイルと同じフォルダにダウンロードして実行します
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# または、1 つのファイルのチェックサムを出力し、上記の値と比較します
shasum -a 256 rand-wallet-firefox-0.8.0.zip

チェックサムが一致すれば、そのファイルは公開されたものと同一です。ただし、そのファイルがソースからビルドされたものであることまでは保証しません。ビルドはまだビット単位では再現できないため、それを確認する必要がある場合はご自身でビルドしてください。

送金

RandProtocol の prover、またはご自身の prover を通じて送金

バンドル証明のメモリ使用量はピーク時で約 6.2 GB に達しますが、ブラウザが WebAssembly に与えるのは 4 GiB です。そのため、拡張機能が自分で証明を生成することはありません。拡張機能は転送を構築し、prover に証明を生成させ(既定は RandProtocol の prover、またはペアリングした prover)、その証明をローカルで検証してから送信します。

初期状態では、一度だけ表示される通知の後に RandProtocol の prover を使います。履歴を prover に見せないためには、同じコンピュータ上の Rand Wallet デスクトップアプリ(その設定の「Prove for my other devices」で表示されるリンクを、拡張機能の設定 → Prover に貼り付けます)か、サーバー上のご自身の rand-prover をペアリングしてください。

証明を生成できないデバイスは、既定で RandProtocol の prover を使います。これはバリデータが運用する数台のマシンで(現在は4台、https://prover.randprotocol.org 配下)、手数料はかかりません。0.6.9 以降、各 prover は固有の鍵を持ち、ウォレットがその鍵をピン留めします。ウォレットは最初の送金の前にその旨を表示します。送金の証明を生成するマシンは、ウォレットの viewing key と一回限りの salt を受け取ります。そのため運用者はウォレットの全履歴、つまり受け取ったすべての支払いと送ったすべての支払いを読み取れますが、資金を使うことはできません。spend key はお使いのデバイスの外に出ることはなく、小さな承認証明はデバイス自身が生成します。より高いプライバシーが必要な場合は、設定 → Prover で独自の prover を選択してください。その prover が常に優先されます。ウォレットは、すべての証明を送信する前に検証します。

prover のペアリング手順:docs/prover.md。

鍵について

鍵の保管場所

花費鍵(spend key)はウォレットが持つ唯一の秘密情報です。アカウントはなく、コピーを保管するサーバーもありません。鍵を失うと誰にも復元できないため、ウォレットに表示されたときに必ず保存してください。

spend key
オペレーティングシステムの乱数からウォレットコア内で生成され、PBKDF2-SHA256 で保護された AES-256-GCM のボールトとしてのみ保存されます。ロック解除中は、ブラウザのセッションストレージに置かれます。このストレージはブラウザを閉じると空になり、Web ページからは読み取れません。
画面上の鍵
viewing key と spend key のエクスポートは、ロック解除と同じ計算コストのパスワード再確認の先にあります。鍵が URL、コンソール、拡張機能の永続ストレージに置かれることはありません。
自動ロック
ページのタイマーではなくブラウザのアラームを使うため、ポップアップが閉じられ、バックグラウンドワーカーがスリープ状態になった後でも、ウォレットは時間どおりにロックされます。
ネットワーク
通信先は設定内の RPC URL のみです。別の場所に変更する際は、そのホストだけへのアクセス許可が求められます。アナリティクスもリモートコードもありません。拡張機能は、インストール時に含まれていたスクリプトだけを実行します。
その他

Swap と、Rand サイト向けの window.rand

ウォレット内蔵の Swap 画面では、durian.market のプールを通じて RAND とトークンを取引できます。チェーン上のプールから正確な金額を見積もり、スワップの証明と送信もウォレット自身が行います。durian.market も、window.rand.invoke を通じて同じスワップを要求できます。

randbridge.org は拡張機能を window.rand として検出し、接続を要求できます。接続にはロック解除済みのウォレットと、そのサイトに対するお客様の承認が必要です。接続されたサイトが知るのは、お客様のアドレスとそのブリッジ受取人ハッシュだけです。

ソースからビルドする

ご自身でビルドする場合

  1. 下記の clients リポジトリから拡張機能をビルドし、パッケージ化します。
  2. about:debugging を開き、「This Firefox」→「一時的なアドオンを読み込む…」を選んで、dist/firefox/manifest.json を指定します。

ツールチェーン:Rust 1.98.1。リポジトリで固定されており、rustup でインストールされます。ビルドガイドでは、まっさらなマシンからすべてのクライアントをビルドする手順を説明しています。ソースディレクトリ: firefox/, extension/, ui/, core/.

Firefox 向け Rand Wallet
bash
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… アドレスも作成されます。既存のキーや、rand CLI の wallet.key.json もインポートできます。すべてのクライアントが同じファイルをエクスポートします。
受け取りと送金
残高とは、お客様のキーだけが開けるノートの集合です。ウォレットはコミットメントツリーをスキャンしてそれらを見つけます。RAND または掲載されている RPL トークンの送金は、証明で承認される 4 入力 4 出力のバンドル 1 つで行われます。送り手、受け手、金額、どの資産が動いたかは、誰にも知られません。
ファウセット
ファウセットが開放されている testnet では、1 回のタップで 100 RAND が、お客様だけが開けるノートにミントされます。
開示は選んだものだけ
ビューイングキーをコピーして RandScan の「My history」を開くと、送受信したすべてのノートを確認できます。あるいは、1 件の支払いのトランザクションキーをコピーすれば、その支払いだけを開示できます。エクスプローラーはブラウザ内で復号し、キーをどこにも送信しません。

viewing key とトランザクションキーは randscan.org で開きます。

testnet に関する注意

送金する前に

チェーン
公開エンドポイントは、2026年10月12日 10:31 UTC から稼働している chain 21 を提供しています(fullnode v0.8.0 でカットされたものです)。ウォレットコアは fullnode v0.8.0 (c0878c3) をベンダリングしており、それ以外のチェーンは拒否します。chain 21 は制約セット 9 で動作するため、0.7.x のウォレットでは送金できず、このリリースでは chain 20 で送金できません。鍵とアドレスは引き継がれます。chain 20 をスキャンしていたウォレットは、別チェーンのバナーを一度だけ表示し、chain 21 のジェネシスから再スキャンします。ブリッジの入金と出金には zUSD で 0.1% の手数料がかかり、ウォレットは出金の前にその額を表示します。
RPC エンドポイント
設定 → ネットワーク。既定は https://rpc.randprotocol.org です。到達できる rand-node の RPC であればどれでも使え、保存された URL は保持される前に検証されます
証明
バンドル証明はメモリのピークが約 6.2 GB に達し、ノート PC の CPU では 1 分ほどかかります
ステータス
実験的な testnet 向けソフトウェアです。監査は受けていません。testnet 上の RAND に実際の価値はありません
ライセンス
GPL-3.0-only。すべてのクライアントがリンクするフルノードのクレートと同じです
その他のクライアント

ひとつのウォレットで、すべてのプラットフォームへ

どこでも同じ鍵ファイル、同じアドレス形式、同じルールです。ここで作成したウォレットは、他のどのクライアントや rand CLI にもインポートできます。