帝国构建者 AI技能 — SmartVault 金库、排行榜、助推器、准备→执行批量→存储分发、销毁、空投、Clanker 部署。自动配置
帝国建构者技能.是一项面向实际任务的技能,主要用于Empires是社区国库(ERC-4337 SmartVaults on Base 8453和Arbitrium 42161)配对的身份(帝国身份证).;Agents organized HTTP APIs + 钱包-si.。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Empires(帝国) 是社区金库(部署于 Base 8453 和 Arbitrum 42161 的 ERC-4337 SmartVaults),并绑定一个身份标识(Empire ID)。Agent 通过编排 HTTP API 调用与钱包签名交易(如用于发放奖励的 executeBatch)来完成操作。
基础 URL: https://empirebuilder.world —— 仅限主网(mainnet)。 本文档中未提供测试网(testnet)或 sandbox 环境的 API。
依赖包(固定版本): npm install clanker-sdk@4.2.16 viem@2.48.0 —— 版本号需严格匹配 YAML 前置元数据中的声明;自动化流程中应使用 lockfile;请勿使用 @latest,以确保可复现性。
技能副本校验: 若你从 homepage 同步该技能文件,请在脚本中实际使用前,先将其与可信代码检出版本进行 diff 校验。
该集成接口的设计目标是直接对接 生产环境链,且所有写操作均需具备金库合约中 owner() 的链上权限。“安全加固”(hardening)应由 产品代码、基础设施及运维工具链 承担——本技能文档仅描述 API 与合约的接口形态。
8453 / Arbitrum 42161 上的操作将立即影响链上状态。distribute-prepare + owner 主动广播 executeBatch 是官方定义的标准 API 流程;SmartVault 合约要求调用方必须为链上 owner()(参见 references/contracts.md)。POST /api/store-distribution 的输入必须基于已上链确认的 transactionHashes(即 receipt 可验证的交易哈希):所记录的发放行为严格对应 链上实际执行结果,而非仅依据 prepare 阶段提交的 JSON。你仍须正确传入 empireAddress、baseToken(即 Empire ID)以及排行榜相关字段,以确保数据行归属到正确的 Empire(详见 http-api.md)。模型通常仅优先加载 SKILL.md。请将本文件视为 路由指引与约束说明。在编写 HTTP 请求体、签名流程或多步骤交互逻辑前,务必打开下方列出的参考文档——否则极易遗漏关键字段(例如 signer 与 signerAddress 的区别、leaderboardType 的合法取值、booster 的 payload 结构等)。对于 单条端到端流水线场景(尤其是发放奖励),请严格遵循 references/workflows.md 中的步骤顺序执行。
若出现以下任一情况,请立即中止并选用其他方案:
executeBatch)实现共签者(co-signer)签名——这与本技能所述的 “prepare → owner 广播 → store” 流程完全不同。请使用网页应用内置流程(或其专用前端客户端代码),而非这些 HTTP 接口。execute/executeBatch 方法(会因 Unauthorized 错误回滚),也 无法 触发 POST /api/distribute-prepare —— 该接口明确要求调用方为 owner()。如果你是共签者,请选择:(a) 通过网页应用触发 UserOp,或 (b) 升级权限至金库 owner。/alchemy-sponsor-userop 的辅助函数,或旧版 distribute-v3 接口嫁接到当前流程中。deploy-empire 的对接逻辑。/sepolia/...、chainId: 84532 或 staging 域名等非官方路径。transfer 方法从持有钱包发起——金库角色、prepare/store 流程及 distribution 接口均不适用。三种输入格式均可解析为 同一个 Empire,但它们 均不等于 SmartVault 合约地址:
| 格式 | 示例 | 常见使用位置 |
|---|---|---|
| 代币制 Empire | 0x + 40 位十六进制字符(即 ERC‑20 基础代币地址) |
多数 tokenAddress / baseToken 参数 |
| Farcaster 无代币制 | fid + 数字(例如 fid12345) |
锚定至 Farcaster fid 的无代币 Empire |
| 自定义无代币 slug | 纯字母数字 slug | 采用自定义身份的无代币 Empire |
tokenAddress、baseToken、empire_id 形式出现,或作为路径段出现在 /api/empires/[empire_id] 中。empire_address / empireAddress / treasuryAddress。可通过 GET /api/empires/[empire_id] 接口解析获得。fid… 类 Empire ID,也不可在要求 Empire ID 的位置(例如 store-distribution 接口,它同时需要两者且字段名不同)传入 SmartVault 地址。详见 references/http-api.md → Empire ID 小节中的完整类型对照表。
Agent 所需的一切内容均严格限定在 skill/ 目录内——不依赖其他任何目录。
| 文件 | 作用 |
|---|---|
SKILL.md(本文档) |
范围界定、规则说明、整体定位 |
references/http-api.md |
权威 HTTP 接口列表、认证方式、Empire ID 定义、关键 JSON 结构 |
references/workflows.md |
端到端完整流程(部署、发放、销毁等) |
references/contracts.md |
SmartVault execute / executeBatch 方法说明及支持链列表 |
目录保真度(Catalog fidelity)。 仅可使用 references/http-api.md 中明确定义的接口路径与语义。禁止自行构造路径或拼接未经文档说明的复合 URL。
认证机制。 在 references/http-api.md 明确要求处,必须发送 x-api-key 请求头。写操作通常还需提供符合 EIP-191 标准的 signature、message,以及 signer 或 signerAddress 字段——请严格按各接口文档指定的字段名传递。
金库发放(Treasury payouts)。 标准集成流程为:POST /api/distribute-prepare → 金库 owner() 钱包提交 executeBatch 交易(你承担 Gas 费用)→ POST /api/store-distribution。除非完全在官方网页应用内工作(走的是另一套 pipeline),否则不得用任意 sponsor/UserOp 教程替代此流程。
POST /api/distribute-prepare 的签名者必须与金库合约的 owner() 地址完全一致——不支持 共签者(co-signers)或 SmartVault “授权签名者”(authorized signers)。这些地址虽可在网页应用中授权 UserOperations(通过 EntryPoint 调用赞助型 executeBatch),但 无法 使用本 API 路径,也 无法 以普通 EOA 交易调用金库的 execute 或 executeBatch 方法(合约将返回 Unauthorized 错误)。详见 references/contracts.md。在 其他 接口中,“恢复出的 signer” 可能根据后端规则被校验是否属于 owner 或 co_emperors —— 请勿假设其校验逻辑与 distribute-prepare 完全相同。
Empire ID 与 SmartVault 地址区分。 如前所述,tokenAddress / baseToken / empire_id 表示 身份(ERC‑20 地址、fid… 或 slug);empireAddress / treasuryAddress 表示 链上金库合约。混淆二者是最常见的技能误用原因——在发送任何写请求前,请务必核对字段名与 references/http-api.md 是否一致。
销毁(Burns)。 销毁行为需从销毁交易的 receipt 中解码:对 Empire 基础代币(或 tokenless 情况下所绑定的基础代币)向 0x000…0000 或 0x000…dEaD 发起 ERC‑20 Transfer,随后调用 POST /api/store-burn。若代币位于 SmartVault 内部,则仅 owner() 可发起直接的金库 execute / executeBatch;共签者需通过 网页应用 发起赞助型 executeBatch UserOps(Base / Arbitrum)完成金库内代币销毁。若代币位于 其他任意钱包 中,则由该钱包直接调用 transfer 至销毁地址——无需金库角色参与。
| 领域 | 机制 |
|---|---|
| 读操作(Reads) | 大部分为开放 GET 接口;部分接口需 API Key(详见 references/http-api.md) |
| 排行榜发放(Leaderboard payouts) | prepare(owner 签名)→ transactions[] → owner 广播 executeBatch → store-distribution |
| 销毁(Burns) | 已上链交易中包含有效 Transfer → store-burn;金库内销毁:owner 自付 Gas 调用 execute,或共签者通过网页应用发起赞助型 executeBatch UserOps |
| Boosters | references/http-api.md —— /api/boosters/... |
| 代币部署(Token deploy) | get-token-config → Clanker SDK 部署 → deploy-empire |
references/workflows.md,逐步演示使用排行榜 main 及两个 ERC‑20 代币完成发放准备的全过程。store-distribution 接口的 curl 请求骨架。baseToken 与 empireAddress 含义不同。| HTTP 状态码 | 含义 |
|---|---|
400 |
参数错误 |
401 |
API Key 或签名无效 |
403 |
禁止访问(Forbidden) |
404 |
资源未找到 |
429 |
请求频率超限(Rate limited) |
500 |
服务端错误——建议带退避策略重试 |
references/http-api.mdreferences/workflows.mdreferences/contracts.md相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章