为 Ironclaw 构建多链支持

发布: (2026年5月1日 GMT+8 23:52)
6 分钟阅读
原文: Dev.to

I’m happy to translate the article for you, but I’ll need the full text of the post (the content you’d like translated). Could you please paste the article’s body here? I’ll keep the source link at the top exactly as you provided and preserve all formatting, markdown, code blocks, and URLs while translating the rest into Simplified Chinese.

什么是 Ironclaw?

对于还未了解它的读者——Ironclaw 是一个受 OpenClaw 启发、用 Rust 实现的项目,专注于隐私和安全。它运行在你的本机上,能够与您指定的任何语言模型对接,并在会话之间记住您告诉它的内容。

教授代理使用 NEAR 账户

计划是 从第一天起就支持多链:我们希望 Ironclaw 能在用户关心的任何链上发送交易。通往“任何链”的路径经过 NEAR,因为 NEAR 上有一个名为 chain‑signatures MPC 合约 的合约(稍后会详细说明)。要使用该合约,代理首先需要能够从用户的 NEAR 账户发送交易。

里程碑 1 – 完全的 NEAR 账户控制

  1. 第一次尝试 – 构建 NEAR 签名工具

    • 将其编译为 WebAssembly,接入 Ironclaw,让代理调用它。
    • 我们碰到了壁垒:Ironclaw 的工具沙箱对密钥有意限制。工具可以查询凭证是否存在,但永远不能读取它。作为工具的签名者根本行不通。
  2. 第二次尝试 – 从 Shell 驱动 near-cli-rs

    • 与其自己构建签名器,我们编写了一个 skill,教会代理如何驱动用户已有的命令行工具(near-cli-rs)。
    • Ironclaw 中的 Shell 访问是可选的,默认关闭;要启用它,需要这样启动代理
    ALLOW_LOCAL_TOOLS=true ironclaw
    • 该 skill 向代理描述了 near-cli-rs 的表面:哪个子命令对应哪个意图,如何组合参数,如何读取输出。

这一次成功了。代理现在可以把类似 “send 0.5 NEAR to bob.testnet” 的句子转换为正确的 near-cli-rs 调用并执行。里程碑达成——虽然 NEAR 账户控制本身已经很有价值,但它真正的重要性在于为后续工作奠定了基础。

通过 NEAR MPC 实现多链

什么是 MPC?

NEAR 在 v1.signer-prod.testnet 上运行一个 MPC 链签名合约。向它提供一个 payload 和一个 (account, path) 对,它会返回由这两个输入确定性派生的密钥生成的签名。

结果: 一个 NEAR 账户 → 每条你会派生的链上无限地址(以太坊、比特币、Solana 等)。

架构

  • near-tool – 一个小型 Rust WASM 工具,执行确定性操作(编码、哈希等)。
  • MPC_SKILL.md – 一个技能文档,教会代理如何使用该工具。
  • near-cli-rs – 第一步中的 shell‑command 管道;它负责实际的 MPC 合约调用。

该工具处理链特定的编码;技能负责编排顺序;near-cli-rs 执行合约交互。

当我发送原始提示时,代理大致按以下顺序执行:

NEAR account + path


1.  get_derived_pubkey                → Sepolia address
                                        (and BTC/Solana too)
2.  evm_parse_value                   → amount in wei (hex)
3.  evm_get_nonce                     → pending nonce
4.  evm_get_gas_price                 → base gas price
5.  evm_get_priority_fee_wei_per_gas → priority fee (+ max fee per gas)
6.  evm_estimate_gas                  → gas limit (20 % buffer)
7.  evm_build_transfer_mpc_payload    → unsigned tx (+ sighash payload)
8.  near-cli-rs sign payload via MPC  → (big_r, s, recovery_id)
9.  evm_attach_mpc_signature_to_tx    → signed tx + tx_hash
10. evm_send_signed_tx                → Etherscan link

设计要点

  • 代理会 逐步 叙述每一步。nonce、gas 估算、未签名交易、原始签名——全部在聊天中展示。
  • 将流程细化(步骤 2‑6 分开)可以得到更清晰的错误模式。如果 RPC 节点不稳定或 gas 估算不准确,代理能够准确定位出错的环节,向用户展示成本后再决定是否提交,并且只对出错的部分进行重试。

接下来

  • Bitcoin and Solana 已经通过相同的弧线实现端到端工作,但它们的流程比 EVM 更粗糙——中间步骤更少,天然的接缝也更少,错误更难显现。
  • 下一步的目标是将它们提升到相同的粒度水平:用于费用估算、UTXO 选择、区块哈希获取等的小动作。

附加资源

  • Ironclaw
  • NEAR MPC contractv1.signer-prod.testnet(参见 NEAR 文档)
  • near-cli-rs
  • near-tool
  • NEAR chain‑signatures docs
  • near-cli-rs skill
  • MPC contractv1.signer-prod.testnet
0 浏览
Back to Blog

相关文章

阅读更多 »

模型越智能,节省越多。

神话:更智能的模型会让插件变得多余。自从 WOZCODE 推出以来,许多 Claude Code 高级用户低声说插件的优势将会消失。