讲师中心 微信公众号

工具推荐

视频效率加速
剧云
剧云

中文短剧剧本制作平台

立刻MV
立刻MV

低成本歌曲 MV、视频生成

AniShort
AniShort

AI短剧协同制作平台

Seko
Seko

AI短剧一键生成成片

Base 8004

Polar Sponsor
爱发电 赞助
.NET 9.0

在 Base 上使用 ERC‑8004 将 AI 代理注册上链:创建钱包并充值,向身份注册表登记以获得永久可验证的身份与信誉。

注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 的 代理 永久 注册 注册 注册

功能概述

注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 注册 的 代理 永久 注册 注册 注册 是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Base-8004 注册指南

本技能将引导你完成自有钱包的创建、充值,以及在 Base 主网通过 ERC-8004 协议完成链上注册。注册成功后,你的 Agent 将获得一个永久、可验证的链上身份,并可开始累积声誉(reputation)。

1. 什么是 ERC-8004

ERC-8004 是一种面向 AI Agent 的链上身份与声誉协议。

  • 身份(Identity) — 每个已注册的 Agent 都将在 Base 主网获得一枚 ERC-721 NFT,作为其永久、可验证的链上身份。
  • 声誉注册表(Reputation Registry) — 由独立合约维护声誉分数。反馈信号(如点赞、点踩、质量评估)将累计为 totalScore 和 feedbackCount。
  • 可验证元数据(Verifiable metadata) — 注册时需提交一份 JSON 文档(即 agentURI),其中包含 Agent 名称、描述及能力声明,任何人都可在链上读取。

为何重要:

  • 永久身份 — 你的 Agent ID 跨平台通用,不绑定于任何单一服务。
  • 公开声誉 — 你的行为记录上链且可被任何人验证。

2. 配置钱包

你需要一个兼容以太坊的钱包,并接入 Base 主网。若你已在 Base 主网拥有含 ETH 的钱包,请直接跳至第 4 节。以下步骤仅适用于全新钱包配置场景。

步骤 1:安装 viem

npm install viem

步骤 2:生成私钥

import { generatePrivateKey } from "viem/accounts";

const privateKey = generatePrivateKey();
console.log("Private key:", privateKey);

请立即保存该私钥。一旦丢失,将无法恢复。

步骤 3:推导地址

import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(privateKey);
console.log("Address:", account.address);

步骤 4:安全存储私钥

将其写入 .env 文件:

AGENT_PRIVATE_KEY=0x...your_private_key_here...

若尚未加入,请将 .env 添加至 .gitignore:

echo ".env" >> .gitignore

步骤 5:安全规范

  • 切勿泄露 私钥——禁止出现在日志、代码提交或 API 请求中。
  • 切勿丢失 私钥——一旦丢失,你将永久失去该钱包及其链上身份。
  • 切勿覆盖 私钥——覆盖前务必备份旧私钥。

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

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

const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY 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 已绰绰有余。
  • 执行前请确认余额:
const balance = await publicClient.getBalance({ address: account.address });
console.log("Balance:", Number(balance) / 1e18, "ETH");

if (balance < 500000000000000n) {
  console.error("Need at least 0.0005 ETH for registration gas");
  process.exit(1);
}

4. 链上注册

在 ERC-8004 身份注册合约(Identity Registry)上注册你的 Agent。此操作将铸造一枚代表你永久链上身份的 NFT。

步骤 1:构建注册 JSON

在 services 数组中声明你的 Agent 能力,便于其他 Agent 和服务发现你的功能:

const registration = {
  type: "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  name: "Your Agent Name",
  description: "What your agent does",
  image: "https://example.com/your-agent-avatar.png",
  active: true,
  x402Support: false,
  services: [
    { name: "A2A", endpoint: "https://your-agent.example.com/a2a", version: "0.3.0" },
    { name: "MCP", endpoint: "https://your-agent.example.com/mcp", version: "0.1.0" },
  ],
};
  • image — 你的 Agent 头像或 Logo 的 URL,将在区块浏览器和目录中展示。建议使用正方形图像(256×256 或更大)。若暂无可用图像,可设为 "",后续通过 setAgentURI 更新。
  • services — 在链上声明 Agent 的能力。每个条目包含 name(服务标识符)、endpoint 和可选的 version。常见服务类型包括 A2A(Agent-to-Agent 协议)与 MCP(Model Context Protocol)。

步骤 2:编码为 Data URI

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

步骤 3:调用 Identity Registry 的 register() 方法

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("Estimated gas:", gas.toString());

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

console.log("TX hash:", hash);

步骤 4:解析 Transfer 事件以获取 Token ID

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

// ERC-721 Transfer 事件 topic
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("Your ERC-8004 Agent ID:", erc8004AgentId);

步骤 5:保存 Agent ID

请妥善保存 erc8004AgentId —— 这是你的永久链上身份。将其添加至 .env 文件:

ERC8004_AGENT_ID=42

你可在 BaseScan 上验证注册状态:
https://basescan.org/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/{your_agent_id}

5. 更新注册信息

完成初始注册后,可通过调用 Identity Registry 的 setAgentURI 方法更新 agentURI(包括名称、描述、服务能力等)。这使你无需重新注册即可新增能力或修改元数据。

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

// 构建更新后的注册 JSON
const updatedRegistration = {
  type: "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  name: "Your Agent Name",
  description: "Updated description",
  image: "https://example.com/your-agent-avatar.png",
  active: true,
  x402Support: false,
  services: [
    { name: "A2A", endpoint: "https://your-agent.example.com/a2a", version: "0.3.0" },
    { name: "MCP", endpoint: "https://your-agent.example.com/mcp", version: "0.1.0" },
  ],
};

const newUri =
  "data:application/json;base64," +
  Buffer.from(JSON.stringify(updatedRegistration)).toString("base64");

const hash = await walletClient.writeContract({
  address: IDENTITY_REGISTRY,
  abi: setAgentUriAbi,
  functionName: "setAgentURI",
  args: [BigInt(process.env.ERC8004_AGENT_ID!), newUri],
});

console.log("URI updated, TX:", hash);

仅代币所有者有权调用 setAgentURI。

6. 合约地址与验证方式

合约名称 地址 所属链
Identity Registry 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 Base 主网
Reputation Registry 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 Base 主网

在 BaseScan 上验证:

链上查询示例(只读,不消耗 Gas):

import { createPublicClient, http } from "viem";
import { base } from "viem/chains";

const client = createPublicClient({ chain: base, transport: http() });

// 查询某 Token 所属地址
const owner = await client.readContract({
  address: "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
  abi: [
    {
      inputs: [{ name: "agentId", type: "uint256" }],
      name: "ownerOf",
      outputs: [{ name: "", type: "address" }],
      stateMutability: "view",
      type: "function",
    },
  ],
  functionName: "ownerOf",
  args: [42n],
});

// 读取 Agent 的元数据 URI
const uri = await client.readContract({
  address: "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
  abi: [
    {
      inputs: [{ name: "tokenId", type: "uint256" }],
      name: "tokenURI",
      outputs: [{ name: "", type: "string" }],
      stateMutability: "view",
      type: "function",
    },
  ],
  functionName: "tokenURI",
  args: [42n],
});

7. 相关资源

  • 8004.org — ERC-8004 协议官网
  • Base — Base L2 区块链
  • BaseScan — Base 区块浏览器
  • viem — TypeScript 版以太坊开发库

总结

  1. 配置钱包 — 生成私钥、推导地址,并安全存储。
  2. 为钱包充值 — 获取 Base 主网 ETH(通过 Coinbase、跨链桥接或转账)。$1 ETH 已完全足够。
  3. 链上注册 — 使用你的服务能力调用 Identity Registry 的 register(agentURI) 方法,并从 Transfer 事件中解析出 Token ID。
  4. 更新注册信息 — 调用 setAgentURI 修改元数据或新增服务能力。
目录

热门AI工具

更多
Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

0

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

0

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn