Ethereum
Ethereumブロックチェーンのデータ取得、残高確認、トランザクション追跡、スマートコントラクトとの対話が可能です。はじめに
セットアップ
利用可能な機能
emmaは16カテゴリに分類された57のツールを提供しています:アカウント
残高、ノンス、コントラクトコードの確認
ブロック
ブロック情報とトランザクション数の取得
トランザクション
トランザクション詳細とレシートの取得
ガス
ガス価格の取得とトランザクションコストの見積もり
ENS
ENS名の解決と逆引き
トークン
ERC20トークン残高とメタデータの取得
ログ・イベント
イベントログの取得とフィルタリング
デバッグ・トレース
トランザクションのトレースとスマートコントラクトのデバッグ
アカウント
残高取得
任意のEthereumアドレスのETH残高を取得します。 プロンプト例:- 「0x123…のETH残高は?」
- 「vitalik.ethの残高を確認して」
- 「このウォレットにはいくらETHがある?」
トランザクション数(ノンス)取得
アドレスから送信されたトランザクション数を取得します。新しいトランザクション作成時に必要です。 プロンプト例:- 「0x123…のノンスは?」
- 「このアドレスは何回トランザクションを送信した?」
コード取得
バイトコードを取得してアドレスがスマートコントラクトかどうかを確認します。 プロンプト例:- 「0x123…はスマートコントラクト?」
- 「このアドレスのバイトコードを取得して」
コントラクト呼び出し
読み取り専用のスマートコントラクト関数を実行します。 プロンプト例:- 「このトークンコントラクトのtotalSupply関数を呼び出して」
- 「USDTコントラクトでこのアドレスのbalanceOfは?」
ブロック
ブロック番号取得
Ethereumの現在の最新ブロック番号を取得します。 プロンプト例:- 「現在のEthereumブロック番号は?」
- 「最新ブロックは?」
ブロック番号で取得
タイムスタンプ、ガス使用量、トランザクションを含む詳細なブロック情報を取得します。 プロンプト例:- 「ブロック19234567を見せて」
- 「最新ブロックの詳細を取得して」
- 「ブロック19000000にはどんなトランザクションがある?」
ブロックハッシュで取得
特定のブロックハッシュを使用してブロック情報を取得します。 プロンプト例:- 「ハッシュ0xabc…のブロックを取得して」
ブロック内トランザクション数
特定のブロック内のトランザクション数を取得します。 プロンプト例:- 「最新ブロックには何件のトランザクションがある?」
- 「ブロック19234567のトランザクション数は?」
トランザクション
トランザクション取得
トランザクションハッシュでトランザクション詳細を取得します。 プロンプト例:- 「トランザクション0xabc…を見せて」
- 「このトランザクションの詳細は?」
- 「誰がこのトランザクションを送信して、いくらETHを送った?」
- 送信者と受信者のアドレス
- 送金額(WeiとETH)
- ガス価格とリミット
- ノンスとステータス(保留中/確認済み)
トランザクションレシート取得
ステータス、使用ガス、イベントログを含むトランザクションの実行結果を取得します。 プロンプト例:- 「トランザクション0xabc…は成功した?」
- 「このトランザクションはどれくらいガスを使った?」
- 「このトランザクションのログを見せて」
- 成功/失敗ステータス
- 使用ガスとトランザクション手数料
- コントラクトアドレス(デプロイの場合)
- 発行されたイベントログ
ブロック内トランザクション取得
インデックス位置でブロックから特定のトランザクションを取得します。 プロンプト例:- 「ブロック19234567の最初のトランザクションを取得して」
- 「最新ブロックのインデックス5のトランザクションを見せて」
ガス
ガス価格取得
ネットワークの現在のガス価格を取得します。 プロンプト例:- 「現在のガス価格は?」
- 「シンプルなETH送金にはいくらかかる?」
- WeiとGweiでのガス価格
- 標準ETH送金の推定コスト
ガス見積もり
特定のトランザクションに必要なガスを見積もります。 プロンプト例:- 「このコントラクト呼び出しにはどれくらいガスが必要?」
- 「0x123…に1ETH送信するガスを見積もって」
手数料履歴取得
EIP-1559トランザクション用の過去のガス手数料データを取得します。 プロンプト例:- 「過去10ブロックのガス価格を見せて」
- 「最近のプライオリティ手数料は?」
ENS(Ethereum Name Service)
ENS名解決
ENS名をEthereumアドレスに変換します。 プロンプト例:- 「vitalik.ethのアドレスは?」
- 「uniswap.ethを解決して」
アドレス逆引き
アドレスに関連付けられたENS名を検索します。 プロンプト例:- 「0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045のENS名は?」
- 「このアドレスにはENS名がある?」
ENSテキストレコード取得
ENS名からテキストレコード(Twitter、GitHub、ウェブサイトなど)を取得します。 プロンプト例:- 「vitalik.ethのTwitterハンドルは?」
- 「uniswap.ethのウェブサイトURLを取得して」
url- ウェブサイトURLavatar- アバター画像description- プロフィール説明com.twitter- Twitterハンドルcom.github- GitHubユーザー名email- メールアドレス
トークン(Alchemy)
トークンツールはRPCプロバイダーとしてAlchemyが必要です。
トークン残高取得
アドレスのすべてのERC20トークン残高を取得します。 プロンプト例:- 「0x123…はどんなトークンを持っている?」
- 「このウォレットのすべてのERC20残高を見せて」
トークンメタデータ取得
ERC20トークンのメタデータ(名前、シンボル、小数点、ロゴ)を取得します。 プロンプト例:- 「コントラクト0x123…は何のトークン?」
- 「このトークンのシンボルと小数点を取得して」
アセット転送履歴取得
ETH、ERC20、NFTを含む過去の転送履歴を取得します。 プロンプト例:- 「0x123…へのすべての転送を見せて」
- 「このアドレスはどんなトークンを受け取った?」
- 「このウォレットのトランザクション履歴を取得して」
external- ETH転送(トップレベル)internal- ETH転送(内部トランザクション)erc20- ERC20トークン転送erc721- ERC721 NFT転送erc1155- ERC1155マルチトークン転送
ログ・イベント
ログ取得
アドレス、トピック、ブロック範囲でフィルタリングしてイベントログを取得します。 プロンプト例:- 「過去100ブロックのUSDTコントラクトからTransferイベントを取得して」
- 「0x123…が発行したすべてのイベントを見せて」
ブロックレシート取得
ブロックのすべてのトランザクションレシートを取得します。 プロンプト例:- 「ブロック19234567のすべてのレシートを取得して」
フィルター
フィルター作成
監視用の新しいイベントフィルターを作成します。 プロンプト例:- 「USDTのTransferイベント用フィルターを作成して」
ブロックフィルター作成
新しいブロック用のフィルターを作成します。 プロンプト例:- 「新しいブロックを監視して」
フィルター変更取得
最後のポーリング以降の新しいイベントを取得します。 プロンプト例:- 「フィルターの新しいイベントを確認して」
フィルター削除
不要になったフィルターを削除します。ストレージ・状態
ストレージ読み取り
特定のスロットでコントラクトから生のストレージを読み取ります。 プロンプト例:- 「コントラクト0x123…のストレージスロット0を読み取って」
アカウント取得
残高、ノンス、コードハッシュを含む完全なアカウント情報を取得します。同期状態確認
ノードがネットワークと同期しているか確認します。 プロンプト例:- 「Ethereumノードは同期している?」
デバッグ・トレース
デバッグツールはデバッグAPIが有効なノード(例:
--http.api debug付きのGeth)が必要です。トランザクショントレース
トランザクションの詳細な実行トレースを取得します。 プロンプト例:- 「トランザクション0xabc…をトレースして」
- 「このトランザクションの内部呼び出しを見せて」
コールトレース
トランザクションを送信せずにコントラクト呼び出しをシミュレートしてトレースします。 プロンプト例:- 「この関数を呼び出したら何が起こるかトレースして」
ブロックトレース
ブロック内のすべてのトランザクションの実行トレースを取得します。トランザクションプール
Txpoolコンテンツ取得
メンプール内の保留中およびキュー中のトランザクションを表示します。 プロンプト例:- 「保留中のトランザクションを見せて」
- 「トランザクションプールには何がある?」
Txpoolステータス取得
保留中およびキュー中のトランザクション数を取得します。Txpool検査
プール内のトランザクションの概要を取得します。高度な機能
署名済みトランザクション送信
署名済みトランザクションをネットワークにブロードキャストします。プルーフ取得
アカウントの状態のMerkleプルーフを取得します。アクセスリスト作成
トランザクション用のEIP-2930アクセスリストを生成します。トランザクションシミュレーション
ブロードキャストせずにトランザクションをシミュレートします(EIP-7702)。サポートされるネットワーク
emmaはカスタムRPCエンドポイントを通じて任意のEVM互換ネットワークをサポートします:| ネットワーク | RPCの例 |
|---|---|
| Ethereum Mainnet | https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY |
| Goerli Testnet | https://eth-goerli.g.alchemy.com/v2/YOUR_KEY |
| Sepolia Testnet | https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY |
| Polygon | https://polygon-mainnet.g.alchemy.com/v2/YOUR_KEY |
| Arbitrum | https://arb-mainnet.g.alchemy.com/v2/YOUR_KEY |
| Optimism | https://opt-mainnet.g.alchemy.com/v2/YOUR_KEY |
トラブルシューティング
RPCエンドポイントが応答しない
RPCエンドポイントが応答しない
- RPC URLが正しいか確認してください
- APIキーが有効か確認してください
- レート制限を超えていないか確認してください
トークンツールが動作しない
トークンツールが動作しない
トークン残高とメタデータツールはRPCプロバイダーとしてAlchemyが必要です。標準のRPCエンドポイントはこれらの拡張メソッドをサポートしていません。
デバッグツールがエラーを返す
デバッグツールがエラーを返す
デバッグとトレースツールはデバッグAPIが有効なノードが必要です。ほとんどの公開RPCプロバイダーはこれらのメソッドを公開していません。自前のノードを実行するか、デバッグAPIをサポートするプロバイダーの使用を検討してください。
ENS解決が失敗する
ENS解決が失敗する
- ENS名が存在し、リゾルバーが設定されていることを確認してください
- ENSはEthereumメインネットでのみ利用可能です
- 一部の名前はすべてのテキストレコードが設定されていない場合があります
ユースケース
ウォレット監視
任意のアドレスの残高、トランザクション、トークン保有を追跡します。
スマートコントラクト分析
コントラクトの状態を読み取り、トランザクションをトレースし、問題をデバッグします。
DeFiリサーチ
トークン転送、流動性イベント、プロトコルとの対話を分析します。
NFT追跡
NFT転送と所有権の変更を監視します。