ERC-8004:区块链 AI 代理身份与声誉 - Openclaw Skills

作者:互联网

2026-03-30

AI教程

什么是 ERC-8004 无信任代理?

ERC-8004(及其 TRON 对应版本 TRC-8004)为建立自主代理的无信任身份提供了强大的基础设施。通过利用 Openclaw Skills,开发者可以将代理身份部署为 NFT (ERC-721),维护可验证的声誉评分,并利用 zkML 或 TEE 等独立验证层。这项技能弥合了 AI 自主性与链上问责制之间的鸿沟,确保代理可以在包括 TRON 和 BSC 在内的多个网络中被识别和评估。

该协议赋能了一个多链生态系统,代理可以在其中证明其历史记录和可靠性。无论您是在为 DeFi、数据分析还是社交互动构建代理,Openclaw Skills 都能实现与 ERC-8004 标准的无缝集成,提供直接从命令行或集成工作流管理代理生命周期的必要工具。

下载入口:https://github.com/openclaw/skills/tree/main/skills/spyderjr/8004-skill

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install 8004-skill

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 8004-skill。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

ERC-8004 无信任代理 应用场景

  • 在 TRON 或 BSC 上将自主 AI 代理注册为链上身份 (NFT)。
  • 为代理间 (A2A) 交互构建去中心化声誉系统。
  • 使用 zkML 或 TEE 证明为代理输出实施独立验证。
  • 通过在测试网和主网间同步元数据来管理多链代理存在。
  • 在链上追踪 AI 服务的运行时间、质量和性能指标。
ERC-8004 无信任代理 工作原理
  1. 开发者配置私钥和环境变量以与目标区块链(TRON 或 BSC)进行交互。
  2. 代理元数据(包括服务和端点)在 JSON 模式中定义,并可选择上传到 IPFS。
  3. 注册脚本在身份注册合约上铸造唯一的代理身份。
  4. 客户端或其他代理向声誉注册中心提交签署的反馈和声誉评分。
  5. 验证注册中心通过 TEE 或加密经济质押等外部验证机制提供额外的信任层。

ERC-8004 无信任代理 配置指南

安装必要的依赖项并设置您的私钥,开始将 Openclaw Skills 与 ERC-8004 结合使用:

# 安装依赖项
npm install tronweb

# 设置 TRON 和 BSC 的私钥
export TRON_PRIVATE_KEY="your_64_character_hex_private_key"

在 TRON Nile 测试网上注册代理:

node scripts/register.js --uri "ipfs://your-metadata-hash" --chain tron --network nile

ERC-8004 无信任代理 数据架构与分类体系

Openclaw Skills 使用结构化 JSON 格式进行代理注册和链上元数据管理。

字段 类型 描述
name 字符串 AI 代理的显示名称
services 数组 端点列表(例如 A2A、MCP)及其版本
registrations 数组 多链注册表标识符
supportedTrust 数组 使用的信任模型(例如声誉、TEE)

声誉评分以带有特定标签(如质量、运行时间或延迟)的签署定点数形式存储,以确保高粒度的性能追踪。

name: 8004-skill
description: ERC-8004 Trustless Agents - Register and manage AI agent identities on TRON and BSC blockchains with on-chain reputation tracking

ERC-8004: Trustless Agents on TRON & BSC

On-chain identity, reputation, and validation for autonomous agents on TRON. Now live on TRON Mainnet + BSC Mainnet!

Overview

ERC-8004 provides three registries on TRON and BSC blockchains:

  • Identity Registry - TRC-721 agent identities with registration metadata
  • Reputation Registry - Signed feedback scores between agents/clients
  • Validation Registry - Independent verification (zkML, TEE, stakers)

Multi-Chain: Same protocol works on TRON and BSC (BNB Smart Chain) - both fully deployed!

Quick Reference

Register Agent

# TRON Mainnet
node scripts/register.js --uri "ipfs://..." --chain tron --network mainnet

# TRON Testnet
node scripts/register.js --uri "ipfs://..." --chain tron --network nile

# BSC Mainnet
node scripts/register.js --uri "ipfs://..." --chain bsc --network mainnet

# BSC Testnet
node scripts/register.js --uri "ipfs://..." --chain bsc --network testnet

# Register without URI (set later)
node scripts/register.js --chain tron --network nile

Private Key Setup

# Set once, works for both TRON and BSC
export TRON_PRIVATE_KEY="your_64_character_hex_private_key"

Networks

TRON Networks

Network Status Identity Registry Reputation Registry Validation Registry
Mainnet Live TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy TFbvfLDa4eFqNR5vy24nTrhgZ74HmQ6yat TLCWcW8Qmo7QMNoAKfBhGYfGpHkw1krUEm
Nile Live TDDk4vc69nzBCbsY4kfu7gw2jmvbinirj5 TBVaGd6mBuGuN5ebcvPvRaJo4rtEWqsW6Y TGGkHDHhBzhFcLNcEogAWJkvfFYy4jyrSw
Shasta Live TH775ZzfJ5V25EZkFuX6SkbAP53ykXTcma TTkds2ZZKBTChZHho4wcWAa7eWQTxh5TUT TQBFHtKRiaQjc1xp4LtmmXKYdA7JLN89w3

Note: TRON deployments implement TRC-8004 (TRON version of ERC-8004). Query scripts use compatibility mode:

  • ? Always available: ownerOf, tokenURI (ERC-721 standard)
  • ?? May vary: agentURI, getAgentWallet, agentExists (ERC-8004 extensions)

BSC Networks

Network Status Identity Registry Reputation Registry Validation Registry
BSC Mainnet Live 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58
BSC Testnet Live 0x8004A818BFB912233c491871b3d84c89A494BD9e 0x8004B663056A597Dffe9eCcC1965A193B7388713 0x8004Cb1BF31DAf7788923b405b754f57acEB4272

Note: BSC deployments use full ERC-8004 specification with all standard methods.

Multi-Chain Usage:

# TRON
node scripts/register.js --uri "ipfs://..." --chain tron --network mainnet

# BSC
node scripts/register.js --uri "ipfs://..." --chain bsc --network mainnet

Contract addresses and ABIs in lib/contracts.json.

Registration File Format

{
  "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  "name": "your-agent-name",
  "description": "Agent description...",
  "image": "ipfs://...",
  "services": [
    { "name": "A2A", "endpoint": "https://agent.example/.well-known/agent-card.json", "version": "0.3.0" },
    { "name": "MCP", "endpoint": "https://mcp.agent.tron/", "version": "2025-06-18" }
  ],
  "registrations": [
    { "agentRegistry": "tron:728126428:TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy", "agentId": "1" }
  ],
  "supportedTrust": ["reputation", "crypto-economic", "tee-attestation"]
}

Template at templates/registration.json.

Reputation Scores

The reputation system uses signed fixed-point numbers (value + valueDecimals):

Tag Meaning Example value decimals
quality Quality (0-100) 87/100 87 0
uptime Uptime % 99.77% 9977 2
yield Yield % -3.2% -32 1
latency Latency ms 560ms 560 0

Trust Models

ERC-8004 supports three pluggable trust models:

  • Reputation-based - Client feedback with scores, tags, and metadata
  • Crypto-economic - Stake-secured validation with economic incentives
  • Crypto-verification - TEE attestations and zkML proofs

Dependencies

  • node & npm - JavaScript runtime and package manager
  • tronweb - TRON JavaScript SDK (npm install tronweb)
  • Private key configuration (choose one):
    • Environment variable: TRON_PRIVATE_KEY or PRIVATE_KEY
    • File: ~/.clawdbot/wallets/.deployer_pk
  • IPFS: Set PINATA_JWT for uploads, or upload manually

TRON-Specific Features

Address Format

  • TRON uses Base58 addresses starting with 'T' (e.g., TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy)
  • Scripts automatically handle address conversion

Network Identifiers

  • Mainnet: tron:728126428 (TRON chain ID)
  • Use in registration files: tron:728126428:TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy

Energy & Bandwidth

  • TRON uses Energy and Bandwidth instead of gas
  • Scripts set feeLimit: 1000000000 (1000 TRX max)
  • Actual costs are typically much lower

Resources

Official

  • EIP-8004 Spec - Full specification
  • 8004.org - Official website
  • T@elegrimm Community - Builder ch@t
  • Builder Program - Join the ecosystem

TRON Resources

  • TRON Developers - Official documentation
  • TronScan - Block explorer
  • TronWeb - JavaScript SDK
  • TronGrid - API service

Ecosystem

  • Awesome ERC-8004 - Curated resource list
  • A2A Protocol - Agent-to-Agent protocol TRC-8004 extends

Script Reference

All scripts support multi-chain (TRON + BSC):

  • register.js - Register new agent on-chain
  • query.js - Query agent info and reputation
  • feedback.js - Submit feedback/reputation scores
  • set-uri.js - Update agent metadata URI

Run any script without arguments to see detailed usage information.

Examples

Complete Agent Workflow

# 1. Set private key (works for both TRON and BSC)
export TRON_PRIVATE_KEY="your_private_key"

# 2. Register agent on TRON testnet
node scripts/register.js --uri "ipfs://QmYourHash" --chain tron --network nile

# 3. Query agent info (use ID from step 2)
node scripts/query.js agent 1 --chain tron --network nile

# 4. Submit feedback
node scripts/feedback.js --agent-id 1 --score 95 --tag1 "quality" --chain tron --network nile

# 5. Query reputation
node scripts/query.js reputation 1 --chain tron --network nile

# 6. Update URI if needed
node scripts/set-uri.js --agent-id 1 --uri "ipfs://QmNewHash" --chain tron --network nile

Multi-Chain Examples

# Register on BSC testnet
node scripts/register.js --uri "ipfs://..." --chain bsc --network testnet

# Query agent on BSC mainnet
node scripts/query.js agent 1 --chain bsc --network mainnet

# Submit feedback on TRON mainnet
node scripts/feedback.js --agent-id 1 --score 98 --tag1 "quality" --chain tron --network mainnet

Troubleshooting

"TRON_PRIVATE_KEY not set"

# Option 1: Environment variable (recommended)
export TRON_PRIVATE_KEY="your_64_character_hex_private_key"

# Option 2: File storage
mkdir -p ~/.clawdbot/wallets
echo "your_private_key" > ~/.clawdbot/wallets/.deployer_pk
chmod 600 ~/.clawdbot/wallets/.deployer_pk

"Insufficient balance"

  • Ensure your wallet has TRX for transaction fees
  • Get testnet TRX from Nile Faucet

"Not the owner"

  • Only the agent owner can update URI or metadata
  • Check ownership with query.js agent

Security Notes

  • Never commit private keys to version control
  • Use environment variables for sensitive data
  • Test on Nile testnet before mainnet deployment
  • Verify contract addresses in lib/contracts.json

Compatible with ERC-8004 specification. TRON implementation is TRC-8004.