Skip to main content
本指南展示如何使用规范的 Tokenbound ERC-6551 v3 部署,在 Monad 上为任何 NFT 提供其专属账户(钱包)。完整技术栈已在 Monad 主网和测试网上线,使用与以太坊和 Base 相同的规范地址,因此标准的 @tokenbound/sdk 无需任何自定义合约配置即可使用。

什么是 ERC-6551?

ERC-6551 为每个 ERC-721 NFT 赋予其专属的智能合约账户 —— 即”代币绑定账户”(token-bound account,TBA)。该账户由当前持有该 NFT 的人拥有,因此该账户所拥有或可执行的任何内容,都会随着 NFT 的转移自动转移。 具体来说,代币绑定账户可以:
  • 持有资产 —— ERC-20 代币、其他 NFT 以及原生 MON。
  • 执行任意交易,由当前 NFT 持有者授权。
  • 作为游戏、代理、会员资格和忠诚度计划的身份或库存。
由于账户是通过共享的、无需许可的注册表以确定性方式创建的,给定 NFT 的账户地址可以事先预知,并且在部署该标准的每条链上都是相同的。

主要优点

  • 所有权跟随 NFT:转移 NFT 后,其整个账户 —— 包括资产和权限 —— 会随之原子性地移动,无需任何迁移步骤。
  • 确定性地址:NFT 的账户地址由 (chainId, tokenContract, tokenId, implementation, salt) 计算得出,因此可以在账户尚未部署之前于链下推导出来。
  • 钱包侧无需学习新标准:TBA 是一种智能账户,与现有工具和 ERC-4337 账户抽象兼容。
  • 开箱即用:Monad 使用规范的 Tokenbound 合约,部署在其标准的跨链地址上,因此现有的 ERC-6551 应用和 Tokenbound SDK 只需修改配置即可指向 Monad。

Monad 上的规范部署

Tokenbound ERC-6551 v3 技术栈以其规范的、确定性地址部署在 Monad 主网(chain ID 143)Monad 测试网(chain ID 10143) 上。两个网络上的地址完全相同,并与以太坊/Base 部署一致。所有合约均已在 MonadscanMonadVision 上完成源码验证。 V3 账户实现已连接到 ERC-4337 EntryPoint v0.6,地址为 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789(测试网),该合约在 Monad 上也已上线。

使用 Tokenbound SDK 快速开始

安装 SDK 和 viem:
将客户端指向 Monad。由于 Monad 的部署使用规范的 v3 地址,而这些地址正是 SDK 的默认值,因此您只需提供链信息 —— 无需任何自定义合约地址:
请显式传递 viem 的 chain 对象(monad / monadTestnet)。仅通过 chainId 识别 Monad(例如 chainId: 143)需要将 Monad 注册到 SDK 内置的链列表中 —— 这项变更在 tokenbound/sdk 上游中被跟踪。要求 viem ≥ 2.40.0,这是首个导出 monad 主网链的版本。
派生 NFT 的账户地址(具有确定性 —— 在账户部署之前即可推导),然后创建它:
创建后,该账户由 NFT 的当前持有者控制。持有者可以通过它执行交易:
转移底层 NFT 后,账户的控制权 —— 以及它所持有的一切 —— 会自动转移给新所有者。无需任何进一步操作。

注意事项与限制

  • Monad 上未启用跨链执行。 核心 TBA 技术栈已完整部署,但支持 Tokenbound 跨链调用的可选 LayerZero V2 executor 尚未部署。同链账户创建、所有权解析和执行均正常工作。

资源

需要帮助?

加入 Monad 开发者 Discord