JSON-RPC

JSON-RPC

Unterstützte JSON-RPC-Methoden, CU-Gewichte und Fehlercodes. Endpunkt einrichten, Chain auswählen und Methodenverfügbarkeit, Preise und Abrechnungsregeln prüfen.

Übersicht

Alle Anfragen werden in Compute Units (CU) erfasst und unterliegen Ratenlimits pro API-Schlüssel.

  • Endpunkt: POST /v1/{chain}/{api_key} (Schlüssel im Pfad) oder POST /v1/{chain} (Schlüssel im Header). Für Robinhood Chain lautet {chain} robinhood_mainnet: https://api.blockvectra.com/v1/robinhood_mainnet. Derselbe API-Schlüssel funktioniert auf jeder unterstützten Chain
  • Protokoll: HTTP POST, Einzelaufruf oder Batch
  • Messung: Die gesamten CU-Kosten einer Anfrage werden unmittelbar nach deren Eintreffen auf die Burst-Kapazität Ihres Schlüssels angerechnet. Jeder angenommene Aufruf, der eine Antwort erhält, wird mit dem veröffentlichten CU-Gewicht der Methode abgerechnet; die Fehlerreferenz führt die Fälle auf, die nicht in Rechnung gestellt werden. Die Abrechnung erfolgt stündlich (abgerundet auf ganze Einheiten, der Restbetrag wird übertragen, Verrechnung ca. 15 Minuten nach Ende des Zeitraums)
  • Ethereum: Eigene Methodenliste und ein durch state_window_blocks bestimmtes Statusfenster — siehe Unterstützte Chains → Ethereum.

Vollständige Parameterschemata, Methodensignaturen und interaktive Anfragetests für alle Methoden finden Sie in der Vollständigen Referenz. Informationen zur Pfadversionierung, Abwärtskompatibilitätsregeln und SDK-Empfehlungen finden Sie unter API-Versionierung und Kompatibilität.

Um einen API-Schlüssel zu erhalten und eine erste Anfrage zu senden, lesen Sie den Schnellstart; dieser behandelt auch die Schlüsselübergabe und Batch-Anfragen.

Häufige Aufrufe

Ausführliche Beispiele für häufige Aufrufe.

Logs abfragen (eth_getLogs)

Filtern Sie die Logs eines Vertrages über einen aktuellen Blockbereich — hier das ERC-20-Ereignis Transfer (Topic 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef). Siehe die Tabelle CU-Abrechnungsregeln unten für das aktuelle CU-Gewicht von eth_getLogs; ein Bereich, der größer als max_logs_block_range der Chain ist (aus GET /v1/chains), wird mit -32602 abgelehnt.

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
  }'

Eine Transaktion nachverfolgen (debug_traceTransaction)

Verfolgen Sie die internen Aufrufe einer Transaktion mit dem callTracer. Siehe die Tabelle CU-Abrechnungsregeln unten für das aktuelle CU-Gewicht von debug_traceTransaction. Wie die anderen Status-Lese-Methoden wird sie abgelehnt, sobald der Zielblock außerhalb des aktuellen Statusfensters dieser Chain liegt (-32011). Die Fenstergröße entspricht state_window_blocks der Chain (aus GET /v1/chains). Auf Chains, die Traces bereitstellen, nutzen Sie die Data API für historische Traces.

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-Abrechnungsregeln

Compute-Unit-Gewichtung (CU) für jede JSON-RPC-Methode.

MethodeGewichtung (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

Methodenrichtlinie

Verfügbare Methoden variieren je nach Chain; die Liste jeder Chain ist unten dargestellt, und Unterstützte Chains deckt den Rest ab. Nur Methoden, die einem erlaubten Namen oder Muster entsprechen, sind erreichbar; jede andere Methode gibt -32601 method not available zurück.

Auf jeder der folgenden Chains zulässig

  • 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 maximaler Blockbereich: 1,000 Blöcke; Statusfenster: 6,000 Blöcke

Ebenfalls zulässig

  • 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 maximaler Blockbereich: 1,000 Blöcke; Statusfenster: 10,000 Blöcke

Ebenfalls zulässig

  • 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 maximaler Blockbereich: 1,000 Blöcke; Statusfenster: 100 Blöcke

Ebenfalls zulässig

  • eth_sendRawTransaction

Ethereum

eth_getLogs maximaler Blockbereich: 1,000 Blöcke; Statusfenster: 250,000 Blöcke

Ebenfalls zulässig

  • 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 maximaler Blockbereich: 1,000 Blöcke; Statusfenster: —

Ebenfalls zulässig

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_sendRawTransaction
  • web3_sha3

HyperEVM

Das Senden von Transaktionen wird auf dieser Chain noch nicht unterstützt (eth_sendRawTransaction gibt -32601 method_not_allowed zurück); Lesemethoden funktionieren normal.

eth_getLogs maximaler Blockbereich: 1,000 Blöcke; Statusfenster: —

Polygon

eth_getLogs maximaler Blockbereich: 1,000 Blöcke; Statusfenster: 126 Blöcke

Ebenfalls zulässig

  • 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 maximaler Blockbereich: 1,000 Blöcke; Statusfenster: 900 Blöcke

Ebenfalls zulässig

  • 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 maximaler Blockbereich: 1,000 Blöcke; Statusfenster: 1,023 Blöcke

Ebenfalls zulässig

  • 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

Limits:

  • Batch: maximal 100 Aufrufe pro Anfrage; zudem durch den CU-Burst des API-Schlüssels begrenzt, siehe unten.
  • Request-Body: maximal 2 MiB
  • CU-Burst: Jeder API-Schlüssel verfügt über einen CU-Bucket (cu_per_sec Wiederauffüllung, burst_cu Kapazität — Standardwerte sind 400 CU/s und Burst 1,600 CU; pro API-Schlüssel in der Konsole in der Tabelle Keys aufgeführt). Eine einzelne Anfrage — einschließlich eines gesamten JSON-RPC-Batches —, deren gesamte CU die Burst-Kapazität des API-Schlüssels überschreitet, wird mit -32022 request_exceeds_burst (request cost <N> CU exceeds burst capacity <M> CU) abgelehnt; teilen Sie diese in kleinere Batches auf.

Fehlercodes

Siehe die Fehlerreferenz für alle Fehlercodes, ob sie abgerechnet werden und was zu tun ist.

Vollständige OpenAPI-Referenz

Siehe die Vollständige OpenAPI-Referenz für die vollständige maschinenlesbare Spezifikation mit allen Methodensignaturen, Anfrage- und Antwortschemata sowie interaktiv gerenderten Parameterdetails.

Zuletzt aktualisiert:

Auf dieser Seite