往发送地址转一点 TRX,到账后再发 USDT。钱包提示 TRX 不足或能量不足,卡住的是手续费:在波场上转 TRC20 的 USDT,是对 USDT 合约发起一次调用,要消耗带宽和能量,两样都记在发起转账的地址头上;自己的资源不够,就烧这个地址里的 TRX,USDT 余额再多也抵不上。
能量这一项没有免费额度。波场中文开发文档《资源模型》给的顺序是先用账户里的可用能量,不足的部分按当前每单位 0.0001 TRX 燃烧 TRX。地址里一个 TRX 都没有,也没有质押或别人代理来的能量,这笔能量费就没地方出,转账自然发不出去。一笔转账具体烧多少,文档只给单价和算法,没有一个固定数,热门合约在不同时段要的能量还可能不同。
从交易所提 USDT 和用自己钱包转出,谁来付能量
链上那笔转账由交易所的地址发出
能量和带宽从交易所那边扣
你付提币页列出的手续费
你的地址就是交易发起者
能量和带宽从你这里扣
不够的部分烧你地址里的 TRX
扣带宽、扣能量、烧 TRX,对象都是交易的发起者,收款的一方不出资源。钱包里这笔 USDT 要是从交易所提过来的,提的时候一路顺利,头一回往外转却被拦下,原因就在这里:这一次发起转账的,换成了你自己的地址。
以太坊上转 USDT 要备 ETH 付 Gas 费;波场把这笔费用拆成带宽和能量两样资源来记,自己没有资源时,就得补 TRX。
波场的带宽和能量各扣什么、每天免费多少
两样资源分开记账,扣法也不一样。
| 资源 | 用在哪 | 免费额度 | 自己的不够时 |
|---|---|---|---|
| 带宽 | 除查询外的每笔交易,按占用的字节数消耗 | 每个账户每天 600,委员会可经提案调整 | 烧 TRX:交易字节数 × 1,000 sun(即每单位 0.001 TRX) |
| 能量 | 部署或执行智能合约时的计算量 | 没有 | 不足部分烧 TRX:每单位 0.0001 TRX(即 100 sun) |
带宽按三档往下扣:先扣质押 TRX 得来的带宽,再扣每天的免费带宽,最后才烧 TRX。每一档都要单独付清这整笔交易的带宽,不能拼着付;前两档哪一档都付不全,整笔带宽就按字节数烧 TRX。
能量少一档。先用可用能量,自己质押得来的、别的账户代理过来的都算,不足的部分才烧 TRX。按英文开发者文档《Paying for resources》,表里这两个燃烧单价都是链上参数,可以经提案修改。
USDT 没转出去 TRX 却少了一截的几种情况
合约执行时,能量是逐条指令计算、边执行边扣的。执行到一半停下,停之前扣掉的能量怎么算,看中断的原因:
- 超出 fee_limit:fee_limit 是调用者为这次合约执行愿意付的 TRX 上限。用量超过它,合约执行失败,已扣除的能量不退还;英文文档里这种失败的结果标作
OUT_OF_ENERGY。 - 合约主动回退(REVERT):只扣已经执行的那些指令对应的能量。
- 合约出 bug 或执行超时:扣掉这笔交易可用的全部能量作为惩罚,其中烧 TRX 换来的那部分,上限由 fee_limit 决定。
这几种情况下,烧掉的 TRX 都不会退回;合约执行失败,这次 USDT 转账也就没有完成。拿这笔交易的 TxID 去区块浏览器查一下,看清它是失败还是成功、地址里的 USDT 和 TRX 各剩多少,再决定要不要重发。
重发之前先把 TRX 补够。上一笔要是还没查到结果,别急着再发一笔。
给没激活的新地址转 TRX 时建户费由打款方出
收款地址还没激活时,创建账户这一步要单独付费。英文开发者文档《Accounts and keys》里,建户费由发送方付,主网目前是 1 TRX。
波场中文文档《资源模型》对创建新账户的交易单列了一条带宽规则:不使用每日免费带宽,先消耗发起者质押得来的带宽,质押带宽不足,则直接燃烧 0.1 TRX 作为费用来完成账户创建。按英文开发者文档《Paying for resources》,这 0.1 TRX 是在 1 TRX 建户费之外另烧的,两笔叠加收。
给一个还没激活的新钱包补 TRX 时,从交易所提过去,发起方是交易所的地址;从你另一个钱包转过去,建户费就由那个钱包出,那边的 TRX 要把 1 TRX 建户费和可能另烧的 0.1 TRX 一起多备出来。这两个数都是链上参数,以发送时链上的设置为准。
补 TRX 之外,质押或别人代理也能拿到能量
补 TRX 最省事。能量只按缺口烧 TRX,没烧掉的留在地址里,补的时候宁可多留一点:按文档的动态能量模型,热门合约在一个维护周期(目前 6 小时)里用掉的能量过多,下一个周期再调用同样的交易会多耗能量。
经常从同一个地址往外转的,也可以质押 TRX 换能量。为能量质押的 TRX,按它在全网同类质押里的占比分得能量;别人多质押,你分到的就变少,质押多少换多少并不固定。
别的账户还能把它质押得来、还没用掉的能量代理给你。能量要么自己质押,要么别人代理,要么当场烧 TRX 换,哪一种都用不着你的助记词或私钥;想让别人代理能量,告诉对方你的接收地址就够了。打着「免费领能量」旗号、要你输入助记词或私钥的页面,直接关掉。
转账失败烧掉的 TRX、能量恢复和代理收回
转账失败了,已经烧掉的 TRX 能退回吗?
不能。用量超出 fee_limit、合约主动回退、合约出 bug 或执行超时,这几种中断都不会退回已经烧掉的 TRX,这次 USDT 转账也没有完成。先用这笔交易的 TxID 在区块浏览器里确认它是失败还是成功,看清地址里的 USDT 和 TRX 各剩多少;要重发,先把 TRX 补够。
能量和带宽用完了要多久恢复?
能量,以及免费带宽和质押得来的带宽,用掉之后都在 24 小时内逐步恢复,不是到某个整点一次性回满。等不到恢复又急着转,缺的部分照样可以烧 TRX 来付。
别人代理给我的能量会被收回吗?
对方取消代理时就会收回。代理时没选时间锁的,对方可以随时取消;选了时间锁的,要等锁定期过后才能取消,期间对方再次向同一地址代理,等待期重新计算。另外,接收方必须是已激活的外部账户,合约地址收不了代理。