TronWeb (JavaScript SDK)

TronWeb 是 TRON 生态中应用最广泛的 JavaScript/TypeScript 开发套件,可在前端和 Node.js 环境下接入 TRON 网络。

📘

前置阅读

TronWeb 是 TRON 开发者社区维护的核心 JavaScript/TypeScript SDK,用于与 TRON 区块链交互。它覆盖账户私钥管理、链上原生交易的本地构建、智能合约部署与方法调用、全节点通信等核心能力,适用于浏览器前端、Node.js 后端和 IoT 嵌入式设备上的 DApp 开发与集成。

TronWeb 的 API 设计借鉴了以太坊生态的 Web3.js,从以太坊迁移过来的 Web3 开发者较容易上手。在此之上,它针对 TRON 原生特性做了封装和扩展,提供一组专用 API,覆盖 Bandwidth 与 Energy 资源模型、TRC-10 Token 交互、Stake 2.0 质押机制等。

快速开始

npm install tronweb
import { TronWeb } from 'tronweb';

const tronWeb = new TronWeb({
  fullHost: 'https://api.shasta.trongrid.io',
  privateKey: process.env.PRIVATE_KEY
});

const address = tronWeb.defaultAddress.base58;
const balance = await tronWeb.trx.getBalance(address);

console.log('Address:', address);
console.log('TRX:', tronWeb.fromSun(balance));

前端 DApp 不应把私钥写入代码。浏览器端应通过 TronLink 或钱包适配器请求用户签名;只有后端脚本、批处理任务或受控测试脚本才适合从环境变量加载私钥。

常见陷阱

  • 金额单位默认是 sun1 TRX = 1,000,000 sun
  • 节点 HTTP API 使用 Base58Check 地址时,需要设置 visible: true
  • 合约写入交易需要合理设置 fee_limit;它限制可使用的 Energy 上限,不只是“最多燃烧多少 TRX”。
  • Mainnet TronGrid 请求通常需要 TRON-PRO-API-KEY;Shasta 和 Nile 示例可先不配置 API key。

安装细节和使用文档见 TronWeb 项目资源: