关于 TRC20 Token Toolkit
面向 TRON 上 AI Agent 的 TRC20 代币操作工具包,可查询余额与代币信息、转账及管理授权。支持常见代币符号和任意代币合约地址,并提供 dry-run 与地址校验。
主要功能
- 01查询代币元数据
- 02查询单个或批量余额
- 03转账前 dry-run 校验
- 04设置及查询代币授权
- 05支持符号或合约地址
适用场景
- 01查看钱包中的多种代币余额
- 02发送代币前验证地址与金额
- 03为指定合约设置所需额度
- 04查询代币名称、符号和供应量
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bofai/ skills --skill trc20-token-toolkit安装后在 Claude Code 中输入/trc20-token-toolkit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreREADME.mdpackage.jsonpackage-lock.jsonresources/well_known_tokens.jsonscripts/approve.jsbalance.jstransfer.jsinfo.jsutils.js详细介绍
TRC20 代币工具包
为 TRON 上的 AI Agent 提供通用的 TRC20 代币操作。查询余额、转账代币、管理授权,并获取任意 TRC20 代币的元数据。支持通过符号查找常见代币(USDT、USDD、SUN 等),也支持使用任意代币的合约地址。
快速开始
**需要钱包:**先运行
agent-wallet list。
如果不存在钱包,请先调用bankofai-guide(C 节 — Wallet Guard),再继续操作。
- 安装依赖:
cd trc20-toolkit-skill && npm install - 设置环境变量:
export TRON_PRIVATE_KEY="<your-private-key>" export TRON_NETWORK="mainnet" export TRONGRID_API_KEY="<optional>"
注意
切勿显示或记录私钥。
可用脚本
1. info.js — 代币元数据
node scripts/info.js <tokenAddressOrSymbol>
node scripts/info.js USDT
node scripts/info.js TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
输出:name、symbol、decimals、total_supply
2. balance.js — 代币余额
# Single token balance
node scripts/balance.js USDT
node scripts/balance.js USDT TWalletAddress123
# Batch balance check
node scripts/balance.js --batch USDT,USDD,SUN
node scripts/balance.js --batch USDT,USDD TWalletAddress123
输出:trx_balance、tokens[](每项包含 symbol、balance、decimals)
**行为说明:**在 --batch 模式下,无效的代币输入会作为单项错误返回,而不会导致整个批次中止。
3. transfer.js — 转账代币
| 参数 | 必填 | 描述 |
|---|---|---|
token | 是 | 代币地址或符号 |
toAddress | 是 | 收款方 TRON 地址 |
amount | 是 | 易读格式的金额 |
--dry-run | 否 | 仅验证,不发起交易 |
node scripts/transfer.js USDT TRecipientAddress 10.5 --dry-run
node scripts/transfer.js USDT TRecipientAddress 10.5
输出:status、tx_id、amount、symbol
**验证规则:**收款地址必须是有效的 TRON 地址;不允许向自身转账;即使在 --dry-run 模式下,amount 也必须大于 0。
4. approve.js — 管理授权额度
# Set allowance (use the exact amount needed, never unlimited)
node scripts/approve.js USDT TSpenderAddress 1000 --dry-run
node scripts/approve.js USDT TSpenderAddress 1000
# Check current allowance
node scripts/approve.js USDT TSpenderAddress --check
node scripts/approve.js USDT TSpenderAddress --check TWalletAddress
输出:allowance、is_max、status、tx_id
**验证规则:**支出方地址和可选的所有者地址必须是有效的 TRON 地址;amount 必须大于 0;无限额授权仍处于禁用状态。
使用模式
模式 1:转账前检查(推荐)
node scripts/balance.js USDT
node scripts/transfer.js USDT TRecipient 100 --dry-run
# Confirm with user
node scripts/transfer.js USDT TRecipient 100
模式 2:查看资产组合概览
node scripts/balance.js --batch USDT,USDD,SUN,JST,BTT
安全规则
注意
- 切勿在输出或日志中显示私钥。
- **未经用户确认,切勿转账。**始终先使用
--dry-run。 - **防止向自身转账。**脚本会拒绝向发送方自己的地址转账。
- **验证地址。**确保所有地址都以
T开头,且是有效的 TRON Base58 地址。 - **转账前检查余额。**脚本会自动验证余额是否充足。
- **切勿使用无限额授权。**始终只授权预期兑换或转账所需的确切金额。脚本会拒绝无限额(MAX_UINT256)授权。这可以防止已遭入侵或恶意的支出方合约转走全部代币余额。
- **谨慎处理多权限钱包。**这些脚本假设签名密钥可直接使用;需要显式选择
permissionId的钱包可能需要采用不同的交易流程。
支持的代币
可通过符号查找的常见代币:USDT、USDD、USDC、WTRX、SUN、JST、BTT、WIN。
任何 TRC20 代币都可以通过其合约地址使用。
完整列表请参见 resources/well_known_tokens.json。
常见问题
| 问题 | 解决方案 |
|---|---|
Unknown token symbol | 改用完整的合约地址 |
Insufficient balance | 先使用 balance.js 检查余额 |
TRON_PRIVATE_KEY required | 设置该环境变量 |
Cannot find module 'tronweb' | 运行 npm install |
版本 1.0.0 — 由 M2M Agent Registry 为 Bank of AI 创建