ENS 名を逆解決する方法
目次
- イントロダクション
- ENSとは?
- ENS名を逆引きする理由
- Chainbaseで必要なツール
- Chainbaseで無料アカウントを設定する
- Chainbase APIを使用してスクリプトを作成する
- 逆引きされたENSドメインを表示する
- 結論
- FAQ
1. イントロダクション
イーサリアムネームサービス(ENS)を使用する際に、ENS名を逆引きすることで特定のENS名に関連付けられたアドレスを取得することができます。このプロセスは所有権の確認や名前に関連するスマートコントラクトとのやり取りに役立ちます。この記事では、Chainbase APIを使用してENS名を逆引きする方法を探ってみます。
2. ENSとは?
イーサリアムネームサービス(ENS)は、イーサリアムブロックチェーン上に構築された分散型のドメイン名システムです。これにより、ユーザーはイーサリアムアドレスに対して読みやすい名前を登録し、ブロックチェーンサービスとのやり取りを簡単にすることができます。
3. ENS名を逆引きする理由
特定のENS名に関連付けられたアドレスを見つける必要がある場合、ENS名を逆引きすることが重要です。これは、次のようなさまざまなシナリオで役立ちます。
- 所有権の確認:特定のENS名が特定のアドレスによって所有されているかどうかを確認できます。
- コントラクトとのやり取り:スマートコントラクトがENS名に関連付けられている場合、逆引きして名前からコントラクトのアドレスを見つけることができます。
4. Chainbaseで必要なツール
手順に進む前に、以下のツールを準備してください。
- Chainbaseアカウント:Chainbaseのウェブサイトで無料アカウントを登録し、APIキーを取得してください。
- IDE(統合開発環境):お好みのIDEを使用できますが、ここではJavaScriptの例を示し、VS Codeを使用することをお勧めします。
5. Chainbaseで無料アカウントを設定する
Chainbaseの機能を利用するには、次の手順に従ってください。
- Chainbaseのウェブサイトを訪れて無料アカウントを登録します。
- ログイン後、ダッシュボードに移動して利用可能な機能を確認します。
- ダッシュボードで新しいプロジェクトを作成して、プロジェクトに関連付けられたAPIキーを取得します。
6. Chainbase APIを使用してスクリプトを作成する
Chainbase APIを使用してENS名を逆引きするには、JavaScriptを使用してAPIコールを行うことができます。以下はfetch
関数を使用した例です:
const network_id = '1'; // イーサリアムのチェーンID
const wallet_addr = '0x57511688c0ca7Cc7C25B90aE51C62B64652136Ac';
// 例のウォレットアドレス
fetch(`https://api.chainbase.online/v1/ens/reverse?chain_id=${network_id}&address=${wallet_addr}`, {
method: 'GET',
headers: {
'x-api-key': YOUR_CHAINBASE_API_KEY, // ご自身のAPIキーに置き換えてください
'accept': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data.data))
.catch(error => console.error(error));
または同じ結果を得るためにaxios
ライブラリを使用することもできます:
まず、npm install axios --save
をターミナルで実行してaxios
をインストールします。
const network_id = '1'; // イーサリアムのチェーンID
const wallet_addr = '0x57511688c0ca7Cc7C25B90aE51C62B64652136Ac'; // 例のウォレットアドレス
const axios = require('axios');
const options = {
url: `https://api.chainbase.online/v1/ens/reverse?chain_id=${network_id}&address=${wallet_addr}`,
method: 'GET',
headers: {
'x-api-key': YOUR_CHAINBASE_API_KEY, // ご自身のAPIキーに置き換えてください
'accept': 'application/json'
}
};
axios(options)
.then(response => console.log(response.data.data))
.catch(error => console.log(error));
Chainbaseから取得したYOUR_CHAINBASE_API_KEY
を実際のAPIキーで置き換えてください。
7. 逆引きされたENSドメインを表示する
Chainbase APIのgetENSReverse
エンドポイントは、チェーンIDとウォレットアドレスをパラメーターとして受け取り、逆引きされたENSドメインを返します。データを表示するには、次の手順に従ってください:
- スクリプトを
.js
拡張子のファイルに保存します。 - ターミナルを開き、スクリプトファイルがあるディレクトリに移動します。
node <ファイル名>.js
コマンドを実行します。ここで<ファイル名>
はスクリプトファイルの名前です。- 出力結果には、逆引きされたENSドメイン情報が表示されます。
たとえば、Xiaocongのイーサリアムウォレットアドレスを入力してスクリプトを実行すると、次のようなデータが返されます:
jsonCopy code
[
{
"address": "0x57511688c0ca7cc7c25b90ae51c62b64652136ac",
"expiration_time": "2023-04-17T14:19:21Z",
"name": "lxcong",
"owner": "0x57511688c0ca7Cc7C25B90aE51C62B64652136Ac",
"registrant": "0x57511688c0ca7cc7c25b90ae51c62b64652136ac",
"registrant_time": "2022-04-17T08:30:09Z",
"resolver": "0x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41",
"text_records": {},
"token_id": "63135721284494715790867739452503301817186787830065141439742276093364926543362"
}
]
この例では、Xiaocongのイーサリアムウォレットアドレスの逆引きされたENSドメイン名は「lxcong.eth」となります。
8. 結論
ENS名を逆引きすることで関連付けられたアドレスを取得し、所有権を確認したりスマートコントラクトとやり取りしたりすることができます。Chainbase APIを使用し、この記事で説明した手順に従うことで、イーサリアムや他の互換性のあるチェーン上のENS名を簡単に逆引きできます。
追加の質問やサポートが必要な場合は、以下のFAQセクションをご覧ください。
9. FAQ
1. どんなENS名でも逆引きできますか?
いいえ、逆引きできるのはブロックチェーンに登録されているENS名だけです。登録されていない名前には関連付けられたアドレスがないため、逆引きできません。
2. ChainbaseからAPIキーを取得する方法は?
APIキーを取得するには、[Chainbaseのウェブサイト
](https://chainbase.com/)で無料アカウントを登録し、コンソールで新しいプロジェクトを作成し、プロジェクトに関連するAPIキーを生成してください。
3. 逆引きを何回まで行えるのですか?
アカウントの種類によってリクエストのレート制限や使用制限があります。詳細な情報はドキュメントを参照するか、サポートにお問い合わせください。
4. Chainbase APIとやり取りするのにJavaScript以外の言語を使うことはできますか?
はい、様々なプログラミング言語を使用してChainbase APIにアクセスすることができます。開発環境や好みに合わせて言語を選択できます。こちらでサポートされている言語を確認してください。
5. ENSとその機能について詳しく知りたい場合はどうすればよいですか?
イーサリアムネームサービス(ENS)についてさらに詳しく知りたい場合は、公式のENSドキュメントを参照するか、オンラインで利用可能な追加リソースを探索してください。
Chainbaseについて
ChainbaseはWeb3向けのオールインワンデータインフラストラクチャで、ブロックチェーンデータをインデックス化、変換し、スケールできるようにします。 豊富なブロックチェーンデータとストリーミングコンピューティング技術を活用し、1つのデータインフラストラクチャでブロックチェーンデータのインデックス化とクエリを自動化し、開発者が少ない努力でより多くのことを達成できるようにします。
Chainbaseについてもっと詳しく知りたいですか?
chainbase.comのウェブサイトを訪れて、無料アカウントを作成し、ドキュメントをチェックしてください。
ウェブサイト|ブログ|Twitter|Discord|Link3
The original link:https://chainbase.com/blog/article/how-to-resolve-an-ens-name