トップレベルドメインと言えば基本は ICANN が割り当てたものが使えますが、 Web3 界隈では例えば .eth/ や .namebase/ といった、独自のトップレベルドメインを運用することができる仕組みがあります。今回はそんな Web3 ドメインを名前解決できるようにしたい!という記事です。
Web3 ドメインには以下のようなもの1があり:
- Ethereum Name Service (ENS) - https://ens.domains/
- Unstoppable Domains - https://unstoppabledomains.com/
- Handshake (HNS) - https://handshake.org/
ENS は .eth/
TLD を、 Unstoppable Domains は .polygon/
や .u/
TLD を、 Handshake は任意の文字列を TLD として扱うことができる仕組みです。
例えば、わたしは natsuneko.eth や natsuneko.polygon を所有しているので、 natsuneko.eth/ と対応した DNS サーバーへ接続した状態で繋ぐと、 ENS のプロフィールページが表示されます。
同様にして、 Handshake は任意の文字列 (予約済みやすでに取得されている TLD は除く) を TLD にできるので、例えば .natsuneko/
といったものを運用することも可能です。
Web3 ドメインを名前解決できるようにする最も簡単な方法は NextDNS の Web3 関連機能を有効にすることですが、これは長期間壊れていることで有名なので使うことが出来ず、結果的には他の手法を使う必要があります。 今回、普段繋いでいる Tailscale の設定項目を変更することで、 Web3 ドメインの名前解決を可能にしようと思います。
まず、 ENS / Handshake 両方の名前解決が可能な DNS サーバーとして、 HNSDNS が上げられます。
HNSDNS を DNS サーバーとして設定することで設定は出来ますが、 NextDNS の設定も使っておきたい、となった場合、 Tailscale の Split DNS 機能を使うことで解決が可能です。 まず、 Tailscale の DNS タブから、 Nameservers セクションへ移動し、 Custom... にて DNS サーバーを追加します。
Nameserver には 139.144.68.241
/ 139.144.68.242
(IPv4) もしくは 2a01:7e01:e002:c300::
/ 2a01:7e01:e002:c500::
(IPv6) のいずれかもしくはすべてを指定します。
Domain には解決したい TLD を設定します。例えば .eth/ を解決したい場合は eth を、 .natsuneko/ を解決したい場合は natsuneko を設定します。
設定後しばらくしたらブラウザに web.natsuneko/
などと入れると、名前解決がされるはずです。よくできました!
ちなみに NextDNS でフィルタリングしているものはフィルタリングされたままなので、 NextDNS の設定とも共存できています。やったね。 ということで、 Web3 ドメインの名前解決をしたい!という話でした。ではでは。
- ちなみにもう一つ Freename というものがあったりするんですが、あまり良い噂を聞きません。 “ゲーミングドメイン”「.esports」、Googleスタッフから「SEO効果はない」とあっさり斬られる。eスポーツチームにうってつけと宣伝してたのに - AUTOMATON / Freename TLD Web3 Solution vs Handshake TLD Protocol - Sky Include↩