JSON-RPC

JSON-RPC

対応する JSON-RPC メソッド、CU 重み付け、エラーコード。エンドポイントを設定し、チェーンを選び、メソッドの利用可否、料金、課金ルールを確認できます。

概要

すべてのリクエストは Compute Units (CU) で利用量を計測し、キーごとにレート制限を適用します。

  • エンドポイント:POST /v1/{chain}/{api_key}(パスにキーを指定)または POST /v1/{chain}(ヘッダーにキーを指定)。Robinhood Chain では、{chain} は robinhood_mainnet です:https://api.blockvectra.com/v1/robinhood_mainnet。同じ API key をすべての対応チェーンで利用できます
  • プロトコル:HTTP POST、単一の呼び出しまたはバッチ
  • 利用量の計測:リクエストの合計 CU コストは、到着時点でキーのバースト容量から差し引かれます。受け付けられてレスポンスが返された呼び出しは、メソッドの公開 CU 重み付けで課金されます。課金されないケースはエラーリファレンスに記載されています。料金は 1 時間ごとに精算します(整数単位に切り捨て、端数は繰り越し、期間終了の約 15 分後に実行)
  • Ethereum:独自のメソッド一覧と、state_window_blocks によって決まる状態の参照範囲があります。対応チェーン → Ethereumをご覧ください。

すべてのメソッドの完全なパラメータスキーマ、メソッドシグネチャ、インタラクティブなリクエストテストは、完全リファレンスをご覧ください。パスのバージョン管理、後方互換性のルール、推奨 SDK については、API のバージョン管理と互換性をご覧ください。

API key を取得して最初のリクエストを送信するには、クイックスタートをご覧ください。キーの渡し方とバッチリクエストも説明しています。

よく使う呼び出し

よく使う呼び出しの実例です。

ログの取得(eth_getLogs)

直近のブロック範囲でコントラクトのログを絞り込みます。ここでは ERC-20 の Transfer イベント(トピック 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef)を対象にしています。eth_getLogs の現在の CU 重み付けは、以下の CU 計測ルールの表をご覧ください。チェーンの max_logs_block_range(GET /v1/chains から取得)を超える範囲は、-32602 で拒否されます。

export BLOCKVECTRA_API_KEY=rgw_your_api_key

curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getLogs",
    "params": [{
      "fromBlock": "0x45a2409",
      "toBlock": "0x45a2609",
      "address": "0x1111111111111111111111111111111111111111",
      "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]
    }],
    "id": 1
  }'

トランザクションのトレース(debug_traceTransaction)

callTracer を使って、トランザクションの内部呼び出しをトレースします。debug_traceTransaction の現在の CU 重み付けは、以下の CU 計測ルールの表をご覧ください。他の状態読み取りメソッドと同様に、対象ブロックがそのチェーンの直近の状態の参照範囲外になると、リクエストは拒否されます(-32011)。範囲の大きさはチェーンの state_window_blocks(GET /v1/chains から取得)です。トレースを提供するチェーンでは、過去のトレースの取得に Data API を利用してください。

export BLOCKVECTRA_API_KEY=rgw_your_api_key

curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "method": "debug_traceTransaction",
    "params": ["0xYOUR_TRANSACTION_HASH", {"tracer": "callTracer"}],
    "id": 1
  }'

CU 計測ルール

各 JSON-RPC メソッドの Compute Unit(CU)ウェイト。

メソッドウェイト(CU)
eth_blockNumber1
eth_chainId1
eth_getBlockByNumber5
eth_blobBaseFee10
eth_feeHistory10
eth_gasPrice10
eth_getBalance10
eth_getBlockByHash10
eth_getBlockReceipts10
eth_getBlockTransactionCountByHash10
eth_getBlockTransactionCountByNumber10
eth_getCode10
eth_getHeaderByHash10
eth_getHeaderByNumber10
eth_getProof10
eth_getRawTransactionByBlockHashAndIndex10
eth_getRawTransactionByBlockNumberAndIndex10
eth_getRawTransactionByHash10
eth_getStorageAt10
eth_getTransactionByBlockHashAndIndex10
eth_getTransactionByBlockNumberAndIndex10
eth_getTransactionByHash10
eth_getTransactionCount10
eth_getTransactionReceipt10
eth_getUncleByBlockHashAndIndex10
eth_getUncleByBlockNumberAndIndex10
eth_getUncleCountByBlockHash10
eth_getUncleCountByBlockNumber10
eth_maxPriorityFeePerGas10
eth_syncing10
net_version10
web3_clientVersion10
web3_sha310
eth_call15
eth_createAccessList20
eth_estimateGas20
eth_simulateV120
eth_getLogs30
eth_sendRawTransaction30
debug_traceBlockByHash100
debug_traceBlockByNumber100
debug_traceCall100
debug_traceTransaction100
trace_block100
trace_call100
trace_get100
trace_replayTransaction100
trace_transaction100

メソッドポリシー

利用可能なメソッドはチェーンによって異なります。チェーンごとの一覧を以下に示します。その他の情報は対応チェーンをご覧ください。許可された名前またはパターンに一致するメソッドのみ呼び出せます。それ以外のメソッドは -32601 method not available を返します。

以下のすべてのチェーンで許可

  • eth_blockNumber
  • eth_call
  • eth_chainId
  • eth_estimateGas
  • eth_feeHistory
  • eth_gasPrice
  • eth_getBalance
  • eth_getBlockByHash
  • eth_getBlockByNumber
  • eth_getBlockReceipts
  • eth_getBlockTransactionCountByHash
  • eth_getBlockTransactionCountByNumber
  • eth_getCode
  • eth_getLogs
  • eth_getStorageAt
  • eth_getTransactionByBlockHashAndIndex
  • eth_getTransactionByBlockNumberAndIndex
  • eth_getTransactionByHash
  • eth_getTransactionCount
  • eth_getTransactionReceipt
  • eth_maxPriorityFeePerGas
  • eth_syncing
  • net_version
  • web3_clientVersion

Arbitrum One

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:6,000 ブロック

追加で許可

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_sendRawTransaction
  • eth_simulateV1
  • web3_sha3

Base

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:10,000 ブロック

追加で許可

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_simulateV1
  • eth_getRawTransactionByHash
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getUncleCountByBlockNumber
  • eth_getUncleCountByBlockHash
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleByBlockHashAndIndex
  • eth_getHeaderByNumber
  • eth_getHeaderByHash
  • eth_sendRawTransaction
  • web3_sha3

BNB Smart Chain

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:100 ブロック

追加で許可

  • eth_sendRawTransaction

Ethereum

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:250,000 ブロック

追加で許可

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_sendRawTransaction
  • trace_block
  • trace_call
  • trace_get
  • trace_replayTransaction
  • trace_transaction
  • web3_sha3

Ethereum Sepolia

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:—

追加で許可

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_sendRawTransaction
  • web3_sha3

HyperEVM

このチェーンではまだトランザクションの送信に対応していません(eth_sendRawTransaction は -32601 method_not_allowed を返します)。読み取りメソッドは通常どおり利用できます。

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:—

Polygon

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:126 ブロック

追加で許可

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_sendRawTransaction
  • eth_simulateV1
  • web3_sha3

Robinhood Chain

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:900 ブロック

追加で許可

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_simulateV1
  • eth_getRawTransactionByHash
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getUncleCountByBlockNumber
  • eth_getUncleCountByBlockHash
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleByBlockHashAndIndex
  • eth_getHeaderByNumber
  • eth_getHeaderByHash
  • eth_sendRawTransaction
  • web3_sha3
  • debug_traceTransaction
  • debug_traceCall
  • debug_traceBlockByNumber
  • debug_traceBlockByHash

Robinhood Chain Testnet

eth_getLogs の最大ブロック範囲:1,000 ブロック;状態の取得範囲:1,023 ブロック

追加で許可

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_sendRawTransaction
  • eth_simulateV1
  • web3_sha3

制限:

  • バッチ:リクエストごとに最大 100 呼び出し。キーの CU バースト容量による制限も適用されます。以下をご覧ください。
  • リクエストボディ:最大 2 MiB
  • CU バースト:各 API key には CU バケットがあります(補充速度は cu_per_sec、容量は burst_cu — デフォルトは 400 CU/s、バースト容量は 1,600 CU。コンソールのキー一覧表にキーごとに表示)。JSON-RPC バッチ全体を含め、1 つのリクエストの合計 CU がキーのバースト容量を超えると、-32022 request_exceeds_burst(request cost <N> CU exceeds burst capacity <M> CU)で拒否されます。より小さなバッチに分割してください。

エラーコード

すべてのエラーコード、課金対象かどうか、対応方法は、エラーリファレンスをご覧ください。

OpenAPI 完全リファレンス

すべてのメソッドシグネチャ、リクエストとレスポンスのスキーマ、パラメータの詳細をインタラクティブに表示する、完全な機械可読仕様は、OpenAPI 完全リファレンスをご覧ください。

最終更新:

このページの目次