Namada 上的费用 (Fees on Namada)
为了解决Namada区块空间需求的市场,费用与交易相结合。为了使任何Namada交易被视为有效,必须支付正确的相应费用。确切的费用由用户设置,并且必须大于或等于由治理设置的最低 gas-price
,该价格包含在创世纪文件的gas_cost
下。
如何支付费用(How fees are paid)
当明确声明时,通过--gas-payer
标志支付燃气费。如果没有指定--gas-payer
标志,则通过--signing-keys
标志中的第一个键支付燃气费。
这意味着在交易中
与key keysha
关联的账户将被要求支付费用。这意味着尽管账户accountant
可能有正的NAM余额,但keysha
需要有关联的NAM以支付交易费用。
用户还可以指定一个--gas-payer
标志以指定不同的账户来支付费用。这在签署交易的账户没有足够的NAM支付费用的情况下很有用。例如,如果keysha
的余额为5 NAM,但accountant
的余额为100 NAM,则以下交易将是有效的:
(假设keysha2存在并且在用户的钱包中)
为了测试网目的,我们建议使用水龙头来为交易费用提供NAM。
如何计算费用(How fees are calculated)
交易的费用是通过将gas-limit
乘以gas price来计算的。用户可以指定--gas-limit
和--gas-price
。如果两者都没有指定,将使用默认的gas limit和最低gas price。任何交易的默认gas limit当前设置为20,000
。
最低气体价格设置在创世纪文件的gas_cost
下。
如何设置燃气价格和燃气限制 (How to set the gas price and gas limit)
建议根据正在进行的交易来设置gas-limit
。为了估算特定交易的gas-limit
,应提供--dry-run-wrapper
参数。这意味着该交易已经被模拟,但尚未发送到分类账。
例如,以下命令将模拟转账交易,并返回所用的燃气:
将输出类似于以下内容的结果:
这意味着我们可以合理地用2000的gas-limit
进行此转账交易。
因此,在进行转账时,我们可以如下所示指定gas-limit
:
如果由于某种原因,我们想支付更高的燃气费,我们也可以如下所示指定:
这将激励验证者优先考虑那些具有较低燃气价格的交易。
使用MASP中的令牌支付费用 (Paying fees with tokens in the MASP)
还可以使用MASP支付费用。这样做的目的是确保即使用户在其透明余额中没有NAM,他们仍然可以在链上进行透明交易。这对于用户来说是将资产最大化保留在MASP中的另一个激励。
为了使用MASP支付费用,用户必须指定--gas-spending-key
标志,并将其设置为钱包中的spending key的别名。这意味着费用将从spending key的隐蔽余额中扣除,并在通过--gas-payer
支付之前解除到--gas-payer
(或--signing-keys
中的第一个key对应的地址)的透明余额。
例如,如果用户在他们的钱包中有一个spending key名为spending-key-1
,并且他们想使用MASP支付交易费用,他们会运行以下命令:
在此示例中,keysha可能只在他们的透明余额中有OSMO余额,但spending-key-1可能在他们的隐蔽余额中有正的NAM余额。在这种情况下,NAM将被解除到keysha的透明余额中,然后用于支付交易费用。
使用一次性燃气付款人 (Using a disposable gas payer)
还可以使用一次性燃气付款人支付交易费用。这在用户不想透露--gas-payer
身份的情况下很有用。为了使用一次性燃气付款人,用户必须包括--disposable-gas-payer
标志,并且还必须指定一个--gas-spending-key
。这意味着费用将从--gas-spending-key
的隐蔽余额中扣除,并在由临时地址支付之前解除到临时透明地址的透明余额。
例如,如果用户在他们的钱包中有一个spending key名为spending-key-1
,并且他们想使用一次性地址支付交易费用,他们会运行以下命令:
Last updated