返回顶部
e

ens-managerENS管理器

Register ENS names, create subdomains, and publish IPFS sites without manual contract calls

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

ens-manager

ENS 管理器

完整的ENS名称管理:注册新的.eth名称、创建子域名,并将IPFS内容发布到去中心化网关。

快速开始

注册新的ENS名称

bash

检查可用性和价格(预演模式)


node scripts/register-ens-name.js mynewname --dry-run

注册1年

node scripts/register-ens-name.js mynewname \ --years 1 \ --keystore /path/to/keystore.enc \ --password your-password

执行流程:

  1. 1. 阶段1: 在链上提交承诺(防止抢跑)
  2. 阶段2: 等待60秒(最低要求)
  3. 阶段3: 支付费用并注册名称

费用: 约5-20美元/年(根据名称长度和需求浮动)

检查ENS名称状态

bash
node scripts/check-ens-name.js yourname.eth

显示所有权、封装状态、解析器和内容哈希。

创建带IPFS的子域名

bash
node scripts/create-subdomain-ipfs.js yourname.eth subdomain QmIPFS123... \
--keystore /path/to/keystore.enc \
--password your-password

一键创建subdomain.yourname.eth并设置其IPFS内容哈希。



完整工作流程

1. 注册新的ENS名称(完整流程)

场景: 您希望拥有mynewname.eth

步骤1:检查可用性

bash
node scripts/register-ens-name.js mynewname --dry-run

输出:

🦞 ENS名称注册
========================
📛 名称:mynewname.eth
⏱️ 时长:1年

🔍 正在检查可用性...
✅ 名称可用!

💰 正在计算价格...
注册费用:0.008 ETH
(1年)

✅ 预演完成。

步骤2:注册

bash
node scripts/register-ens-name.js mynewname \
--years 1 \
--keystore ~/.openclaw/workspace/wallet-keystore.enc \
--password keystore-password

执行流程(三个阶段):

阶段1:提交承诺(交易1)

📝 阶段1:正在提交承诺...
承诺:0xabc123...
密钥:0xdef456...
交易哈希:0x789...
等待确认中...

承诺哈希可防止抢跑(他人看到您的交易后,通过提高Gas费抢先提交自己的交易来抢注名称)。

阶段2:等待60秒

⏳ 阶段2:等待60秒(防抢跑保护)...
剩余60秒...
剩余59秒...
...
✅ 等待完成!

此强制等待确保您的承诺在注册前已上链。

阶段3:注册(含支付的交易2)

📝 阶段3:正在注册名称...
发送0.008 ETH...
交易哈希:0xghi789...

🎉 注册完成!

📛 您的ENS名称:mynewname.eth
🔍 在ENS上查看:https://app.ens.domains/mynewname.eth
🔗 注册交易:https://etherscan.io/tx/0xghi789...

后续步骤:
1. 设置地址:ens.domains → 记录 → ETH地址
2. 创建子域名:node create-subdomain-ipfs.js
3. 设置反向记录:ens.domains → 我的账户 → 主名称

总耗时: 约2-3分钟(60秒等待 + 交易确认)
总费用: 注册价格 + 约2-4美元Gas费(10 gwei时)



2. 将网站发布到ENS

场景: 您有一个静态网站,希望发布到meetup.yourname.eth.limo

前置条件

  • - 您拥有yourname.eth(通过步骤1或app.ens.domains注册)
  • 网站文件已就绪
  • IPFS访问权限(本地节点或Infura/Pinata)

步骤

1. 将网站添加到IPFS:

bash
ipfs add -r ./website

输出:added QmABC123... website

2. 创建ENS子域名并设置内容哈希:

bash
node scripts/create-subdomain-ipfs.js yourname.eth meetup QmABC123... \
--keystore ~/.openclaw/workspace/wallet-keystore.enc \
--password keystore-password

3. 访问您的网站:

在任何浏览器中打开https://meetup.yourname.eth.limo!

费用: 约0.05美元(基础费用0.1 gwei时)



3. 更新IPFS内容

场景: 您更新了网站,有了新的IPFS CID

选项A:直接使用viem

javascript
const { createWalletClient, http, namehash } = require(viem);
const { mainnet } = require(viem/chains);
const contentHash = require(content-hash);

const node = namehash(subdomain.yourname.eth);
const encodedHash = 0x + contentHash.encode(ipfs-ns, newCid);

await walletClient.writeContract({
address: PUBLIC_RESOLVER,
abi: [{
name: setContenthash,
type: function,
stateMutability: nonpayable,
inputs: [
{ name: node, type: bytes32 },
{ name: hash, type: bytes }
],
outputs: []
}],
functionName: setContenthash,
args: [node, encodedHash]
});

选项B:使用ENS应用

  1. 1. 访问 https://app.ens.domains/subdomain.yourname.eth
  2. 点击记录
  3. 编辑内容哈希
  4. 粘贴新的IPFS CID
  5. 保存(签署交易)

4. 检查已发布内容

bash
node scripts/check-ens-name.js meetup.yourname.eth

显示当前IPFS CID和eth.limo URL。



合约地址(以太坊主网)

所有操作均使用以下地址:

javascript
// 核心ENS合约
const ENS_REGISTRY = 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e;

// 注册(.eth名称)
const ETHREGISTRARCONTROLLER = 0x253553366Da8546fC250F225fe3d25d0C782303b;

// 封装名称(现代版,带熔断器)
const NAME_WRAPPER = 0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401;

// 默认解析器(最常用)
const PUBLIC_RESOLVER = 0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63;

使用场景:

  • - ENSREGISTRY: 所有名称的基础注册表(所有权、解析器)
  • ETHREGISTRARCONTROLLER: 注册/续费.eth名称(三阶段流程)
  • NAMEWRAPPER: 为封装名称创建子域名
  • PUBLIC_RESOLVER: 将名称解析为地址/内容哈希

三阶段注册流程

为什么需要三个阶段?

问题: 如果您提交注册交易,矿工或机器人可以在内存池中看到它并抢先交易(提交自己的交易,使用更高的Gas费来抢注名称)。

解决方案: 承诺方案可防止此情况:

  1. 1. 提交承诺: 提交(名称+密钥)的哈希值。没有人知道您想要什么名称。
  2. 等待: 至少60秒。您的承诺现已上链并带有时间戳。
  3. 注册: 揭示名称+密钥。由于您的承诺更早,您将获胜。

阶段1:提交承诺

执行过程:
javascript
const commitment = keccak256(
encodePacked(
[string, address, uint256, bytes32, address, bytes[], bool, uint16],
[
name, // mynewname(不含.eth)
owner, // 您的钱包地址
duration, // 31536000(1年,以秒计)
secret, // 随机bytes32(已生成)
resolver, // PUBLIC_RESOLVER
[], // 数据(基础注册为空)
true, // reverseRecord(设置主名称)

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ens-manager-1776114364 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ens-manager-1776114364 技能

通过命令行安装

skillhub install ens-manager-1776114364

下载

⬇ 下载 ens-manager v1.2.0(免费)

文件大小: 35.24 KB | 发布时间: 2026-4-15 12:38

v1.2.0 最新 2026-4-15 12:38
ens-manager 1.2.0 introduces streamlined ENS name management and new IPFS publishing features.

- Register new `.eth` names, create subdomains, and publish IPFS content from the command line, with clear three-phase registration process.
- Supports ENS ownership checks, content hash management, and subdomain creation in a single step.
- Comprehensive quick start and example workflows included.
- Requires Node.js 18+, viem ^1.20.0, and (optionally) content-hash for IPFS support.
- Transparent about required contract addresses and gas costs for most actions.

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

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

p2p_official_large
返回顶部