mcpField
A
adding-builder-codes

adding-builder-codes

github.com/base开发120223 次安装1 天前更新
代码仓库

关于 adding-builder-codes

面向开发者的技能,用于将 Base Builder Codes 集成到链上应用。它按框架指导 ERC-8021 交易归因,涵盖技术栈识别、配置和验证。

主要功能

  1. 01识别 Privy、Wagmi、Viem 或 RPC
  2. 02生成 ERC-8021 dataSuffix
  3. 03在客户端或单笔交易中应用归因
  4. 04涵盖 EIP-5792 Smart Wallet 调用
  5. 05提供归因验证步骤

适用场景

  1. 01为现有 Base 应用添加 Builder Codes
  2. 02为 Web3 应用中的交易添加归因
  3. 03配置 Smart Wallet 调用的归因

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/base/skills --skill adding-builder-codes

安装后在 Claude Code 中输入/adding-builder-codes确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
privy.md
rpc.md
smart-wallets.md
viem.md
wagmi.md

详细介绍

添加 Builder Codes

将 Base Builder Codes 集成到链上应用中。Builder Codes 会在交易调用数据末尾附加 ERC-8021 归因后缀,以便 Base 将活动归因到你的应用,并让你赚取推荐费。无需更改智能合约。

何时使用此技能

当开发者提出以下需求时使用此技能:

  • “为我的应用添加 Builder Codes”
  • “如何在交易中附加 Builder Code?”
  • “我想从 Base 交易中赚取推荐费”
  • “集成 Builder Codes”
  • 设置 Base 上的交易归因

前置条件

  • 从 base.dev > Settings > Builder Codes 获取 Builder Code
  • 用于生成 ERC-8021 后缀的 ox 库:npm install ox

集成工作流

复制此清单并跟踪进度:

Builder Codes Integration:
- [ ] Step 1: Detect framework (Required First Step)
- [ ] Step 2: Install dependencies
- [ ] Step 3: Generate the dataSuffix constant
- [ ] Step 4: Apply attribution (framework-specific)
- [ ] Step 5: Verify attribution is working

框架检测(必需的第一步)

开始实现前,先确定正在使用的框架。

1. 阅读 package.json 并扫描源文件
# Check for framework dependencies
grep -E "wagmi|@privy-io/react-auth|viem|ethers" package.json

# Check for smart wallet / account abstraction usage
grep -rn "useSendCalls\|sendCalls\|ERC-4337\|useSmartWallets" src/

# Check for EOA transaction patterns
grep -rn "useSendTransaction\|sendTransaction\|writeContract\|useWriteContract" src/

# Check Privy version if present
grep "@privy-io/react-auth" package.json
2. 归类到一个框架
框架检测信号
privypackage.json 或导入项中包含 @privy-io/react-auth
wagmipackage.json 或导入项中包含 wagmi(未使用 Privy)
viempackage.json 中包含 viem,且未使用 React 框架
rpc检测到 ethers、window.ethereum 或未检测到 Web3 库

检测到多个框架时的优先级:Privy > Wagmi > Viem > Standard RPC

3. 与用户确认

继续之前,确认检测到的框架:

“我检测到你正在使用 [Framework]。我将采用 [Framework] 方案实现 Builder Codes,可以吗?”

等待用户确认后再开始实现。

实现路径
步骤 2:安装依赖
npm install ox

Wagmi/Viem 路径需要 viem >= 2.45.0。Privy 需要 @privy-io/react-auth >= 3.13.0。

步骤 3:生成 dataSuffix 常量

创建一个共享常量(例如 src/lib/attribution.ts 或 src/constants/builderCode.ts):

import { Attribution } from "ox/erc8021";

export const DATA_SUFFIX = Attribution.toDataSuffix({
  codes: ["YOUR-BUILDER-CODE"], // Replace with your code from base.dev
});
步骤 4:应用归因

按照对应框架的指南操作:

Privy 实现

参阅 references/privy.md — 基于插件,需要更改一处配置。

Wagmi 实现

参阅 references/wagmi.md — 在 Wagmi 客户端配置中添加 dataSuffix。

Viem 实现

参阅 references/viem.md — 在钱包客户端中添加 dataSuffix。

Standard RPC 实现

参阅 references/rpc.md — 对于 ethers.js 或原始 window.ethereum,将 DATA_SUFFIX 附加到交易数据中。

首选方案:在客户端级别进行配置,这样所有交易都会自动归因。仅当需要按条件归因时,才使用逐笔交易方案。

对于 Smart Wallets(EIP-5792 sendCalls):参阅 references/smart-wallets.md — 通过 capabilities 传递。

步骤 5:验证归因
  1. base.dev:在 Onchain > Total Transactions 中检查归因计数
  2. 区块浏览器:查找交易哈希,查看输入数据,确认最后 16 个字节重复为 8021
  3. 验证工具:使用 builder-code-checker.vercel.app

关键事实

  • Builder Codes 是在 Base 上铸造的 ERC-721 NFT
  • 后缀会附加到 calldata 中;智能合约会忽略它(无需升级)
  • Gas 成本可以忽略不计:每个非零字节消耗 16 gas
  • base.dev 上的分析目前支持智能账户(AA)交易;即将支持 EOA(归因数据会保留)
  • Privy 的 dataSuffix 插件会附加到所有链,而不只是 Base。如果需要针对特定链设置行为,请联系 Privy
  • Privy 的 dataSuffix 插件尚不支持 @privy-io/wagmi 适配器

查找交易调用位置

在现有项目中补充集成时,搜索以下模式:

# React hooks (Wagmi)
grep -rn "useSendTransaction\|useSendCalls\|useWriteContract\|useContractWrite" src/

# Viem client calls
grep -rn "sendTransaction\|writeContract\|sendRawTransaction" src/

# Privy embedded wallet calls
grep -rn "sendTransaction\|signTransaction" src/

# ethers.js
grep -rn "signer\.sendTransaction\|contract\.connect" src/

# Raw window.ethereum
grep -rn "window\.ethereum\|eth_sendTransaction" src/

对于客户端级集成(Wagmi/Viem/Privy),通常只需修改配置文件,单个交易调用位置无需更改。

评论

支持 Markdown