Tài liệu TRON RPC Endpoint | ERPC
Tài liệu TRON RPC Endpoint
ERPC có thể được dùng làm TRON RPC endpoint cho HTTP JSON-RPC request và TRON HTTP API. TRON RPC là một phần trong RPC APIs của ERPC, nằm trong Global Edge Blockchain Infrastructure của chúng tôi, và API key có thể được quản lý từ ERPC Web Dashboard.
Bạn có thể dùng cùng một RPC key như với Solana, Ethereum và Avalanche.
Truyền API key của bạn qua tham số query
api-key, hoặc gửi dưới dạng Authorization: Bearer <YOUR_API_KEY>. Khi có cả hai, tham số query sẽ được dùng.Endpoint
Gửi request JSON-RPC 2.0 dưới dạng HTTP POST đến:
text
https://edge.erpc.global/tron?api-key=<YOUR_API_KEY>https://edge.erpc.global/tron?api-key=<YOUR_API_KEY>Hoặc đến host chuyên dụng:
text
https://tron.erpc.global?api-key=<YOUR_API_KEY>https://tron.erpc.global?api-key=<YOUR_API_KEY>Trên host chuyên dụng,
/ và /jsonrpc dẫn đến cùng một endpoint JSON-RPC, và TRON HTTP API được phục vụ dưới /wallet/<name> và /walletsolidity/<name>. Trên edge.erpc.global, các path này có thêm tiền tố /tron: /tron, /tron/jsonrpc, /tron/wallet/<name> và /tron/walletsolidity/<name>. Body của POST tới TRON HTTP API phải là một JSON object. Các path khác sẽ nhận phản hồi HTTP 400.Ví dụ
Đây là ví dụ về HTTP request với API key trong tham số query.
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"
}'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"
}'Đây là cùng request đó nhưng đặt API key trong header
Authorization.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"
}'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"
}'Đây là ví dụ về TRON HTTP API.
bash
curl 'https://edge.erpc.global/tron/wallet/getnowblock?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{}'curl 'https://edge.erpc.global/tron/wallet/getnowblock?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{}'Bạn có thể lấy và kiểm tra API key trên ERPC Web Dashboard: ERPC Web Dashboard
Batch Request
Hỗ trợ batch JSON-RPC từ 1 đến 100 lệnh gọi cho mỗi HTTP request. Mỗi lệnh gọi cần có
id riêng, và các giá trị id không được trùng nhau trong một batch. Mỗi lệnh gọi trong một batch được tính là một lệnh gọi riêng. Request body có kích thước tối đa 1 MiB. Batch được gửi tới /jsonrpc. Một TRON HTTP API request mang một lệnh gọi và được tính là một lệnh gọi.Đo lường mức sử dụng
Mức sử dụng được đo bằng token, và tỷ lệ token có thể khác nhau tùy theo method. Mỗi lệnh gọi trong một HTTP batch được đo riêng biệt. Mỗi TRON HTTP API request được tính là một lệnh gọi.
Giới hạn của Gói Free
Trên Gói Free, tài khoản của bạn có thể gửi một request mỗi 10 giây. Giới hạn được tính theo tài khoản, không phải theo endpoint, nên một request tới chain khác cũng có thể được tính vào giới hạn này. Request gửi sớm hơn sẽ nhận phản hồi HTTP
429, và header retry-after cho biết thời gian chờ tính bằng giây.Trên Gói Free, một request chứa từ hai lệnh gọi JSON-RPC trở lên sẽ nhận phản hồi HTTP
429, và không lệnh gọi nào trong đó được gửi đi: mỗi lệnh gọi nhận một lỗi JSON-RPC với mã -32041. Hãy gửi từng lệnh gọi một thay vào đó.Phương thức được hỗ trợ
Endpoint này phục vụ 38 method sau đây. Các method
eth_*, net_* và web3_* là các lệnh gọi JSON-RPC gửi tới / hoặc /jsonrpc. Các mục /wallet/* và /walletsolidity/* là path của TRON HTTP API, được gọi với một JSON object làm body của POST.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_syncingnet_*(3):net_listening,net_peerCount,net_versionweb3_*(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
Method hoặc path không có trong danh sách sẽ nhận phản hồi HTTP
400.Mã trạng thái phản hồi
| HTTP status | Ý nghĩa |
|---|---|
| 200 | Response JSON-RPC từ upstream. Lỗi JSON-RPC cũng được trả về với HTTP 200: giữ nguyên id của request và error.code, error.message là ERPC upstream error, và không trả về error.data. |
| 400 | Method hoặc path nằm ngoài danh sách Phương thức được hỗ trợ, request JSON-RPC không hợp lệ, batch rỗng hoặc batch vượt quá 100 lệnh gọi, id bị trùng trong một batch, hoặc body vượt quá 1 MiB. |
| 401 | Thiếu API key hoặc API key không hợp lệ, hoặc không đáp ứng giới hạn IP hoặc Origin đã đặt cho key. |
| 405 | Phương thức request không phải POST. |
| 426 | Đã yêu cầu WebSocket Upgrade. Endpoint này chỉ hỗ trợ HTTP. |
| 429 | Bị giới hạn tốc độ, bao gồm các giới hạn của Gói Free ở trên: nhiều hơn một request mỗi 10 giây, hoặc từ hai lệnh gọi trở lên trong một request. Nếu có header retry-after, hãy chờ đúng số giây đó. |
| 502 | Không thể hoàn tất request tới upstream: response từ upstream bị lỗi, response vượt quá 8 MiB, hoặc không có phản hồi trong vòng 30 giây. Khi response của TRON HTTP API báo lỗi, phản hồi cũng là 502. |
| 503 | Dịch vụ tạm thời không khả dụng. |
Phương thức TRON RPC và tài liệu
Để xem danh sách đầy đủ các phương thức chuẩn, tham số và đặc tả, hãy tham khảo tài liệu chính thức.






