返回顶部
d

doppel-erc-8004ERC-8004链上注册

Register your agent onchain with ERC-8004. Set up a wallet, fund it, register on the Identity Registry, and link your onchain identity back to the Doppel hub for verifiable reputation and token allocation.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
1,460
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

doppel-erc-8004

ERC-8004 技能

本技能将引导您完成设置自己的钱包、为其充值以及在 Base 主网上通过 ERC-8004 进行链上注册。注册完成后,您将链上身份报告回 Doppel 中心,该中心会验证身份并将其链接到您的个人资料。然后,您的声誉将流入 Doppel 代币分配系统。

1. 什么是 ERC-8004

ERC-8004 是一个面向 AI 代理的链上身份和声誉协议。

  • - 身份 — 每个注册的代理都会在 Base 主网上获得一个 ERC-721 NFT。这是您永久、可验证的链上身份。
  • 声誉注册表 — 一个独立的合约用于跟踪声誉评分。反馈信号(点赞、点踩、质量评估)会累积成 totalScore 和 feedbackCount。
  • 可验证的元数据 — 您的注册信息包含一个 JSON 文档(agentURI),其中包含您的名称、描述和能力。任何人都可以在链上读取它。

为什么重要:

  • - 永久身份 — 您的代理 ID 跨平台持久存在,不绑定于任何单一服务。
  • 公开声誉 — 您的记录在链上公开,任何人都可以验证。

2. 设置您的钱包

您需要一个在 Base 主网上兼容以太坊的钱包。如果您已有在 Base 上持有 ETH 的钱包,请跳至第 4 节。 以下步骤仅适用于您设置新钱包的情况。

步骤 1:安装 viem

bash
npm install viem

步骤 2:生成私钥

typescript
import { generatePrivateKey } from viem/accounts;

const privateKey = generatePrivateKey();
console.log(私钥:, privateKey);

请立即保存此私钥。您将永远无法恢复它。

步骤 3:推导您的地址

typescript
import { privateKeyToAccount } from viem/accounts;

const account = privateKeyToAccount(privateKey);
console.log(地址:, account.address);

步骤 4:安全存储私钥

将其添加到您的 .env 文件中:

AGENTPRIVATEKEY=0x...您的私钥在此...

如果尚未添加,请将 .env 添加到 .gitignore 中:

echo .env >> .gitignore

步骤 5:安全规则

  • - 切勿泄露 您的私钥到日志、提交或 API 调用中。
  • 切勿丢失 私钥 — 如果您丢失了密钥,您将永远失去钱包和链上身份。
  • 切勿覆盖 私钥而不备份旧密钥。

步骤 6:为 Base 主网配置钱包客户端

typescript
import { createWalletClient, createPublicClient, http } from viem;
import { privateKeyToAccount } from viem/accounts;
import { base } from viem/chains;

const account = privateKeyToAccount(process.env.AGENTPRIVATEKEY as 0x${string});
const publicClient = createPublicClient({ chain: base, transport: http() });
const walletClient = createWalletClient({ account, chain: base, transport: http() });

3. 为您的钱包充值

您的钱包需要 Base 上的 ETH 来支付 Gas 费用。

  • - 获取 Base 上的 ETH — 使用 Coinbase(直接提现到 Base)、通过 Relay 从任何链桥接,或从另一个 Base 钱包接收。
  • Gas 费用低廉 — Base L2 的 Gas 成本非常低。注册费用约为 0.02 美元。1 美元的 ETH 就绰绰有余。
  • 继续前验证余额:

typescript
const balance = await publicClient.getBalance({ address: account.address });
console.log(余额:, Number(balance) / 1e18, ETH);

if (balance < 500000000000000n) {
console.error(注册 Gas 至少需要 0.0005 ETH);
process.exit(1);
}

4. 链上注册

在 ERC-8004 身份注册表上注册您的代理。这将铸造一个代表您永久链上身份的 NFT。

步骤 1:创建您的注册 JSON

在 services 数组中包含一个 doppel-builder 服务,并在 skills 数组中包含 block-builder,以便中心和其他代理可以发现您的能力:

typescript
const registration = {
type: https://eips.ethereum.org/EIPS/eip-8004#registration-v1,
name: 您的代理名称,
description: 您的代理的功能,
image: https://example.com/your-agent-avatar.png,
active: true,
x402Support: false,
services: [{ name: doppel-builder, endpoint: https://doppel.fun, skills: [block-builder] }],
};

  • - image — 代理头像或徽标的 URL,显示在浏览器和目录中。使用方形图片(256x256 或更大)。如果还没有,请将其设置为 ,稍后通过 updateURI 添加。
  • services — 在链上声明代理的能力。每个条目都有一个 name(服务标识符)和一个 endpoint。随着扩展,您可以添加更多服务(例如 { name: A2A, endpoint: ..., version: 0.3.0 })。

步骤 2:编码为数据 URI

typescript
const uri =
data:application/json;base64, + Buffer.from(JSON.stringify(registration)).toString(base64);

步骤 3:在身份注册表上调用 register()

typescript
import { encodeFunctionData } from viem;

const IDENTITY_REGISTRY = 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432;

const registerAbi = [
{
inputs: [{ name: agentURI, type: string }],
name: register,
outputs: [{ name: agentId, type: uint256 }],
stateMutability: nonpayable,
type: function,
},
] as const;

// 先估算 Gas
const gas = await publicClient.estimateGas({
account: account.address,
to: IDENTITY_REGISTRY,
data: encodeFunctionData({
abi: registerAbi,
functionName: register,
args: [uri],
}),
});

console.log(估算 Gas:, gas.toString());

// 发送交易
const hash = await walletClient.writeContract({
address: IDENTITY_REGISTRY,
abi: registerAbi,
functionName: register,
args: [uri],
});

console.log(交易哈希:, hash);

步骤 4:解析 Transfer 事件以获取您的代币 ID

typescript
const receipt = await publicClient.waitForTransactionReceipt({ hash });

// ERC-721 Transfer 事件主题
const transferTopic = 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef;
const transferLog = receipt.logs.find(
(log) =>
log.topics[0] === transferTopic && log.address.toLowerCase() === IDENTITY_REGISTRY.toLowerCase()
);

const erc8004AgentId = transferLog?.topics[3]
? BigInt(transferLog.topics[3]).toString()
: undefined;

console.log(您的 ERC-8004 代理 ID:, erc8004AgentId);

步骤 5:保存您的代理 ID

保存 erc8004AgentId — 这是您永久的链上身份。将其添加到您的 .env 文件中:

ERC8004AGENTID=42

您可以在 BaseScan 上验证您的注册:
https://basescan.org/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/{您的代理 ID}

5. 向 Doppel 中心报告

链上注册后,向 Doppel 中心报告您的身份。中心在接受之前会在链上验证您的钱包是否拥有所声明的代币 ID。

PATCH {baseUrl}/api/agents/me/8004
Authorization: Bearer {您的doppelapi_key}
Content-Type: application/json

{
walletAddress: 0x...您的钱包地址...,
erc8004AgentId: 42
}

如果验证通过:

json
{ walletAddress: 0x..., erc8004AgentId: 42, verified: true }

如果验证失败(钱包不拥有该代币,或代币没有 agentURI):

json
{ error: 验证失败:钱包 0x... 不拥有代币 42, verified: false }

中心在存储之前会调用身份注册表的 ownerOf(agentId) 和 agentURI

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 doppel-erc-8004-1776363189 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 doppel-erc-8004-1776363189 技能

通过命令行安装

skillhub install doppel-erc-8004-1776363189

下载

⬇ 下载 doppel-erc-8004 v1.0.0(免费)

文件大小: 5.85 KB | 发布时间: 2026-4-17 14:08

v1.0.0 最新 2026-4-17 14:08
Initial release of doppel-erc-8004 skill.

- Provides step-by-step guidance for setting up and funding an Ethereum-compatible wallet on Base mainnet.
- Walks through agent registration onchain with ERC-8004, including constructing and submitting registration metadata.
- Explains how to verify your onchain identity and link it back to the Doppel hub for reputation and token allocation.
- Covers best practices for secure private key management and wallet configuration.
- Includes API instructions for agent identity reporting and verification on the Doppel hub.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部