【发布时间】:2022-06-24 19:17:45
【问题描述】:
我以编程方式发送交易,我需要确切知道费用是多少。我设法弄清楚如何计算普通交易的费用((转账成本 + 收据创建成本)* 2),但现在我正在努力解决我需要从账户中取出所有资金而不删除它的情况。据我了解,在这种情况下,帐户上必须有存储租金。但是,我真的不知道如何计算租金。从 \'EXPERIMENTAL_protocol_config\' 方法返回的值似乎与租金相关 - \'storage_amount_per_byte\',这意味着每个字节的成本为 10000000000000000000 yocto,我也可以从 \'query\ 获取 \'storage_usage\' ' 请求类型为 \'view_account\' 的方法,据说它表示我的帐户使用了多少字节(即 182)。但每当我尝试发送交易时,我都会收到一个“NotEnoughBalance”错误,指出交易成本高于余额,但仅高出 669547687500000000 yocto。无论我做什么,我都无法理解这个数字是从哪里来的。上述 \'EXPERIMENTAL_protocol_config\' 方法的费用组合不会产生这个数字。 似乎几乎没有关于交易费用计算的像样的文档,除了大多数使用操作的一些“固定”值。如果您有任何有关费用/存储租金计算的信息 - 我将不胜感激。
-
通过反复试验,我设法弄清楚了基于字节的存储价格的相当明显的价格——即 182 * 10000000000000000000 = 1820000000000000000000。但是,669547687500000000 的部分仍然是个谜。我试着离开 18206695476874帐户上的 00000000,仅比预期需要的少 100000000,并且交易失败。所以 18206695476875在我的情况下,00000000 是最低限度。如果您发现这个号码很熟悉或知道它的来源 - 请分享。
标签: nearprotocol