Truy cập API & Node
Kết nối với mạng lưới TRON thông qua HTTP API gốc, JSON-RPC tương thích với Ethereum hoặc các endpoint gRPC thông lượng cao. Hướng dẫn này nêu chi tiết các tùy chọn nhà cung cấp dịch vụ được quản lý như TronGrid và Alchemy, cùng với các giao diện cụ thể cần thiết cho việc tương tác Hợp đồng, lập chỉ mục và tích hợp với sàn giao dịch.
TronGrid — Quyền truy cập Node được Quản lý
Phần tiêu đề “TronGrid — Quyền truy cập Node được Quản lý”TronGrid là dịch vụ node quản lý chính thức của TRON, do đội ngũ TronGrid vận hành. Đây là con đường nhanh nhất để có được một kết nối hoạt động và tương đương với Infura hoặc Alchemy của Ethereum.
| Mạng lưới | URL cơ sở HTTP / JSON-RPC | gRPC |
|---|---|---|
| Mainnet | https://api.trongrid.io | grpc.trongrid.io:50051 |
| Nile testnet | https://nile.trongrid.io | grpc.nile.trongrid.io:50051 |
| Shasta testnet | https://api.shasta.trongrid.io | grpc.shasta.trongrid.io:50051 |
TronGrid phục vụ FullNode API, SolidityNode API và Event Server từ một URL cơ sở duy nhất.
Khóa API (API Keys)
Phần tiêu đề “Khóa API (API Keys)”TronGrid áp đặt giới hạn tỷ lệ (rate limits) đối với các yêu cầu không được xác thực. Để sử dụng trong sản xuất, hãy đăng ký một khóa API miễn phí tại trongrid.io và truyền nó trong tiêu đề (headers) yêu cầu của bạn:
// Task: Cấu hình SDK với Khóa Pro API của TronGrid để có giới hạn tỷ lệ cao hơn.const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io', headers: { 'TRON-PRO-API-KEY': process.env.TRONGRID_API_KEY }, privateKey: process.env.PRIVATE_KEY,});// Task: Thực hiện một yêu cầu HTTP đã được xác thực tới FullNode API.curl -H "TRON-PRO-API-KEY: your_key_here" \ https://api.trongrid.io/wallet/getnowblockBậc (tier) miễn phí là đủ để phát triển và sử dụng cho sản xuất với lưu lượng thấp.
Các Nhà cung cấp Node Bên thứ ba
Phần tiêu đề “Các Nhà cung cấp Node Bên thứ ba”Nhiều nhà cung cấp cơ sở hạ tầng lớn cung cấp quyền truy cập node TRON dưới dạng dịch vụ được quản lý, thường đi kèm với giới hạn tỷ lệ hào phóng hơn hoặc phân bổ địa lý tốt hơn so với TronGrid.
| Nhà cung cấp | URL |
|---|---|
| Ankr | ankr.com/rpc/tron |
| Alchemy | alchemy.com/docs/reference/tron-api-quickstart |
| QuickNode | quicknode.com/chains/tron |
| GetBlock | getblock.io/nodes/trx |
| Chainstack | chainstack.com/build-better-with-tron |
| Tatum | tatum.io/chains/tron |
| TronQL | tronql.com |
| NOWNodes | nownodes.io/nodes/tron-trx |
Tất cả các nhà cung cấp này đều phơi bày cùng một giao diện HTTP API TRON — bạn chỉ cần thay đổi URL fullHost trong tronweb và mã nguồn của bạn không cần thay đổi gì thêm.
HTTP API
Phần tiêu đề “HTTP API”TRON HTTP API tuân theo cấu trúc giống như REST. Mỗi endpoint là một yêu cầu POST với nội dung (body) dạng JSON.
Các Endpoint Phổ biến
Phần tiêu đề “Các Endpoint Phổ biến”# Task: Tương tác với các endpoint tài khoản và giao dịch qua curl.# Lấy khối mới nhấtcurl -X POST https://api.trongrid.io/wallet/getnowblock
# Lấy thông tin tài khoảncurl -X POST https://api.trongrid.io/wallet/getaccount \ -d '{ "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb2Jq", "visible": true }'
# Lấy thông tin tài nguyên tài khoản (Năng lượng, Băng thông)curl -X POST https://api.trongrid.io/wallet/getaccountresource \ -d '{ "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb2Jq", "visible": true }'
# Phát một giao dịch đã được kýcurl -X POST https://api.trongrid.io/wallet/broadcasttransaction \ -d '{ "transaction": {...} }'
# Lấy giao dịch theo hàm băm (hash)curl -X POST https://api.trongrid.io/wallet/gettransactionbyid \ -d '{ "value": "transaction_hash_hex" }'
# Lấy biên lai giao dịchcurl -X POST https://api.trongrid.io/wallet/gettransactioninfobyid \ -d '{ "value": "transaction_hash_hex" }'Các Endpoint Mở rộng của TronGrid
Phần tiêu đề “Các Endpoint Mở rộng của TronGrid”TronGrid bổ sung thêm các endpoint thân thiện với nhà phát triển, vượt ngoài FullNode API cơ bản:
# Task: Truy vấn lịch sử đã lập chỉ mục qua API v1 của TronGrid.# Lấy các giao dịch chuyển khoản token TRC-20 cho một địa chỉcurl https://api.trongrid.io/v1/accounts/{address}/transactions/trc20
# Lấy các Sự kiện Hợp đồngcurl https://api.trongrid.io/v1/contracts/{contractAddress}/events
# Lấy các giao dịch của tài khoảncurl https://api.trongrid.io/v1/accounts/{address}/transactionsCác endpoint này hỗ trợ phân trang (pagination) thông qua các tham số truy vấn limit, min_timestamp và max_timestamp.
JSON-RPC (Tương thích EVM)
Phần tiêu đề “JSON-RPC (Tương thích EVM)”TRON phơi bày một endpoint JSON-RPC tương thích với không gian tên (namespace) eth_* của Ethereum. Điều này cho phép các công cụ EVM — MetaMask, ethers.js, Hardhat — tương tác trực tiếp với TRON mà không cần viết lại cho API gốc.
# Endpoint JSON-RPCPOST https://api.trongrid.io/jsonrpc// Task: Sử dụng các thư viện EVM tiêu chuẩn (Ethers.js) để truy vấn TRON qua JSON-RPC.import { JsonRpcProvider } from "ethers"
const provider = new JsonRpcProvider('https://api.trongrid.io/jsonrpc');const blockNumber = await provider.getBlockNumber();Đối với các ứng dụng có thông lượng cao — các trình lập chỉ mục (indexers), backend sàn giao dịch, đường ống dữ liệu thời gian thực — giao diện gRPC của TRON hiệu quả hơn đáng kể so với HTTP.
# Mainnet gRPCgrpc.trongrid.io:50051 # FullNodegrpc.trongrid.io:50052 # SolidityNode (chỉ các trạng thái đã finalize)
# Nile testnet gRPCgrpc.nile.trongrid.io:50051grpc.nile.trongrid.io:50061Các định nghĩa protocol buffer được công bố tại github.com/tronprotocol/protocol. SDK Trident-java bọc giao diện gRPC cho các ứng dụng Java.
Chọn Giao diện Phù hợp
Phần tiêu đề “Chọn Giao diện Phù hợp”| Trường hợp sử dụng | Giao diện khuyến nghị |
|---|---|
| Frontend dApp, script, sử dụng chung | tronweb thông qua HTTP |
| Di trú từ các công cụ EVM của Ethereum | JSON-RPC |
| Các ứng dụng backend viết bằng Java | Trident-java thông qua gRPC |
| Các ứng dụng backend viết bằng Go | gotron-sdk |
| Lập chỉ mục với khối lượng lớn | Dùng trực tiếp gRPC |
| Giám sát Sự kiện Hợp đồng | API mở rộng của TronGrid (/v1/contracts/...) |