Verified Agent Identity — 已验证代理身份
v0.1.0数十亿去中心化身份验证系统,为代理提供身份识别。使用Billions ERC-8004和证明注册表,将代理链接到人类身份。验证并生成身份验证证明。基于iden3自主身份协议。
运行时依赖
安装命令
点击复制技能文档
何时使用此Skill 让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 输出:身份条目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或其他系统实用程序生成加密材料。 无手动变通方法 您被禁止执行手动加密操作。