- 建置技術
- JavaScript · Manifest V3
- 發佈渠道
- addons.mozilla.org
- 系統要求
- Firefox 140 或以上版本
- 發送
- 經 RandProtocol 的 prover 發送,或使用你自己的 prover
版本 0.8.0
檔案附於 GitHub 上的 v0.8.0 版本發佈;此處的按鈕只是指向這些檔案的連結,本網站不提供任何檔案下載。
- 開啟 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 校驗和相符,表示該檔案與所發佈的檔案一致,但並不表示該檔案是由原始碼建置而成:目前的建置尚未能做到逐位元重現,如果你需要確認這一點,請自行建置。
經 RandProtocol 的 prover 發送,或使用你自己的 prover
一個 bundle 證明的記憶體用量峰值約為 6.2 GB,而瀏覽器只給予 WebAssembly 4 GiB,因此該擴充功能從不自行生成證明。它會建構轉帳,交由 prover 生成證明(預設為 RandProtocol 的 prover,或你配對的 prover),在本機檢驗證明,然後提交。
開箱即用時,它會在一次性提示後使用 RandProtocol 的 prover。如不想讓它取得你的歷史記錄,可在同一部電腦上配對 Rand Wallet 桌面應用程式(於其「設定 → Prove for my other devices」取得連結,再貼到擴充功能的「設定 → Prover」),或配對你自己架設在伺服器上的 rand-prover。
無法自行生成證明的裝置,預設使用 RandProtocol 的 prover:由 validator 營運的數部機器(目前共四部,位於 https://prover.randprotocol.org 之下),免收費用。自 0.6.9 起,每部機器均有各自的密鑰,由錢包固定(pin)並記錄,錢包會在首次發送前說明此事。為一筆發送生成證明的機器,會收到錢包的 viewing key 及一次性 salt:其營運者可讀取該錢包的全部歷史記錄,包括每一筆收款與付款,但無法動用資金。花費密鑰(spend key)永不離開你的裝置,由裝置自行生成體積細小的授權證明。如欲加強私隱,可於「設定 → Prover」選用自己的 prover,此後會一律優先使用;錢包在提交每個證明之前,都會先行檢驗。
配對 prover 的逐步說明:docs/prover.md。
密鑰存放於何處
花費密鑰是錢包唯一的機密。系統沒有帳戶,也沒有伺服器保存副本:密鑰一旦遺失,無人能夠復原,因此錢包顯示密鑰時,請務必妥善保存。
Swap,以及供 Rand 網站使用的 window.rand
錢包本身的 Swap 畫面透過 durian.market 的資金池買賣 RAND 與代幣:它會從鏈上的資金池取得準確報價,然後自行生成證明並發送兌換交易;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… 地址。可匯入現有密鑰,或 rand CLI 的 wallet.key.json;所有客戶端匯出的都是同一個檔案。
- 接收與發送
- 你的餘額是只有你的密鑰才能開啟的 note 的集合;錢包會掃描承諾樹以找出這些 note。轉移 RAND 或任何已列出的 RPL 代幣,是由一份證明授權的一個 4 入 4 出捆綁交易。沒有人能得知發送者、接收者、金額或所轉移的資產。
- 水龍頭
- 在設有開放水龍頭的 testnet 上,輕按一下即可鑄造 100 RAND 至只有你能開啟的 note 中。
- 只披露你選擇披露的內容
- 複製你的檢視密鑰,並在 RandScan 開啟「My history」,即可查看你發送或接收的每一個 note;或複製單筆付款的交易密鑰,只披露該筆付款而不涉及其他。瀏覽器端的區塊瀏覽器在你的瀏覽器中解密,絕不會將密鑰發送到任何地方。
查看密鑰與交易密鑰會在 randscan.org 開啟。
發送任何款項之前
- 鏈
- 公開端點現時提供 chain 21 服務,自 2026 年 10 月 12 日 10:31 UTC 起上線(於 fullnode v0.8.0 切出)。錢包核心內置 fullnode v0.8.0 (c0878c3),並拒絕任何其他鏈:chain 21 運行約束集 9,因此 0.7.x 版本的錢包無法在其上發送交易,而本版本亦無法在 chain 20 上發送交易。密鑰和地址可沿用;曾掃描 chain 20 的錢包會顯示一次不同鏈的橫幅,並由 chain 21 的創世區塊重新掃描。跨鏈橋的存款和提款維持 0.1% 的 zUSD 手續費,錢包會在你提款前顯示該費用。
- RPC 端點
- 「設定」→「網絡」。預設為 https://rpc.randprotocol.org;任何你能連線的 rand-node RPC 均可使用,已儲存的 URL 在保留前會經過檢查
- 證明生成
- 一份捆綁證明的記憶體用量峰值約為 6.2 GB,在筆記型電腦 CPU 上約需一分鐘
- 狀態
- 實驗性 testnet 軟件。未經審計。testnet 上的 RAND 沒有真實價值
- 授權條款
- 僅限 GPL-3.0,與每個客戶端所連結的全節點 crate 相同
一個錢包,全平台通用
各處使用相同的密鑰檔案、地址格式和規則:在此建立的錢包可匯入任何其他客戶端,以及 rand CLI。