SuperAPI AI 工具集

ens-primary-name

部署与运维

查看项目

更新于 10-16 06:57

技能介绍

ENS Primary Name 是一套脚本工具,用于在 Base 及其他 L2 链上设置你的 ENS 主名称。主名称通过 ENS 反向注册器(Reverse Registrar)建立地址到名称的反向解析记录。

双向链接原理 主名称创建双向链接:

  • 正向:name.eth → 0x1234...(在 ENS 解析器中设置)
  • 反向:0x1234... → name.eth(通过本技能设置)

依赖要求 必需:交易签名。本技能需要签名并提交交易的能力,默认查找 bankr 技能(通过 Bankr API 提供钱包功能)。若未安装 bankr,可从 https://github.com/BankrBot/thinkfleet-skills 安装 bankr 技能,或修改脚本使用自己的交易提交方式。脚本会以类似如下提示调用 bankr.sh:Submit this transaction: {"to": "0x...", "data": "0x...", "value": "0", "chainId": 8453}。你可以将各脚本中的 find_bankr() 函数替换为自己的钱包/签名器。 必需:Node.js。脚本使用 Node.js 与 viem 进行 ENS namehash 计算和 ABI 编码。安装命令:npm install -g viem

快速开始

  • 在 Base 上设置主名称:./scripts/set-primary.sh myname.eth
  • 在指定链上设置:./scripts/set-primary.sh myname.eth arbitrum
  • 验证主名称已设置:./scripts/verify-primary.sh 0x1234... base
  • 设置头像(仅 L1):./scripts/set-avatar.sh myname.eth https://example.com/avatar.png

支持的链与反向注册器地址

  • Base:0x0000000000D8e504002cC26E3Ec46D81971C1664
  • Arbitrum:0x0000000000D8e504002cC26E3Ec46D81971C1664
  • Optimism:0x0000000000D8e504002cC26E3Ec46D81971C1664
  • Ethereum:0x283F227c4Bd38ecE252C4Ae7ECE650B0e913f1f9

前提条件

  • 拥有或控制一个 ENS 名称(该名称必须已注册)
  • 已配置正向解析(名称必须能解析到你的地址)
  • 拥有目标链上的原生代币用于支付 Gas(如 ETH)

工作流程

  1. 检查正向解析是否存在(name → address)
  2. 若未设置链专属地址则发出警告
  3. 编码 setName(string) 调用数据
  4. 向反向注册器提交交易
  5. 验证主名称是否正确设置

验证 设置后技能会自动验证。也可手动验证:./scripts/verify-primary.sh 0xYourAddress base 输出示例: ✅ Reverse record: 0x1234... → myname.eth ✅ Forward resolution: myname.eth → 0x1234... 🎉 PRIMARY NAME VERIFIED: myname.eth

设置头像 命令:./scripts/set-avatar.sh myname.eth https://example.com/avatar.png,需 L1 交易与 ETH 支付 Gas。支持的格式:HTTPS(https://example.com/image.png)、IPFS(ipfs://QmHash)、NFT(eip155:1/erc721:0xbc4ca.../1234)。注意:头像是存储在以太坊主网上的文本记录。脚本会自动查找你的 ENS 名称对应的解析器(兼容公共解析器与自定义解析器)。

疑难解答

  • “Transaction reverted”:确保 ENS 名称解析到你的地址
  • “Name not showing”:该链的 cointype 可能未设置正向解析
  • “Not authorized”:必须从名称解析到的地址发起调用
  • “bankr.sh not found”:安装 bankr 技能或修改脚本使用自己的签名器
  • “Chain-specific address not set”:通过 app.ens.domains 设置目标链地址
  • “Could not find resolver”:确保 ENS 名称存在且已设置解析器

自定义与替换签名器 替换脚本中的 find_bankr() 函数,例如改用 cast(foundry): send_tx() { local to="$1" data="$2" chain_id="$3" cast send "$to" --data "$data" --rpc-url "https://..." --private-key "$PRIVATE_KEY" }

相关链接

  • ENS 文档:https://docs.ens.domains/web/reverse
  • ENS 应用:https://app.ens.domains
  • Primary Names UI:https://primary.ens.domains
  • Bankr 技能:https://github.com/BankrBot/thinkfleet-skills

限制说明:该技能本身不提供钱包,需依赖外部签名方式(如 bankr 技能或自行替换);头像设置仅支持以太坊主网(L1);使用前必须已注册 ENS 名称并配置正向解析;目标链需有原生代币支付 Gas。关于收费、价格等未在资料中说明。