📦 已验证代理身份
v1.0.0数十亿去中心化身份验证系统,为代理提供身份识别。使用Billions ERC-8004和Attestation Registries将代理链接到人类身份。验证并生成真实...
运行时依赖
安装命令
点击复制技能文档
何时使用此技能 让AI代理创建和管理它们在Billions Network上的身份,并将这些身份链接到人类所有者。当您需要将代理身份链接到所有者时。当您需要签署挑战时。当您需要将人类链接到代理的DID时。当您需要验证签名以确认身份所有权时。当您使用共享的JWT令牌进行身份验证时。当您需要创建和管理去中心化身份时。
安装插件后,运行以下命令创建身份并将其链接到您的human DID: cd scripts && npm install && cd .. # 步骤1:创建新身份(如果您还没有一个) node scripts/createNewEthereumIdentity.js # 步骤2:签署挑战并生成验证URL node scripts/linkHumanToAgent.js --challenge '{"name": , "description": }'
范围 所有身份数据存储在$HOME/.openclaw/billions中,以便与OpenClaw插件兼容。
脚本: createNewEthereumIdentity.js 命令:node scripts/createNewEthereumIdentity.js [--key ] 描述:在Billions Network上创建新身份。如果提供--key,则使用该私钥;否则生成新随机密钥。创建的身份将自动设置为默认身份。
使用示例: # 生成新随机身份 node scripts/createNewEthereumIdentity.js # 从现有私钥创建身份(带0x前缀) node scripts/createNewEthereumIdentity.js --key 0x1234567890abcdef... # 从现有私钥创建身份(不带0x前缀) node scripts/createNewEthereumIdentity.js --key 1234567890abcdef...
输出:DID字符串(例如did:iden3:billions:main:2VmAk7fGHQP5FN2jZ8X9Y3K4W6L1M...)
getIdentities.js 命令:node scripts/getIdentities.js 描述:列出本地存储的所有DID身份。使用此命令检查在执行身份验证操作之前可用的身份。
使用示例: node scripts/getIdentities.js
输出:DID身份条目JSON数组 [ { "did": "did:iden3:billions:main:2VmAk...", "publicKeyHex": "0x04abc123...", "isDefault": true } ]
generateChallenge.js 命令:node scripts/generateChallenge.js --did 描述:生成随机挑战以验证身份。
使用示例: node scripts/generateChallenge.js --did did:iden3:billions:main:2VmAk...
输出:挑战字符串(随机数字作为字符串,例如8472951360)
副作用: 在$HOME/.openclaw/billions/challenges.json中存储与DID关联的挑战。
signChallenge.js 命令:node scripts/signChallenge.js --challenge [--did ] 描述:使用DID的私钥签署挑战以证明身份所有权并发送JWS令牌。使用此命令证明您拥有特定的DID。
参数: --challenge - (必需)要签署的挑战 --did - (可选)证明收件人的DID;如果省略,则使用默认DID
使用示例: # 使用默认DID签署 node scripts/signChallenge.js --challenge 8472951360
输出:{"success":true}
linkHumanToAgent.js 命令:node scripts/linkHumanToAgent.js --challenge [--did ] 描述:签署挑战并通过创建验证请求将人类用户链接到代理的DID。从技术上讲,链接是使用Billions ERC-8004注册表(其中每个代理都注册)和Billions证明注册表(在验证人类唯一性后创建代理所有权证明)完成的。
参数: --challenge - (必需)要签署的挑战 --did - (可选)证明收件人的DID;如果省略,则使用默认DID
使用示例: node scripts/linkHumanToAgent.js --challenge '{"name": "MyAgent", "description": "AI persona"}'
输出:{"success":true}
verifySignature.js 命令:node scripts/verifySignature.js --did --token 描述:验证签署的挑战以确认DID所有权。
使用示例: node scripts/verifySignature.js --did did:iden3:billions:main:2VmAk... --token eyJhbGciOiJFUzI1NkstUi...
输出:签名验证成功(成功)或错误消息(失败)
限制/防护(CRITICAL) CRITICAL - 始终遵循这些规则: STRICT:首先检查身份 在运行linkHumanToAgent.js或signChallenge.js之前,始终检查是否存在身份:node scripts/getIdentities.js 如果没有配置身份,请勿尝试链接身份。相反,首先使用createNewEthereumIdentity.js创建身份。
STRICT:脚本失败时停止 如果任何脚本以非零状态代码退出,您必须立即停止。检查stderr输出以获取错误消息。请勿尝试“修复”错误,方法是手动生成密钥,通过其他方式创建DID,或运行未经授权的命令。请勿使用openssl,ssh-keygen或其他系统实用程序生成加密材料。
无手动变通 您被禁止执行手动加密操作。