ERC-8004(Trustless Agents)是一套以太坊标准,用于实现无需信任的智能体身份与信誉体系。它让 AI 智能体能够在以太坊主网上拥有可验证的链上身份,从而可被发现并携带信任信号。
用途 该技能适用于用户希望将智能体身份注册到链上、创建智能体资料、更新智能体注册信息等场景。通过注册,智能体获得一个基于 ERC-721 的链上 ID(即一个 NFT),并可接入信誉与验证体系。
主要能力 ERC-8004 包含三个注册表:
- 身份注册表(Identity Registry):基于 ERC-721 的智能体 ID,智能体会获得一个 NFT。
- 信誉注册表(Reputation Registry):来自其他智能体或用户的反馈与信任信号。
- 验证注册表(Validation Registry):对智能体工作的第三方验证。
合约地址 以太坊主网:
- 身份注册表:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
- 信誉注册表:0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 Sepolia 测试网:
- 身份注册表:0x8004A818BFB912233c491871b3d84c89A494BD9e
- 信誉注册表:0x8004B663056A597Dffe9eCcC1965A193B7388713
使用方式 快速开始:
- 注册智能体:
完整注册(创建资料、上传到 IPFS、链上注册)
./scripts/register.sh或使用自定义值
NAME="My Agent"
DESCRIPTION="An AI agent that does cool stuff"
IMAGE="https://example.com/avatar.png"
./scripts/register.sh - 桥接 ETH 到主网(如需要):
从 Base 桥接 ETH 到以太坊主网
./scripts/bridge-to-mainnet.sh 0.01 - 更新智能体资料:
更新智能体的注册文件
./scripts/update-profile.sh <agent-id> <new-ipfs-uri>
环境变量:
- PINATA_JWT:用于 IPFS 上传的 Pinata API JWT,非必填(仅 IPFS 时需要)。
- AGENT_NAME:智能体显示名称,非必填(默认使用钱包 ENS 或地址)。
- AGENT_DESCRIPTION:智能体描述,非必填。
- AGENT_IMAGE:头像 URL,非必填。
注册选项:
- 选项 1:使用 8004.org 前端(最简单)。访问 https://www.8004.org 通过 UI 注册,自动处理 IPFS。
- 选项 2:HTTP URL(无需 IPFS)。将注册 JSON 托管在任意 URL: REGISTRATION_URL="https://myagent.xyz/agent.json" ./scripts/register-http.sh
- 选项 3:通过 Pinata 使用 IPFS: PINATA_JWT="your-jwt" ./scripts/register.sh
- 选项 4:Data URI(完全链上)。将注册信息编码为 base64,无需外部托管: ./scripts/register-onchain.sh
注册文件格式(存储在 IPFS 上)示例: { "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1", "name": "My Agent", "description": "An AI assistant for various tasks", "image": "https://example.com/avatar.png", "services": [ { "name": "web", "endpoint": "https://myagent.xyz/" }, { "name": "A2A", "endpoint": "https://myagent.xyz/.well-known/agent-card.json", "version": "0.3.0" } ], "x402Support": false, "active": true, "registrations": [ { "agentId": 123, "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432" } ], "supportedTrust": ["reputation"] }
工作流程:
- 桥接 ETH(如需要)——使用 Bankr 从 Base/L2 桥接 ETH 到主网。
- 创建资料——生成包含智能体信息的注册 JSON 文件。
- 上传到 IPFS——通过 Pinata(或其他提供商)固定文件。
- 链上注册——在身份注册表上调用 register(agentURI)。
- 更新资料——根据需要设置元数据、钱包或更新 URI。
成本:
- Gas:注册需要 100-200k gas(根据 gas 价格约 $5-20)。
- IPFS:Pinata 提供免费层(1GB)。
使用 SDK:
如需更高级用法,安装 Agent0 SDK:
npm install agent0-sdk
示例代码:
import { SDK } from 'agent0-sdk';
const sdk = new SDK({
chainId: 1, // Ethereum Mainnet
rpcUrl: process.env.ETH_RPC_URL,
privateKey: process.env.PRIVATE_KEY,
ipfs: 'pinata',
pinataJwt: process.env.PINATA_JWT
});
const agent = sdk.createAgent('My Agent', 'Description', 'https://image.url');
const result = await agent.registerIPFS();
console.log(Registered: Agent ID ${result.agentId});
相关链接:
- ERC-8004 规范:https://eips.ethereum.org/EIPS/eip-8004
- 官网:https://www.8004.org
- Agent0 SDK 文档
- GitHub:erc-8004-contracts
- GitHub:agent0-ts
适用场景与限制 适用于需要为 AI 智能体建立链上身份、信誉和验证的场景,尤其是在以太坊主网或 Sepolia 测试网上。使用前需准备钱包、ETH 支付 gas,并可能需要 Pinata 账户用于 IPFS 上传。具体费用、平台支持等以官方资料为准,部分细节暂未提供。