- 构建工具
- 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
# 或者输出单个文件的校验和,并与上方的值比对
shasum -a 256 rand-wallet-0.8.0-source.tar.gz 校验和一致,说明该文件就是当初发布的那一个;但这并不说明该文件是由源码构建而来:这些构建目前还无法做到逐位可复现,因此如果您需要确认这一点,请自行构建。
通过 RandProtocol prover 发送,或使用你自己的 prover
一次捆绑包证明的内存峰值约为 6.2 GB,而浏览器只给 WebAssembly 分配 4 GiB,因此网页钱包从不自行生成证明。它构建转账,由 prover 生成证明(默认为 RandProtocol prover,或你配对的 prover),在本地校验证明后再提交。
若要避免 RandProtocol prover 获知你的历史记录,请在同一台计算机上配对 Rand Wallet 桌面应用(设置 → Prove for my other devices),或配对你自己的 rand-prover。进行中的证明只存在于标签页的内存中;在证明过程中重新加载页面会丢失它,且不会发送任何内容。
无法生成证明的设备默认使用 RandProtocol prover:由 validator 运营的若干台机器(目前四台,位于 https://prover.randprotocol.org 之下),不收费。自 0.6.9 起,每台都有各自的密钥,钱包会将其固定,并在首次发送前予以说明。为某笔发送生成证明的机器会收到钱包的查看密钥和一次性盐值:其运营者可以读取该钱包的全部历史记录,包括每一笔收到和发出的付款,但无法花费资金。花费密钥从不离开你的设备,由设备自行生成那个小型的授权证明。若需更高的隐私性,请在“设置 → Prover”中选择你自己的 prover,此后将始终优先使用它;钱包在提交之前会校验每一个证明。
配对 prover 的分步说明:docs/prover.md。
密钥存放在哪里
花费密钥(spend key)是钱包唯一的机密。这里没有账户,也没有服务器保存副本:密钥一旦丢失,任何人都无法恢复,因此在钱包向您显示密钥时请妥善保存。
从检出副本运行
- 克隆 clients 仓库并运行 web/wallet/serve.sh,然后打开 http://127.0.0.1:8787/。首次运行会构建 WebAssembly 核心,耗时数分钟;此后启动只是一次文件复制。
- 如果你在某个远程 URL 上发现了 Rand Wallet,那么对它的信任程度,就等同于对运行该服务器的人的信任程度。对于重要事务,请使用桌面应用或浏览器扩展。
工具链: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;所有客户端导出的都是同一种文件。
- 接收与发送
- 你的余额就是只有你的密钥才能打开的 note 的集合;钱包通过扫描承诺树来找到它们。RAND 或任何已上架 RPL 代币的转账,都是由一个证明授权的 4 入 4 出捆绑包。无人能得知发送方、接收方、金额,或转移的是哪种资产。
- 水龙头
- 在开放水龙头的 testnet 上,点一下即可铸造 100 RAND 到只有你能打开的 note 中。
- 只披露你选择的内容
- 复制你的查看密钥,在 RandScan 上打开“My history”,即可看到你发送或接收的每一个 note;或复制某一笔付款的交易密钥,只披露这一笔付款,不涉及其他内容。浏览器端的解密在你的浏览器中完成,密钥绝不会发送到任何地方。
查看密钥(viewing key)和交易密钥(transaction key)会在 randscan.org 上打开。
发送任何资金之前
- 链
- 公共端点提供链 21 的服务,自 2026 年 10 月 12 日 10:31 UTC 起上线(基于 fullnode v0.8.0 切出)。钱包核心内置 fullnode v0.8.0 (c0878c3),并拒绝任何其他链:链 21 运行约束集 9,因此 0.7.x 版钱包无法在其上发送交易,而本版本也无法在链 20 上发送交易。密钥和地址可沿用;曾扫描链 20 的钱包会显示一次不同链的横幅,并从链 21 的创世区块重新扫描。跨链桥的存款和提款仍收取 0.1% 的 zUSD 手续费,钱包会在您提款前显示该费用。
- RPC 端点
- 设置 → 网络。默认为 https://rpc.randprotocol.org;任何你能访问的 rand-node RPC 都可使用,保存的 URL 在保留前会经过检查
- 证明生成
- 一次捆绑包证明的内存峰值约为 6.2 GB,在笔记本电脑 CPU 上耗时约一分钟
- 状态
- 实验性 testnet 软件。未经审计。testnet 上的 RAND 不具有任何实际价值
- 许可证
- 仅限 GPL-3.0(GPL-3.0-only),与每个客户端所链接的全节点 crate 相同
一个钱包,所有平台
各处使用相同的密钥文件、地址格式和规则:在此创建的钱包可以导入任何其他客户端以及 rand CLI。