服务注册表可以将 HALO 记录绑定到 ERC-8004 身份。 HALO 准备交易数据,验证已确认的链结果,并提供稳定的元数据文档。
#注册流程
- 1创建服务草稿
首先保存描述性元数据和可选的 DNS 意图。
- 2准备注册
调用
prepare-register接收交易数据和确切的 HALO 元数据 URL。 - 3从所有者钱包提交
在配置的链上广播返回的交易。
- 4确认交易
HALO 验证注册事件,
ownerOf、令牌 URI 和绑定身份之前的所有者证明。 - 5激活 URI
如果需要,准备并确认最终的 set-URI 交易。
POST
/api/v1/agents/:id/erc8004/prepare-registerPOST
/api/v1/agents/:id/erc8004/confirm-registerPOST
/api/v1/agents/:id/erc8004/prepare-set-uriPOST
/api/v1/agents/:id/erc8004/confirm-uri#所有者证明
确认操作需要当前链上所有者的签名。当签名丢失时,HALO 在记录或 401 响应中返回准确的所有者验证消息。
#托管元数据
{
"type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
"name": "Schedule Service",
"services": [
{
"name": "Schedule",
"endpoint": "https://service.example.com/runtime",
"version": "v1"
}
],
"x402Support": true,
"active": true,
"registrations": [
{
"agentRegistry": "eip155:{chainId}:{registryAddress}",
"agentId": "{tokenId}"
}
],
"supportedTrust": ["identity-reference"],
"halo": {
"canonicalAgentId": "eip155:{chainId}:{registryAddress}:{tokenId}",
"metadataHost": {
"provider": "agihalo",
"managed": true,
"contentHash": "sha256:..."
}
}
}#DNS 验证
带有 dnsDomain 配置后,HALO 需要一个 TXT 记录,例如_agihalo.example.com包含服务分配的证明值。验证会更新托管元数据,但不会替换钱包所有权。