Ethereum Name Service (ENS) --- 基本
こんにちは、seidou です。
このブログで初めて扱う話題は、Ethereum で名前解決をするための仕組みである Ethereum Name Service (ENS) についてです。
複雑で可読性の無いアドレスを可読性の高い名前として扱えるようにする
Ethereum でお金を送金するときに相手のアドレスが必要になりますよね?このアドレスは、"0x69EA6b31ef305d6….“ のような、0x から始まる数字と大文字小文字を含むアルファベットで構成されています。このアドレスって可読性も無いし、とても覚えられません。
そこで、"seidoutakizawa3.eth" というような形で名前を割当、この名前でも送金を行えるようにする仕組みが ENS です。ENS はインターネットの名前解決サービスである DNS に影響を受けています。
ENS ドメインは必ず末尾が .eth で終わります。.eth の前に与える文字列(サブドメイン)は7文字以上必要になります。英数字、ハイフン、およびアンダースコア以外の文字も使用可能ですが、ウォレットなどアプリケーション側で問題なくサポートされるか保証されていません。
○ catfish.eth × hotdog.eth
https://registrar.ens.domains/ にアクセスしてください。ここで、名前検索ができます。
この画像は catfish を検索した結果です。
“catfish is owned” とありますので、ドメインの所有者がいます。登録日は2017-06-23、"オークション"で 0.21eth を提示した事、2019-06-23に期限が切れることが分かります。
ドメインの所有者は、他人に譲渡したり、subnodes (例えば、goul.seidoutakizawa3.eth) を登録できるようになります。
ENS ドメイン名には価値がある
ENS ドメイン名には価値があります。譲渡性があり貸し出すことができます。
CodeTract - Ethereum Name Service (ENS)
CodeTract で ENS ドメイン名のオークションで最も高い入札(top bid)や預託金額(paid)を調べることができます。darkmarketは 28,555ethが最も高い入札で、20,103.101eth 預託されたことがわかります。
ENS ドメイン名の登録はオークション制になっており、最も高い入札を行った人に使用する権利が与えられます。そして、オーナーは2番目に高い入札金額分のethを預ける必要があります。この eth は、期限が切れた場合や、1年後、権利を破棄する場合に返却して貰えるものです。
更新には少額の手数料が必要になるそうです。
ドメイン名登録とオークション
Chrome ブラウザの拡張機能である Metamask でドメイン名を取得する手順をご紹介します。Metamask 以外にも、Mist, Parity など他のウォレットも使用可能です。
Metamask 以外を利用されたい場合は A beginner’s guide to buying an ENS domain – The Ethereum Name Service – Medium を参考にしてください。
1. ENS Registrar で取得したいドメイン名を検索
Metamask のロックを解除してから、このページを開いてください。フォームに取得したいドメイン名を入力します。
2. 入札条件を設定
入札金額を入力します。0.01eth 以上の金額を入力してください。他にライバルが居ないと思う場合は、0.01eth で問題ありません。
入札金額を隠す事ができます。今回は0で進めます。もし隠したい場合は、入札金額以上を指定します。
手数料をCHEAPERからFASTERの間で設定してください。手数料を多めにするほど早く送金できます。今回は 0.0065eth にします。
“how the process works and my risks and responsibilities involved” を理解して、チェックを入れてください。ここには、オークションの流れや、リスク説明があります。
BIT ボタンを押下すると Metamask がポップアップします。BIT と表示されず LOADING DICTIONARY と表示されている場合は暫く待ってください。
SUBMIT ボタンを押下してください。内容は変更しないでください。
BIT をバックアップします。DOWNLOAD 1 BIDS をクリックします。ブラウザの適当な部分をクリックするとこのポップアップを閉じることができます。
しばらくすると、"You are willing to pay at most: …“ と表示されます。
3. 入札開始
Ethereum Name Service Lookup から現在のステータスを確認することができます。バックアップアップされたファイルから ENS ドメイン名のハッシュを確認できます。"hash" の示す値がハッシュ化されたENS ドメイン名です。Ethereum Name Service Lookup で検索できます。
入札が開始されると、その ENS ドメイン名で startAuctionsAndBid が開始されて status が Auction へ遷移しているでしょう。
72時間後に Reveal Period が開始されます。ブラウザは閉じて構いません。
4. 入札公開(Reveal Period)
72時間後 status が Reveal へ遷移します。
入札を公開するかどうか判断します。公開しない場合、送金したethが消滅します。
公開する場合は ENS Registrar で REVEAL ボタンを押下します。
SUBMIT ボタンを押下してください。内容は変更しないでください。
Action Taken に unsealBid を確認してください。確認できたら、
48時間後にオークションが終了するので、ブラウザは閉じて構いません。
5. オークション終了
48時間後 status が Owned へ遷移します。
- 他に入札者がいなかったので、入札金額分の eth を預けドメイン名の使用権を獲得(成功)
- 他に入札者がいたが、自分が最も高い入札だったので、2番目に高い入札金額分の eth を預けドメイン名の使用権を獲得(成功)
- 他に入札者がおり、他人が最も高い入札だったら、0.5%の手数料を差し引いた金額が返却(失敗)
ドメイン名の使用権を獲得できたら、ドメイン名のセットアップをしましょう。
6. ドメイン名のセットアップ(ドメイン名と自分のアドレスを紐付ける)
ドメイン名のセットアップをする場合は ENS Registrar で SET UP YOUR NAME ボタンを押下します。
SUBMIT ボタンを押下してください。内容は変更しないでください。
Name Info の Owner に自分のアドレスが設定されたか確認してください。
これで、ドメイン名を貴方の自由にできます。
eth-registrar-ens を使えば、前述の操作を自動化させることも可能でしょう。
参照
A developer’s guide to ENS concepts – The Ethereum Name Service – Medium
A quick guide on getting an ENS name and setting it up : ethereum