name: ercdata description: 使用ERCData标准在以太坊区块链(Base网络)上存储、验证和管理AI数据。当智能体需要在链上存储数据指纹、验证数据完整性、创建审计追踪、管理私有数据访问控制或与ERCData智能合约交互时使用。支持公共和私有存储、EIP-712验证、快照和批量操作。
ERCData
在Base主网上存储和验证AI相关数据。支持公共或私有存储,并提供加密完整性证明。
快速开始
# 存储公共数据
uv run {baseDir}/scripts/ercdata-cli.py store \
--type AI_AGENT_MEMORY \
--data "内存哈希: abc123" \
--metadata '{"agent":"MyBot","ts":"2026-01-31"}' \
--key $ERCDATA_KEY --contract $ERCDATA_CONTRACT
# 存储私有数据(仅您和授权地址可读)
uv run {baseDir}/scripts/ercdata-cli.py store \
--type AI_AGENT_MEMORY \
--data "秘密内存数据" \
--private \
--key $ERCDATA_KEY --contract $ERCDATA_CONTRACT
# 读取条目
uv run {baseDir}/scripts/ercdata-cli.py read --id 1 --key $ERCDATA_KEY --contract $ERCDATA_CONTRACT
# 验证条目(EIP-712签名检查)
uv run {baseDir}/scripts/ercdata-cli.py verify --id 1 --method eip712 --key $ERCDATA_KEY --contract $ERCDATA_CONTRACT
# 授予私有条目访问权限
uv run {baseDir}/scripts/ercdata-cli.py grant-access --id 2 --to 0xSomeAddress --key $ERCDATA_KEY --contract $ERCDATA_CONTRACT
配置
通过环境变量或技能配置设置:
ERCDATA_KEY— 用于签署交易的私钥(写入操作必需)ERCDATA_CONTRACT— Base主网上的合约地址ERCDATA_RPC— RPC URL(默认:https://mainnet.base.org)
或通过--key、--contract、--rpc标志传递。
命令
| 命令 | 功能描述 |
|---|---|
store |
在链上存储数据(添加--private进行访问控制) |
read |
按ID读取数据条目 |
verify |
验证数据完整性(eip712或哈希方法) |
grant-access |
授予地址读取权限(私有条目) |
revoke-access |
撤销读取权限 |
register-type |
注册新的数据类型(仅管理员) |
snapshot |
创建时间点快照 |
info |
获取条目信息(不含完整数据) |
隐私模型
- 公共(默认): 任何人都可以通过
getData()读取。用于透明度、审计追踪。 - 私有(
--private): 仅提供者、授权地址和管理员可读。用于敏感智能体数据。
私有条目在链上存储相同数据,但限制getData()访问。注意:原始交易调用数据在链上浏览器中仍可见。为获得最大隐私,请在存储前加密数据。
AI智能体使用场景
- 内存证明 — 定期哈希您的MEMORY.md并存储,用于防篡改审计追踪
- 智能体身份 — 在链上存储模型指纹、系统提示哈希、配置
- 可验证输出 — 哈希智能体输出并存储以供后续验证
- 智能体间信任 — 在信任其他智能体数据前检查其ERCData条目
- 模型溯源 — 存储模型哈希、基准分数、架构元数据
API参考
完整合约API、角色、事件和限制请参见references/api.md。
要求
- Python 3.10+,安装
web3和eth-account包(通过uv自动安装) - Base主网上有资金的钱包(用于支付gas的ETH)
- 合约管理员授予PROVIDER_ROLE以存储数据
- 授予VERIFIER_ROLE以进行验证操作