Ethereum Gateway がサポートする API メソッドの一覧は次のとおりです。未対応のメソッドが指定されると、ゲートウェイは 403 を返します。
JSON-RPC API メソッドの完全な一覧は、JSON-RPC 仕様 ↗ を参照してください。
EVM トレースは、Ethereum ブロックチェーン上のスマートコントラクトの実行を追跡する方法です。Ethereum Virtual Machine(EVM)がスマートコントラクトを実行するときに踏んだすべてのステップを記録します。実行した具体的な操作、消費した gas、その結果としてブロックチェーンに生じた変更などの情報が含まれます。trace モジュールは、開発者がこれらのトレースにアクセスして分析するためのツールです。デバッグ、テスト、スマートコントラクトの監視に役立ちます。エラーの特定と修正、パフォーマンスの最適化、スマートコントラクトがブロックチェーンとどうやり取りしているかの把握に使えます。
trace_filter メソッドは、1 回のリクエストで複数トランザクションのトレースを取得します。Ethereum ブロックチェーン上の特定アドレスのデバッグと監視に特に役立ちます。
fromBlock:QuantityまたはTag- (オプション)トレースの受信を開始するブロック番号です。toBlock:QuantityまたはTag- (オプション)トレースの受信を終了するブロック番号です。fromAddress:Array- (オプション)トレースの受信を開始するアドレスの配列です。toAddress:Address- (オプション)トレースの取得を終了するアドレスの配列です。after:Quantity- (オプション)トレース番号のオフセットです。count:Quantity- (オプション)返すトレースの件数です。
このメソッドは、指定したフィルターに一致するトレースの Array を返します。
curl https://web3-trial.cloudflare-eth.com/v1/mainnet \
-X POST \
-H 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0",
"method":"trace_filter",
"params":[
{
"count": 200,
"fromBlock": "0xccb943",
"toBlock": "0xccbc62",
"fromAddress": [
"0xEdC763b3e418cD14767b3Be02b667619a6374076"
]
}
],
"id":1
}'{
"jsonrpc": "2.0",
"result": [
{
"action": {
"from": "0xedc763b3e418cd14767b3be02b667619a6374076",
"callType": "call",
"gas": "0x8462",
"input": "0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"to": "0x7ff4169a6b5122b664c51c95727d87750ec07c84",
"value": "0x0"
},
"blockHash": "0x351e7c06ec010c8f7e7358eb580238dd23e1e129be96822aa93ebb6da08558e6",
"blockNumber": 13416771,
"result": {
"gasUsed": "0x6009",
"output": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
"subtraces": 0,
"traceAddress": [],
"transactionHash": "0x054bbb9fbb855bf23f755e548c7409f45fc5eff8a824b2ad06380bc038d7b049",
"transactionPosition": 54,
"type": "call"
}
],
"id": 1
}trace_filter メソッドには、ノードに過負荷がかからないよう、いくつかの制限があります。
trace_filterメソッドのブロック範囲は 800 ブロックまでに制限されています。- トレースの
countは 200 までに制限されています。