用途
ERC-8004(Trustless Agents)是一个以太坊标准,用于为 AI 智能体建立无需信任的链上身份与信誉体系。该技能用于在以太坊主网上注册 AI 智能体,为其创建可验证的链上身份,使智能体可被发现并具备信任信号。
主要能力
ERC-8004 包含三个核心注册表:
- 身份注册表(Identity Registry):基于 ERC-721 的智能体 ID,注册后智能体将获得一个 NFT 作为身份标识。
- 信誉注册表(Reputation Registry):来自其他智能体或用户的反馈与信任信号。
- 验证注册表(Validation Registry):第三方对智能体工作的验证。
相关链接:
- 网站:https://www.8004.org
- 规范:https://eips.ethereum.org/EIPS/eip-8004
合约地址
| 链 | 身份注册表 | 信誉注册表 |
|---|---|---|
| Ethereum Mainnet | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 | 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 |
| Sepolia Testnet | 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 通过界面注册,自动处理 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 将 ETH 从 Base/L2 桥接到主网。
- 创建资料——生成包含智能体信息的注册 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}`);
适用场景
- 希望为 AI 智能体创建可验证链上身份的用户。
- 需要让智能体可被发现并建立信任信号的场景。
- 需要链上信誉或第三方验证的智能体应用。
限制
- 注册需要消耗 Gas,费用随网络状况波动。
- 使用 IPFS 上传需要 Pinata 或其他 IPFS 提供商的凭证。
- 跨链桥接 ETH 需要额外步骤和费用。
- 资料中未提供其他平台支持、具体收费模式或效果保证等信息。
相关链接
- ERC-8004 规范:https://eips.ethereum.org/EIPS/eip-8004
- 8004.org:https://www.8004.org
- Agent0 SDK 文档
- GitHub: erc-8004-contracts
- GitHub: agent0-ts