- 使用技術
- JavaScript · WebAssembly コア
- 配布経路
- clients リポジトリのチェックアウトを、お使いのマシンで配信します
- 動作要件
- Node 20 以降、最新のブラウザ
- 送金
- RandProtocol の prover、またはご自身の prover 経由で送金します
バージョン 0.8.0
ファイルは GitHub 上の v0.8.0 リリースに添付されています。ここにあるボタンはそれらへのリンクであり、このサイトからは何も配信していません。
- 展開して、git のチェックアウトの場合とまったく同じように、中の web/wallet/serve.sh を実行します。このアーカイブには、GitHub 標準の「Source code」アーカイブには含まれないフルノードのサブモジュールが入っています。
# SHA256SUMS をファイルと同じフォルダにダウンロードして実行します
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS
sha256sum -c SHA256SUMS --ignore-missing # Linux
# または、1 つのファイルのチェックサムを出力し、上記の値と比較します
shasum -a 256 rand-wallet-0.8.0-source.tar.gz チェックサムが一致すれば、そのファイルは公開されたものと同一です。ただし、そのファイルがソースからビルドされたものであることまでは保証しません。ビルドはまだビット単位では再現できないため、それを確認する必要がある場合はご自身でビルドしてください。
RandProtocol の prover、またはご自身の prover 経由で送金します
バンドル証明はメモリのピークが約 6.2 GB に達しますが、ブラウザが WebAssembly に与えるのは 4 GiB です。そのため Web ウォレットが自力で証明を生成することはありません。ウォレットは送金を組み立て、prover に証明を作らせ(既定は RandProtocol の prover、ペアリングした prover も指定できます)、その証明をローカルで検証してから送信します。
履歴を RandProtocol の prover に知られないようにするには、同じコンピューターの Rand Wallet デスクトップアプリ(設定 → 他のデバイスのために証明する)か、ご自身の rand-prover をペアリングしてください。進行中の証明はタブのメモリ内にのみ存在します。証明の途中でページを再読み込みすると破棄され、何も送信されません。
証明を作れないデバイスは、既定で RandProtocol の prover を使います。バリデータが運用する数台のマシン(現在は 4 台、https://prover.randprotocol.org 配下)で、手数料はかかりません。0.6.9 以降は各 prover が固有のキーを持ち、ウォレットがそれをピン留めします。ウォレットは最初の送金の前にその旨を表示します。送金の証明を作るマシンは、ウォレットのビューイングキーとワンタイムソルトを受け取ります。そのため運用者はウォレットの全履歴(受け取った支払いと送った支払いのすべて)を読めますが、資金を使うことはできません。スペンドキーはお使いのデバイスから出ることがなく、小さな承認証明はデバイス自身が作ります。より高いプライバシーが必要な場合は、設定 → Prover でご自身の prover を選択してください。その prover が常に優先されます。ウォレットは送信前にすべての証明を検証します。
prover のペアリング手順:docs/prover.md。
鍵の保管場所
花費鍵(spend key)はウォレットが持つ唯一の秘密情報です。アカウントはなく、コピーを保管するサーバーもありません。鍵を失うと誰にも復元できないため、ウォレットに表示されたときに必ず保存してください。
チェックアウトから実行する
- clients リポジトリをクローンして web/wallet/serve.sh を実行し、http://127.0.0.1:8787/ を開きます。初回は WebAssembly コアをビルドするため数分かかります。2 回目以降の起動はファイルのコピーだけです。
- Rand Wallet がどこかのリモート URL で提供されている場合、その信頼性は、そのサーバーを運用している相手への信頼と同じだけです。重要な用途には、デスクトップアプリかブラウザ拡張機能をお使いください。
ツールチェーン:Rust 1.98.1。リポジトリで固定されており、rustup でインストールされます。ビルドガイドでは、まっさらなマシンからすべてのクライアントをビルドする手順を説明しています。ソースディレクトリ: web/wallet/, 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)
web/wallet/serve.sh # ビルドしてから http://127.0.0.1:8787/ で配信します
RAND_WALLET_PORT=9000 web/wallet/serve.sh # 別のポートで実行します すべてのプラットフォームでできること
- ウォレットの作成
- デバイス上でスペンドキーを生成し、保存用に一度だけ表示します。そこから導出された rand1… アドレスも作成されます。既存のキーや、rand CLI の wallet.key.json もインポートできます。すべてのクライアントが同じファイルをエクスポートします。
- 受け取りと送金
- 残高とは、お客様のキーだけが開けるノートの集合です。ウォレットはコミットメントツリーをスキャンしてそれらを見つけます。RAND または掲載されている RPL トークンの送金は、証明で承認される 4 入力 4 出力のバンドル 1 つで行われます。送り手、受け手、金額、どの資産が動いたかは、誰にも知られません。
- ファウセット
- ファウセットが開放されている testnet では、1 回のタップで 100 RAND が、お客様だけが開けるノートにミントされます。
- 開示は選んだものだけ
- ビューイングキーをコピーして RandScan の「My history」を開くと、送受信したすべてのノートを確認できます。あるいは、1 件の支払いのトランザクションキーをコピーすれば、その支払いだけを開示できます。エクスプローラーはブラウザ内で復号し、キーをどこにも送信しません。
viewing key とトランザクションキーは randscan.org で開きます。
送金する前に
- チェーン
- 公開エンドポイントは、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 にもインポートできます。