JSON-RPC
Desteklenen JSON-RPC yöntemleri, CU ağırlıkları ve hata kodları. Bir uç nokta kurun, bir zincir seçin ve yöntem kullanılabilirliğini, fiyatlandırmayı ve faturalandırma kurallarını kontrol edin.
Genel bakış
Tüm istekler Compute Units (CU) cinsinden sayılır ve anahtar başına hız sınırlamasına tabidir.
- Uç nokta:
POST /v1/{chain}/{api_key}(yolda anahtar) veyaPOST /v1/{chain}(başlıkta anahtar). Robinhood Chain için{chain}robinhood_mainnet'tir:https://api.blockvectra.com/v1/robinhood_mainnet. Aynı API anahtarı, desteklenen tüm zincirlerde çalışır - Protokol: HTTP
POST, tekil çağrı veya toplu işlem (batch) - Ölçüm: Bir isteğin toplam CU maliyeti, ulaştığı anda anahtarınızın burst kapasitesinden düşülür. Yanıt alan kabul edilmiş her çağrı, yöntemin yayınlanan CU ağırlığı üzerinden ücretlendirilir; Hata referansı faturalandırılmayan durumları listeler. Faturalandırma saatlik olarak mahsup edilir (tam birimlere aşağı yuvarlanır, kalan sonraki döneme devreder, dönem bittikten ~15 dakika sonra gerçekleştirilir)
- Ethereum: Kendi yöntem listesi ve
state_window_blockstarafından belirlenen bir durum penceresi — bkz. Desteklenen Zincirler → Ethereum.
Tüm yöntemlerde eksiksiz parametre şemaları, yöntem imzaları ve etkileşimli istek testi için Tam Referans sayfasına bakın. Yol sürümleme, geriye dönük uyumluluk kuralları ve SDK önerileri için API sürüm oluşturma ve uyumluluk bölümüne bakın.
Bir API key almak ve ilk isteği göndermek için Hızlı Başlangıç sayfasına bakın; bu sayfa ayrıca anahtar iletimini ve toplu istekleri de kapsar.
Yaygın çağrılar
Yaygın çağrılar için hazırlanmış örnekler.
Logları sorgulayın (eth_getLogs)
Bir sözleşmenin loglarını yakın bir blok aralığında filtreleyin — burada ERC-20 Transfer olayı (topic 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef). eth_getLogs yönteminin geçerli CU ağırlığı için aşağıdaki CU Ölçüm Kuralları tablosuna bakın; zincirin max_logs_block_range değerinden (GET /v1/chains çıktısından) daha geniş bir aralık -32602 ile reddedilir.
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
}'Bir işlemi izleyin (debug_traceTransaction)
Bir işlemin dahili çağrılarını callTracer ile izleyin. debug_traceTransaction yönteminin geçerli CU ağırlığı için aşağıdaki CU Ölçüm Kuralları tablosuna bakın. Diğer durum okuma yöntemlerinde olduğu gibi, hedef blok o zincirin yakın geçmiş durum penceresinin dışına çıktığında reddedilir (-32011). Pencere boyutu, zincirin state_window_blocks değeridir (GET /v1/chains çıktısından). Trace sağlayan zincirlerde, geçmiş izlemeler için Data API kullanın.
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 ölçüm kuralları
Her bir JSON-RPC metodu için Compute Unit (CU) ağırlığı.
| Metot | Ağırlık (CU) |
|---|---|
eth_blockNumber | 1 |
eth_chainId | 1 |
eth_getBlockByNumber | 5 |
eth_blobBaseFee | 10 |
eth_feeHistory | 10 |
eth_gasPrice | 10 |
eth_getBalance | 10 |
eth_getBlockByHash | 10 |
eth_getBlockReceipts | 10 |
eth_getBlockTransactionCountByHash | 10 |
eth_getBlockTransactionCountByNumber | 10 |
eth_getCode | 10 |
eth_getHeaderByHash | 10 |
eth_getHeaderByNumber | 10 |
eth_getProof | 10 |
eth_getRawTransactionByBlockHashAndIndex | 10 |
eth_getRawTransactionByBlockNumberAndIndex | 10 |
eth_getRawTransactionByHash | 10 |
eth_getStorageAt | 10 |
eth_getTransactionByBlockHashAndIndex | 10 |
eth_getTransactionByBlockNumberAndIndex | 10 |
eth_getTransactionByHash | 10 |
eth_getTransactionCount | 10 |
eth_getTransactionReceipt | 10 |
eth_getUncleByBlockHashAndIndex | 10 |
eth_getUncleByBlockNumberAndIndex | 10 |
eth_getUncleCountByBlockHash | 10 |
eth_getUncleCountByBlockNumber | 10 |
eth_maxPriorityFeePerGas | 10 |
eth_syncing | 10 |
net_version | 10 |
web3_clientVersion | 10 |
web3_sha3 | 10 |
eth_call | 15 |
eth_createAccessList | 20 |
eth_estimateGas | 20 |
eth_simulateV1 | 20 |
eth_getLogs | 30 |
eth_sendRawTransaction | 30 |
debug_traceBlockByHash | 100 |
debug_traceBlockByNumber | 100 |
debug_traceCall | 100 |
debug_traceTransaction | 100 |
trace_block | 100 |
trace_call | 100 |
trace_get | 100 |
trace_replayTransaction | 100 |
trace_transaction | 100 |
Yöntem politikası
Kullanılabilir yöntemler zincire göre değişir; her zincirin listesi aşağıda gösterilmiştir ve Desteklenen Zincirler geri kalanını kapsar. Yalnızca izin verilen bir ad veya kalıpla eşleşen yöntemlere erişilebilir; diğer tüm yöntemler -32601 method not available döndürür.
Aşağıdaki tüm zincirlerde izin verilir
eth_blockNumbereth_calleth_chainIdeth_estimateGaseth_feeHistoryeth_gasPriceeth_getBalanceeth_getBlockByHasheth_getBlockByNumbereth_getBlockReceiptseth_getBlockTransactionCountByHasheth_getBlockTransactionCountByNumbereth_getCodeeth_getLogseth_getStorageAteth_getTransactionByBlockHashAndIndexeth_getTransactionByBlockNumberAndIndexeth_getTransactionByHasheth_getTransactionCounteth_getTransactionReceipteth_maxPriorityFeePerGaseth_syncingnet_versionweb3_clientVersion
Arbitrum One
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: 6,000 blok
Ayrıca izin verilir
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Base
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: 10,000 blok
Ayrıca izin verilir
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3
BNB Smart Chain
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: 100 blok
Ayrıca izin verilir
eth_sendRawTransaction
Ethereum
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: 250,000 blok
Ayrıca izin verilir
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactiontrace_blocktrace_calltrace_gettrace_replayTransactiontrace_transactionweb3_sha3
Ethereum Sepolia
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: —
Ayrıca izin verilir
eth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactionweb3_sha3
HyperEVM
Bu zincirde henüz işlem gönderme desteklenmemektedir (eth_sendRawTransaction -32601 method_not_allowed döndürür); okuma yöntemleri normal çalışır.
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: —
Polygon
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: 126 blok
Ayrıca izin verilir
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Robinhood Chain
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: 900 blok
Ayrıca izin verilir
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3debug_traceTransactiondebug_traceCalldebug_traceBlockByNumberdebug_traceBlockByHash
Robinhood Chain Testnet
eth_getLogs maks blok aralığı: 1,000 blok; durum penceresi: 1,023 blok
Ayrıca izin verilir
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Limitler:
- Batch: İstek başına maksimum 100 çağrı; ayrıca anahtarın CU burst kapasitesiyle sınırlıdır, aşağıya bakın.
- İstek gövdesi: Maksimum 2 MiB
- CU burst: Her API anahtarının bir CU havuzu vardır (
cu_per_secyenileme,burst_cukapasitesi — varsayılanlar 400 CU/s ve ani artış (burst) 1,600 CU; konsol API Anahtarları tablosunda anahtar başına gösterilir). Toplam CU'su anahtarın burst kapasitesini aşan tek bir istek — tüm bir JSON-RPC toplu işlemi dahil —-32022 request_exceeds_burst(request cost <N> CU exceeds burst capacity <M> CU) ile reddedilir; bunu daha küçük batch'lere bölün.
Hata kodları
Her hata kodu, faturalandırılıp faturalandırılmadığı ve ne yapılması gerektiği için Hata referansı sayfasına bakın.
Tam OpenAPI referansı
Etkileşimli olarak sunulan tüm yöntem imzaları, istek ve yanıt şemaları ve parametre ayrıntılarını içeren eksiksiz makine tarafından okunabilir spesifikasyon için Tam OpenAPI referansı sayfasına bakın.
Son güncelleme:
Data API
Blokzincir Data API istek referansı: İndekslenmiş zincir verileri için REST uç noktaları, API anahtarı kimlik doğrulaması, parametreler, yanıt şemaları, hatalar ve CU ağırlıkları.
Tam Referans
Eksiksiz JSON-RPC 2.0 API belirtimi ve uç nokta dizini. Desteklenen tüm yöntemleri, istek ve yanıt yapılarını, şema türlerini ve hata kodlarını inceleyin.