跳到主要内容

设置交易费用

交易费用

在区块链上进行转账交易、部署或者执行智能合约,都需要支付一定的费用,我们称为交易费用。交易费用最终作为奖励,直接支付给确认交易的区块链矿工或验证者。交易费用的计算与链的交易费用模型相关,每种链都有自己的交易费用模型。

对于大多数的区块链来说,我们在发起交易的时候,都需要指定我们愿意为交易支付多少手交易费用,如果交易费设置不当,会出现以下问题:

  • 设置过高的交易费用:虽然完成交易时间可以被大大缩短,但是如果交易费用过高,将会造成手续费浪费,甚至会带来巨额损失。
  • 设置过低的交易费用:交易迟迟不能被区块链矿工或者验证者打包,完成交易时间过久,甚至最终因为手续费不足而导致交易失败。

如何设置交易费用

大多数区块链的交易费用是根据链上交易拥堵情况而动态变化的,这一特点决定了我们无法为一个或者一类交易预先设置固定的交易费用,而是需要在发起交易时根据该区块链的交易费用费模型和实时参数估算大致会消耗多少手续费用。使用 API 发起交易时有两种方式来设置交易费用,分别是:

  • 设置交易费用等级
  • 设置对应链的费用模型参数
提示

发起资产类型的交易相关的接口中都支持这两种方式,如果同时使用,则设置对应链的费用模型参数优先级会高于设置交易费用等级

设置交易费用等级

不同区块链的交易费用模型不同,Safeheron 为了便于开发者使用 API 发起交易,在发起资产类型交易的相关接口中提供了交易费用等级参数 txFeeLevel 以简化交易费用的设置。这种方式屏蔽了不同区块链交易费用模型不同的特性,根据您设置的交易费用等级,自动根据对应区块链的交易费用模型转化为交易费用。我们提供了三种交易费用等级:

费用等级说明
LOW低等级,最少交易费用消耗,在交易费用波动情况下,可能会增加交易完成的时间
MIDDLE中等级,相对合适的等级。如无其他特殊的需要,推荐使用此等级
HIGH高等级,支付相对高的交易费用。如为了尽可能的缩短交易完成时间可以采用此等级

设置对应链的费用模型参数

发起资产类型交易的相关接口提供了链的费用模型参数 feeRateDto,这种方式支持您准确的控制交易费用。您可以使用交易手续费估算 API 来估算交易所需的费用模型参数。 如果您熟悉不同区块链的交易费用模型,也可以自行估算费用模型参数。

如何选择交易费用设置方式

如果您不了解链相关的交易费用模型,或者您不需要精细的控制交易费用,推荐通过设置交易费用等级来设置交易费用,能帮助您简化交易费用设置。如果您需要精确地控制交易费用,推荐通过设置对应链的费用模型参数来设置交易费用。