Skip to content

钱包 ​

NeuroChain 钱包就是一个 24 词恢复短语。其余一切——签名密钥和 .human 地址——都在你的浏览器中由它计算得出,并且永远不会离开浏览器。

使用钱包的方式 ​

以下方式都使用相同的密钥和相同的 .human 地址;区别在于密钥存放在哪里以及由谁签名。

方式密钥存放位置签名者适用场景页面
Web 钱包你的浏览器,用你的密码加密你,在应用中日常使用:发送、质押、投票、注册名称、管理代理本页
签名弹窗你的浏览器(Web 钱包)你,在弹窗中批准在其他网站上使用 dApp,而无需把短语交给它Signer SDK
JavaScript SDK你自己的页面或脚本你的代码,使用你提供给它的短语构建自带钱包的 dApp 或自动化程序JavaScript SDK
会话密钥(AI 代理)代理所在的机器——一个独立的、受限的密钥代理,在你设定的范围、支出上限和有效期内让 AI 助手通过 MCP 代你操作AI 代理(MCP)
付费名称(.node、.vault、.agent……)没有自己的密钥拥有它们的 .human 钱包验证者、共享金库、代理账户地址

.vault 由多个成员共同控制:一笔支出需要达到阈值数量的成员签名。

创建或导入 ​

会发生什么
创建浏览器从 256 位随机熵生成 24 个单词(带校验和的 BIP-39 词表)。请把它们抄写下来;它们只显示一次。
导入输入已有的 24 词短语。在做任何其他事情之前会先验证校验和。

浏览器根据这些单词派生出 ML-DSA-65 密钥对和地址,过程如地址中所述。同一个短语在任何设备上都会得到同一个地址。

密钥存放在哪里 ​

项目位置保护
恢复短语浏览器 localStorage,键 nc_ks_<address>用你的密码加密:PBKDF2-SHA256(100 000 次迭代,随机 16 字节盐)→ AES-256-GCM
签名密钥仅存在于已打开标签页的内存中解锁后从短语重新派生
密码不存放在任何地方仅用于加密和解密短语

同一个浏览器中可以并存多个钱包;你可以在应用中切换。

保管好短语,而不是密码

密码只能解锁存放在此浏览器中的副本。如果你丢失了短语和浏览器数据,钱包就没了——谁也无法恢复。如果短语泄露,任何人都能以你的身份签名;请通过身份轮换到新密钥。

发送 NRO ​

  1. 应用读取你的下一个 nonce 和当前基础费用。
  2. 将 gas 价格设为 1.5 × 基础费用(向上取整),这样即使基础费用在交易被打包前上涨,交易仍然有效。
  3. 浏览器在本地(WASM)检查余额、nonce 和手续费,并在发送前显示任何错误。
  4. 用你的密钥签名 nc-tx-v2|from|to|value|nonce,并把交易连同你的公钥一起发送。
  5. 节点验证签名,以及你的公钥能派生出你的地址,然后将交易排入队列。

转给自己的转账只收手续费;应用也会这样显示。

交易状态 ​

状态含义
pending已被节点接受,在 mempool 中等待。若 60 秒内未被打包则丢弃。
confirmed已进入最终确定的区块并已执行。
failed已进入最终确定的区块,但合约调用触发 trap 或耗尽 fuel。转账金额和存储变更被回滚;手续费和 nonce 被消耗。
held已接受,但被 Sentinel 策略层 默认关闭 延迟:金额会在一段延迟后自动放行,或等待你的确认。
cancelled你取消的暂扣交易;金额已退回。
refunded金额已退还给你——未经确认而过期的暂扣交易,或超时的跨分片转账。

已签名操作 ​

质押、注册名称、投票等操作不是转账,但签名方式相同。钱包签名 nc-tx-v2|<you>|<system target>|<value>|<nonce>,其中目标指明操作(neuro:system.stake、neuro:system.node、neuro:system.name、neuro:system.governance……)。

对于这类操作,nonce 是一个毫秒级时间戳,节点只接受比它从你的地址见过的最后一个 nonce 更大的值——截获的请求无法被重放。

水龙头 仅限测试网络 ​

在以 CHAIN_ENV=testnet 启动的节点上,POST /api/v1/faucet 会发放测试 NRO。在 CHAIN_ENV=mainnet(默认)下,该功能被禁用。

设置默认值变量
每次请求金额50 NRO请求字段 amount
每次请求上限100 NRONEUROCHAIN_FAUCET_MAX_NRO
每个地址的冷却时间24 小时NEUROCHAIN_FAUCET_COOLDOWN_SECS(0 表示关闭)
bash
curl -s -X POST "$NODE_RPC/api/v1/faucet" \
  -H 'Content-Type: application/json' \
  -d '{"address":"neuro:<你的地址>.human","public_key":"<你的 ML-DSA-65 公钥,hex>"}'

水龙头在首次为某地址注资时,会把你发送的公钥绑定到该地址。

命令行钱包 ​

节点仓库中仍保留一个旧的命令行钱包 neurowallet。它早于当前的地址方案(NC_KDF_v3),也不使用 ML-DSA-65 签名,因此当前网络不接受它的地址和交易。请使用 Web 钱包或 JavaScript SDK。