TRON RPC Endpoint Dokümantasyonu | ERPC

TRON RPC Endpoint Dokümantasyonu

ERPC'yi HTTP JSON-RPC istekleri ve TRON HTTP API için TRON RPC endpoint'iniz olarak kullanabilirsiniz. TRON RPC, Global Edge Blockchain Infrastructure'ımız kapsamındaki ERPC'nin RPC APIs'inin bir parçasıdır ve API key, ERPC Web Dashboard üzerinden yönetilebilir.
Solana, Ethereum ve Avalanche ile aynı RPC key'i kullanabilirsiniz.
API key'inizi api-key query parametresiyle iletin ya da Authorization: Bearer <YOUR_API_KEY> olarak gönderin. İkisi birlikte gönderilirse query parametresi kullanılır.

Endpoints

JSON-RPC 2.0 isteklerini HTTP POST olarak şuraya gönderin:
text
https://edge.erpc.global/tron?api-key=<YOUR_API_KEY>
ya da özel host'a:
text
https://tron.erpc.global?api-key=<YOUR_API_KEY>
Özel host'ta / ve /jsonrpc aynı JSON-RPC endpoint'ine ulaşır ve TRON HTTP API, /wallet/<name> ve /walletsolidity/<name> altında sunulur. edge.erpc.global üzerinde aynı yollar /tron önekini izler: /tron, /tron/jsonrpc, /tron/wallet/<name> ve /tron/walletsolidity/<name>. TRON HTTP API POST gövdesi bir JSON nesnesi olmalıdır. Diğer yollar HTTP 400 ile yanıtlanır.

Örnekler

Aşağıda, API key'in query parametresinde gönderildiği bir HTTP istek örneği yer alır.
bash
curl 'https://edge.erpc.global/tron?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"eth_blockNumber"
}'
Aşağıda, API key'in Authorization başlığında gönderildiği aynı istek yer alır.
bash
curl 'https://edge.erpc.global/tron' --header 'Content-Type: application/json' --header 'Authorization: Bearer <YOUR_API_KEY>' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"eth_blockNumber"
}'
Aşağıda bir TRON HTTP API örneği yer alır.
bash
curl 'https://edge.erpc.global/tron/wallet/getnowblock?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{}'
API key'inizi ERPC Web Dashboard üzerinden alabilir ve kontrol edebilirsiniz: ERPC Web Dashboard

Toplu İstekler

HTTP isteği başına 1 ile 100 arasında çağrı içeren JSON-RPC toplu istekleri desteklenir. Her çağrının kendine ait bir id değeri olmalıdır ve bir toplu istek içinde id değerleri tekrar etmemelidir. Bir toplu istekteki her çağrı kendi başına bir çağrı olarak ücretlendirilir. İstek gövdesi en fazla 1 MiB olabilir. Toplu istekler /jsonrpc yoluna gönderilir. Bir TRON HTTP API isteği tek bir çağrı taşır ve tek çağrı olarak ücretlendirilir.

Kullanım Ücretlendirmesi

Kullanım token cinsinden ücretlendirilir ve token oranı yönteme göre değişebilir. Bir HTTP toplu isteğindeki her çağrı ayrı ayrı ücretlendirilir. Her TRON HTTP API isteği tek çağrı olarak ücretlendirilir.

Free Plan Sınırları

Free planda hesabınız 10 saniyede bir istek gönderebilir. Sınır endpoint başına değil, hesap başına sayılır; bu nedenle başka bir zincire gönderilen bir istek de bu sınıra dahil edilebilir. Daha erken gönderilen bir istek HTTP 429 ile yanıtlanır ve retry-after başlığı bekleme süresini saniye cinsinden verir.
Free planda, iki veya daha fazla JSON-RPC çağrısı içeren bir istek HTTP 429 ile yanıtlanır ve çağrılarının hiçbiri gönderilmez: her çağrı -32041 koduyla bir JSON-RPC hatası alır. Bunun yerine bu çağrıları tek tek gönderin.

Desteklenen Yöntemler

Endpoint şu 38 yöntemi sunar. eth_*, net_* ve web3_* yöntemleri, / veya /jsonrpc yoluna gönderilen JSON-RPC çağrılarıdır. /wallet/* ve /walletsolidity/* girdileri ise POST gövdesi olarak bir JSON nesnesiyle çağrılan TRON HTTP API yollarıdır.
  • eth_* (19): eth_blockNumber, eth_call, eth_chainId, eth_estimateGas, 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_getTransactionReceipt, eth_syncing
  • net_* (3): net_listening, net_peerCount, net_version
  • web3_* (2): web3_clientVersion, web3_sha3
  • /wallet/* (9): /wallet/broadcasthex, /wallet/broadcasttransaction, /wallet/estimateenergy, /wallet/getaccount, /wallet/getblockbynum, /wallet/getnowblock, /wallet/gettransactionbyid, /wallet/gettransactioninfobyid, /wallet/triggerconstantcontract
  • /walletsolidity/* (5): /walletsolidity/getaccount, /walletsolidity/getblockbynum, /walletsolidity/getnowblock, /walletsolidity/gettransactionbyid, /walletsolidity/gettransactioninfobyid
Listede olmayan bir yöntem veya yol HTTP 400 ile yanıtlanır.

Yanıt Durum Kodları

HTTP statusAnlamı
200Upstream JSON-RPC yanıtı. JSON-RPC hataları da HTTP 200 ile döner: istekteki id ve error.code korunur, error.message değeri ERPC upstream error olur ve error.data döndürülmez.
400Desteklenen Yöntemler listesinde olmayan bir yöntem veya yol, geçersiz bir JSON-RPC isteği, boş bir toplu istek veya 100'den fazla çağrı içeren bir toplu istek, bir toplu istekte yinelenen bir id ya da 1 MiB sınırını aşan bir gövde.
401Eksik veya geçersiz API key ya da anahtar için tanımlanan IP veya Origin kısıtlamasının karşılanmaması.
405POST dışında bir HTTP istek yöntemi.
426WebSocket Upgrade istendi. Endpoint yalnızca HTTP üzerinden çalışır.
429Hız sınırlaması uygulandı; yukarıdaki Free plan sınırları da buna dahildir: 10 saniyede birden fazla istek veya tek bir istekte iki ya da daha fazla çağrı. retry-after başlığı varsa, belirtilen saniye kadar bekleyin.
502Upstream isteği tamamlanamadı: upstream başarısız bir yanıt döndürdü, yanıt 8 MiB sınırını aştı ya da 30 saniye içinde yanıt gelmedi. Bir TRON HTTP API yanıtı hata bildirirse yine 502 döner.
503Hizmet geçici olarak kullanılamıyor.

TRON RPC Yöntemleri ve Dokümantasyon

Tüm standart yöntemler, parametreler ve özellikler için lütfen resmi dokümantasyona bakın.