ens-primary-name について
ens-primary-name は、Base などの対応チェーンで ENS プライマリ名を設定・検証するスキルです。Bankr CLI でトランザクションを送信し、ENS アバター設定用のスクリプトも備えています。
主な機能
- 01ENS 逆引きレコードの設定
- 02正引き・逆引き解決の検証
- 03Base、Arbitrum、Optimism、Ethereum に対応
- 04ENS アバターの設定
活用シーン
- 01Base での ENS プライマリ名の設定
- 02対応する別チェーンでのプライマリ名設定
- 03ENS 名の解決確認
- 04ENS アバターの更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bankrbot/ skills --skill ens-primary-nameインストール後、Claude Code で/ens-primary-nameを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
catalog.jsonscripts/set-avatar.shset-primary.shverify-primary.sh詳細
ENS プライマリネーム
ENS リバースレジストラを使って、Base やその他の L2 チェーンでプライマリネームを設定します。
プライマリネームを設定すると、双方向のリンクが作成されます。
- 正引き:
name.eth→0x1234...(ENS リゾルバーで設定) - 逆引き:
0x1234...→name.eth(このスキルで設定)
要件
必須:Bankr CLI
このスキルでは、トランザクションの署名に Bankr CLI が必要です。
bun install -g @bankr/cli
bankr login
スクリプトは bankr agent を使って、次のようなトランザクションを送信します。
Submit this transaction: {"to": "0x...", "data": "0x...", "value": "0", "chainId": 8453}
必須:Node.js
スクリプトでは、ENS の namehash 計算と ABI エンコードに viem を使用する Node.js が必要です。
npm install -g viem
クイックスタート
# Set primary name on Base
./scripts/set-primary.sh myname.eth
# Set on specific chain
./scripts/set-primary.sh myname.eth arbitrum
# Verify primary name is set
./scripts/verify-primary.sh 0x1234... base
# Set avatar (L1 only)
./scripts/set-avatar.sh myname.eth https://example.com/avatar.png
対応チェーン
| チェーン | リバースレジストラ |
|---|---|
| Base | 0x0000000000D8e504002cC26E3Ec46D81971C1664 |
| Arbitrum | 0x0000000000D8e504002cC26E3Ec46D81971C1664 |
| Optimism | 0x0000000000D8e504002cC26E3Ec46D81971C1664 |
| Ethereum | 0x283F227c4Bd38ecE252C4Ae7ECE650B0e913f1f9 |
前提条件
- ENS 名を所有または管理していること - 名前が登録済みである必要があります
- 正引き解決が設定されていること - 名前が自分のアドレスに解決される必要があります
- ガス代用のネイティブトークン - 対象チェーン上の ETH
仕組み
- 正引き解決が存在することを確認します(名前 → アドレス)
- チェーン固有のアドレスが設定されていない場合に警告します
setName(string)の calldata をエンコードします- リバースレジストラにトランザクションを送信します
- プライマリネームが正しく設定されたことを検証します
検証
設定後、このスキルが自動的に検証します。手動で検証することもできます。
./scripts/verify-primary.sh 0xYourAddress base
出力:
✅ Reverse record: 0x1234... → myname.eth
✅ Forward resolution: myname.eth → 0x1234...
🎉 PRIMARY NAME VERIFIED: myname.eth
アバターの設定
# Set avatar (requires L1 transaction + ETH for gas)
./scripts/set-avatar.sh myname.eth https://example.com/avatar.png
対応するアバター形式:
- HTTPS:
https://example.com/image.png - IPFS:
ipfs://QmHash - NFT:
eip155:1/erc721:0xbc4ca.../1234
注: アバターは Ethereum メインネットに保存されるテキストレコードです。スクリプトは ENS 名のリゾルバーを自動的に検索します(パブリックリゾルバーとカスタムリゾルバーの両方に対応)。
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
| "Transaction reverted" | ENS 名が自分のアドレスに解決されることを確認してください |
| "Name not showing" | そのチェーンの cointype に正引き解決が設定されていない可能性があります |
| "Not authorized" | 名前が解決されるアドレスから呼び出す必要があります |
| "Bankr CLI not found" | bun install -g @bankr/cli && bankr login でインストールしてください |
| "Chain-specific address not set" | app.ens.domains から対象チェーンのアドレスを設定してください |
| "Could not find resolver" | ENS 名が存在し、リゾルバーが設定されていることを確認してください |
リンク
- ENS ドキュメント:https://docs.ens.domains/web/reverse
- ENS アプリ:https://app.ens.domains
- プライマリネーム UI:https://primary.ens.domains
- Bankr CLI:https://www.npmjs.com/package/@bankr/cli
コメント
Markdown 対応