name: 代币转账 description: 构建未签名交易,用于转账TRX或TRC20代币(如USDT、USDD等)到另一个地址,并进行金额验证和能量估计。
代币转账技能
何时使用此技能
使用此技能当用户想要:
- 发送TRX到另一个钱包
- 转账TRC20代币(如USDT、USDD、BTT等)
- 发送代币时附带备忘录/备注
- 在发送前检查转账成本
安全特性
🔒 从不处理私钥
- 仅生成未签名交易
- 用户在自有钱包中签名(如TronLink等)
- 预先验证充足余额
- 能量成本估计
支持的转账类型
- TRX: 原生TRON代币
- TRC20代币: USDT、USDD、BTT、JST,以及任何TRC20合约
- 通过地址自动检测代币类型
工作原理
- 验证: 检查发送方有充足余额
- 能量估计: 计算所需能量
- 交易构建: 创建未签名交易JSON
- 安全检查: 如果能量/带宽不足则警告
使用方法
from skills.transfer_tokens.scripts.build_transfer import build_transfer_transaction
tx = await build_transfer_transaction(
from_address="TYourAddress...",
to_address="TRecipient...",
token="TRX", # 或TRC20合约地址
amount=10.5,
memo="Payment for services"
)
参数
- from_address: 发送方钱包地址(交易签名者)
- to_address: 接收方钱包地址
- token: “TRX” 或 TRC20合约地址(例如,“TR7N…” 对于USDT)
- amount: 转账金额(以代币小数位计)
- memo: 可选备忘录/备注(仅用于TRX转账)
输出
返回未签名交易JSON:
{
"txID": "...",
"raw_data": {
"contract": [{
"parameter": {
"value": {
"amount": 10500000,
"to_address": "...",
"owner_address": "..."
}
}
}]
},
"metadata": {
"token": "TRX",
"amount": 10.5,
"recipient": "TRecipient...",
"estimated_energy": 0,
"estimated_bandwidth": 270
}
}
重要安全检查
⚠️ 签名前:
- ✅ 验证接收方地址(仔细检查!)
- ✅ 确认金额(小数位很重要!)
- ✅ 检查您有足够的TRX用于能量/带宽
- ✅ 对于USDT转账:约需14,000-32,000能量
能量成本
| 转账类型 | 能量 | 带宽 | 典型成本 |
|---|---|---|---|
| TRX | 0 | ~270 | 免费(如果带宽可用) |
| TRC20(USDT) | 14,000-32,000 | ~350 | ~0.5-1.5 TRX(或租用能量!) |
💡 提示: 对于USDT转账,首先使用energy-rental技能可以节省70%的费用!