Bỏ qua để đến nội dung

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ướiURL cơ sở HTTP / JSON-RPCgRPC
Mainnethttps://api.trongrid.iogrpc.trongrid.io:50051
Nile testnethttps://nile.trongrid.iogrpc.nile.trongrid.io:50051
Shasta testnethttps://api.shasta.trongrid.iogrpc.shasta.trongrid.io:50051

TronGrid phục vụ FullNode API, SolidityNode API và Event Server từ một URL cơ sở duy nhất.

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:

init_pro.js
// 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,
});
Terminal
// 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/getnowblock

Bậ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.


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ấpURL
Ankrankr.com/rpc/tron
Alchemyalchemy.com/docs/reference/tron-api-quickstart
QuickNodequicknode.com/chains/tron
GetBlockgetblock.io/nodes/trx
Chainstackchainstack.com/build-better-with-tron
Tatumtatum.io/chains/tron
TronQLtronql.com
NOWNodesnownodes.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.


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
# 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ất
curl -X POST https://api.trongrid.io/wallet/getnowblock
# Lấy thông tin tài khoản
curl -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ịch
curl -X POST https://api.trongrid.io/wallet/gettransactioninfobyid \
-d '{ "value": "transaction_hash_hex" }'

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:

TronGrid v1 API
# 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 đồng
curl https://api.trongrid.io/v1/contracts/{contractAddress}/events
# Lấy các giao dịch của tài khoản
curl https://api.trongrid.io/v1/accounts/{address}/transactions

Các endpoint này hỗ trợ phân trang (pagination) thông qua các tham số truy vấn limit, min_timestampmax_timestamp.


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.

Terminal window
# Endpoint JSON-RPC
POST https://api.trongrid.io/jsonrpc
ethers_rpc.js
// 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.

Terminal window
# Mainnet gRPC
grpc.trongrid.io:50051 # FullNode
grpc.trongrid.io:50052 # SolidityNode (chỉ các trạng thái đã finalize)
# Nile testnet gRPC
grpc.nile.trongrid.io:50051
grpc.nile.trongrid.io:50061

Cá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.


Trường hợp sử dụngGiao diện khuyến nghị
Frontend dApp, script, sử dụng chungtronweb thông qua HTTP
Di trú từ các công cụ EVM của EthereumJSON-RPC
Các ứng dụng backend viết bằng JavaTrident-java thông qua gRPC
Các ứng dụng backend viết bằng Gogotron-sdk
Lập chỉ mục với khối lượng lớnDùng trực tiếp gRPC
Giám sát Sự kiện Hợp đồngAPI mở rộng của TronGrid (/v1/contracts/...)