# @dynamic-labs/tron 中文文档

规范地址：https://npmcn.com/package/%40dynamic-labs/tron/

版本：5\.16\.0
npm 元数据更新时间：2026-11-10T20:31:21.325Z
中文译文更新时间：2026-11-13T02:24:14.603Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dynamic-labs/tron
原文对照：https://npmcn.com/package/%40dynamic-labs/tron/?lang=original
项目主页：https://www.dynamic.xyz/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：711 kB，53 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：9 个
- 首次发布：2025-09-15T19:12:20.758Z
- 最新版本发布：2026-11-10T20:31:20.941Z
- 近 30 天下载量：12465（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：207（近 12 个月 178 个）

## 中文简介

对您网站执行钱包网络3认证和授权的 SDK 反应 .

## 安装

```sh
npm install @dynamic-labs/tron
```

也可以使用：`pnpm add @dynamic-labs/tron`、`yarn add @dynamic-labs/tron`、`bun add @dynamic-labs/tron`

## README

# @ difficial- labs/ tron (韩语)

使用工业标准实现动态SDK的Tron区块链集成 [TronWallet 适应器](https://walletadapter.org/)。 。 。 .

## 概览

这个软件包使用TronWallet适配器标准在您 dApp 中提供与 Tron 钱包的无缝集成. 通过利用TronWallet适配器,可以访问9+ Tron钱包通过一个单一,统一的接口,与自动钱包检测,连接管理,以及标准化的交易处理.

## 安装

```bash
npm install @dynamic-labs/tron
```

## 支持的钱包

此软件包通过 TronWallet 适配器支持以下 Tron 钱包 :

| 钱包 | 类型 | 说明 |
| --- | --- | --- |
| **OKX 钱包** | 浏览器扩展 | 有 Tron 支持的多链钱包 |
| **位元钱包** | 浏览器扩展 | 原为位保存 |
| **托肯包** | 移动/延长 | 多链钱包 |
| **信任钱包** | 移动/延长 | 流行多链钱包 |

## 使用量

### 基本融合

将所有 Tron 钱包整合到您的动态配置 :

```typescript
import { DynamicContextProvider } from '@dynamic-labs/sdk-react-core';
import { TronWalletConnectors } from '@dynamic-labs/tron';

function App() {
  return (
    <DynamicContextProvider
      settings={{
        environmentId: 'your-environment-id',
        walletConnectors: [TronWalletConnectors()],
      }}
    >
      {/* Your app content */}
    </DynamicContextProvider>
  );
}
```

### 与 Tron 钱包合作

使用 `isTronWallet` 安全访问Tron特定功能的类型守护 :

```typescript
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isTronWallet } from '@dynamic-labs/tron';

function MyComponent() {
  const { primaryWallet } = useDynamicContext();

  const handleSendTrx = async () => {
    if (!isTronWallet(primaryWallet)) {
      console.error('Not a Tron wallet');
      return;
    }

    try {
      // Send 10 TRX
      const result = await primaryWallet.sendTrx('TRecipientAddress...', 10);
      console.log('Transaction sent:', result.txid);
    } catch (error) {
      console.error('Transaction failed:', error);
    }
  };

  return <button onClick={handleSendTrx}>Send TRX</button>;
}
```

### 正在访问 TronWeb

直接访问 TronWeb 实例 :

```typescript
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isTronWallet } from '@dynamic-labs/tron';

function MyComponent() {
  const { primaryWallet } = useDynamicContext();

  const getTronWebInstance = () => {
    if (!isTronWallet(primaryWallet)) return null;

    const tronWeb = primaryWallet.getTronWeb();
    return tronWeb;
  };

  const checkBalance = async () => {
    const tronWeb = getTronWebInstance();
    if (!tronWeb) return;

    const balance = await tronWeb.trx.getBalance(primaryWallet.address);
    console.log('Balance (in SUN):', balance);
    console.log('Balance (in TRX):', balance / 1_000_000);
  };

  return <button onClick={checkBalance}>Check Balance</button>;
}
```

### 签名信件

用 Tron 钱包签名信件( 使用) `signMessageV2`:

```typescript
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isTronWallet } from '@dynamic-labs/tron';

function MyComponent() {
  const { primaryWallet } = useDynamicContext();

  const handleSignMessage = async () => {
    if (!isTronWallet(primaryWallet)) return;

    try {
      const message = 'Hello, Tron!';
      const signature = await primaryWallet.signMessage(message);
      console.log('Signature:', signature);

      // Verify the signature
      const tronWeb = primaryWallet.getTronWeb();
      if (tronWeb) {
        const recoveredAddress = await tronWeb.trx.verifyMessageV2(
          message,
          signature,
        );
        console.log('Verified:', recoveredAddress === primaryWallet.address);
      }
    } catch (error) {
      console.error('Signing failed:', error);
    }
  };

  return <button onClick={handleSignMessage}>Sign Message</button>;
}
```

### 与TRC20 Tokens合作

获取符号余额并与 TRC20 符号交互 :

```typescript
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isTronWallet } from '@dynamic-labs/tron';

function MyComponent() {
  const { primaryWallet } = useDynamicContext();

  const getUSDTBalance = async () => {
    if (!isTronWallet(primaryWallet)) return;

    // USDT contract address on Tron mainnet
    const usdtContract = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';

    try {
      const balance = await primaryWallet.getTokenBalance(usdtContract);
      console.log('USDT Balance:', balance);
    } catch (error) {
      console.error('Failed to get token balance:', error);
    }
  };

  return <button onClick={getUSDTBalance}>Get USDT Balance</button>;
}
```

### 网络信息

获取当前网络细节 :

```typescript
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isTronWallet } from '@dynamic-labs/tron';

function MyComponent() {
  const { primaryWallet } = useDynamicContext();

  const getNetworkInfo = async () => {
    if (!isTronWallet(primaryWallet)) return;

    const network = await primaryWallet.getNetworkDetails();
    console.log('Chain ID:', network.chainId);
    console.log('Network Name:', network.name);
  };

  return <button onClick={getNetworkInfo}>Get Network Info</button>;
}
```

## 支持的网络

该套件包括内置支持:

-   **特龙主网** (车名: `0x2b6653dc`(中文(简体) )
-   **尼罗河试验网** (车名: `0x94a9059e`(中文(简体) )
-   **沙斯塔测试网** (车名: `0x401e93ff`(中文(简体) )

### 自定义网络

您可以在创建连接器时配置自定义网络 :

```typescript
import { TronLinkConnector } from '@dynamic-labs/tron';
import type { GenericNetwork } from '@dynamic-labs/types';

const customNetworks: GenericNetwork[] = [
  {
    blockExplorerUrls: ['https://custom-explorer.com'],
    chainId: '0x12345678',
    chainName: 'Custom Tron Network',
    name: 'Custom Tron Network',
    nativeCurrency: {
      decimals: 6,
      name: 'TRX',
      symbol: 'TRX',
    },
    networkId: '0x12345678',
    rpcUrls: ['https://custom-rpc.example.com'],
    vanityName: 'Custom Network',
  },
];

// Use with connector
const connector = new TronLinkConnector({
  walletBook: walletBookInstance,
  tronNetworks: customNetworks,
});
```

## API 参考

### TronWallet 类

Tron钱包的主钱包类.

#### 方法

-   `getAddress(): Promise<string>` - 获取钱包地址
-   `getNetwork(): Promise<string | number | undefined>` - 获取当前网络
-   `signMessage(message: string | Uint8Array): Promise<string>` - 签名
-   `getBalance(address?: string): Promise<string | undefined>` - 获得TRX平衡
-   `sendTrx(to: string, amount: number, options?: { from?: string }): Promise<BroadcastReturn>` - 发送TRX
-   `getTokenBalance(tokenId: string, address?: string): Promise<number>` - 获得TRC20 令牌余额
-   `getNetworkDetails(): Promise<{ chainId: string; name: string }>` - 获取网络信息
-   `getTronWeb(): TronWeb | undefined` - 获取TronWeb实例

### 是TronWallet( ) 语句

类型守护以检查钱包是否是 Tron 钱包 .

```typescript
function isTronWallet(wallet: Wallet | null | undefined): wallet is TronWallet;
```

## 建筑

此软件包使用 **TronWallet 适应器** 模式,其中规定:

1.  **适配层**: 每个钱包连接器将 TronWallet 适应器实例包裹
2.  **统一接口**: 所有钱包都显示相同的方法和事件
3.  **事件处理**: 连接,断开,账户变更等标准化事件.
4.  **网络检测**: 自动网络检测和切换支持

该架构遵循了Dynamic的钱包连接器模式,同时利用了TronWallet Adapter的战斗测试执行.

## 发展

### 构建

```bash
npx nx build tron
```

### 测试

```bash
npx nx test tron
```

### 林特

```bash
npx nx lint tron
```

## 类型脚本支持

这个包被用TypeScript来写,并提供了完整的类型定义. 启用您的严格模式 `tsconfig.json` 最佳经验:

```json
{
  "compilerOptions": {
    "strict": true
  }
}
```

## 资源

-   **TronWallet 适应器文档**数字 : [页:1](https://walletadapter.org/docs/)
-   **动态文档**数字 : [https://docs.动力学.xyz](https://docs.dynamic.xyz/)
-   **TronWeb 文档**数字 : [https://developers.tron.network/docs 页面存档备份,存于互联网档案馆](https://developers.tron.network/docs)
-   **Tron 网络**数字 : [https://tron.network (中文(简体) )](https://tron.network/)

## 支助

-   **文档**数字 : [维基文库中相关的原始文献: 通訊通訊通訊通訊通訊通訊通訊通訊通報](https://docs.dynamic.xyz/)
-   **GitHub 问题**数字 : [报告错误或请求特性](https://github.com/dynamic-labs/dynamic-sdk/issues)
-   **解析器**数字 : [加入我们的社区](https://discord.gg/dynamic)

## 许可证

这个软件包是动态SDK的一部分,并遵循同样的许可证条款. 见 [自由主义](https://npmcn.com/package/LICENSE) 详情

* * *

**由动态实验室团队建造**

## 常见问题

### @dynamic-labs/tron 是什么？

对您网站执行钱包网络3认证和授权的 SDK 反应 \.

### 如何安装 @dynamic-labs/tron？

在项目目录运行 npm install @dynamic-labs/tron，或使用 pnpm add / yarn add / bun add。

### @dynamic-labs/tron 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @dynamic-labs/tron 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dynamic-labs/tron 可以商用吗？

@dynamic-labs/tron 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @dynamic-labs/tron 的下载量有多少？

根据 npm 官方下载统计，@dynamic-labs/tron 在 2026/10/13 – 2026/11/11 这 30 天内被下载 12,465 次，日均约 416 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dynamic-labs/tron 还在维护吗？

最新版本 5\.16\.0 发布于 2026/11/11（2 天前）；至今共发布 207 个版本，其中过去 12 个月发布了 178 个；首次发布于 2025/09/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

