Tza*_*tox 6 blockchain ethereum
我有两个相同的交易,在这种情况下发送相同数量的令牌,导致不同的实际燃气消耗(不是成本,而是显着差异).
这是tx哈希:
起初我认为数据可能会导致差异(有效载荷中的"0"量)或相应块的采矿难度差异,但这些似乎都不能证明这种气体使用差距(如果相关的话)
有没有人解释为什么会发生这种情况?请注意,我有更多这样的交易存在相同的差距.
TNX!
UPDATE
按照下面的smarx评论 - 听起来是正确的,但是,我希望最多有4种不同的气体值(2X2组合,正如你所提到的).实际上,我们有超过4种不同的结果.以下是一些交易,其燃气使用价值:
22280 0x26c4b28a068e6ec91579c96e32aba449f2ad73168aca51e476a5a84072a620b6 22344 0x1341a9c4f6641746a50f8d05bb907d16150edf5e313b697908ddf3546e8fb9ae 22408 0x163eed32fee0f5999505dff804bd047620d0c063e07ad142ba0e257ed30cc4ee 22472 0xec326e42069efdefc79bd07fa98724ca2ec00432129cc3179e582a0e88af5112 22536 0xbd06b1722447fa8aaa783717c8237dd8b3934137ac8eabfd20bbdc6d1ec1af50 22600 0x9c3df4902887c94f9bf7901b8273c8b9da94d36f80801c3c5dbec9b4e7a5d8a8 36960 0x0ec051a92b1821d264f70b949cae68c2f463ae741330dc6a3a103b2612d1ea1c 37280 0x233e7c7abbf0e482c4c5b55efb31a7cd3c073ab00d2116fcff171f9e71542c1b 37344 0x3a93f860418732e76ca5941d7f9e6f0ec78df19905b8303ea520cea0994168aa 37408 0x6ce02124e33088fa7d13bfe2802039afecd78ba10e0a46598dea577c2ea61f27 37472 0x1f5be1f26f97f74aeb06d156d2221854597673640bc3c38690191501d2cd8f71 37536 0xd0edcfe4c179294bffca80f812a4a827a560294a1d944ac77adb9b8a0b22aa60 37600 0x2d7eca881486d69968eb3ab1f16850c0cd497003d06a2ea61efaeed6467f9a6a 52280 0x77d607600bf0110785cd08de78399d61c369274baa3 a180841bc0d1f015f328d 52344 0xa0a3f46e35abe608c27cec2cc188beddabad724ea6362a4584e9325a5cd9d276 52408 0x41c63e00b4e58ce2292a17216e7dc2554733feb70d2a0fe9c505689ef1dd50a3 52472 0x4ed5e9366948a23340b7f572dc69da5b0525cc4f7b5d0ddd83945ef4cdbaf05c 52536 0x40b33b7f9bc08171b1b2f54241db6f58ae72bd89c9b9d7650ba3ca5174144dcd
只是一个猜测,但很有可能:
该transfer函数对存储进行两次写入:
from。to。根据先前的值和新的值,写入存储具有不同的 Gas 成本。
我的猜测是,在第一笔交易中,该to地址的初始余额为零,并且该from地址在交易后仍然剩余一些代币。将存储中的零值更改为非零值需要花费 20,000 个 Gas,因此这是更新地址的成本to。将一个非零值更改为另一个非零值的 Gas 成本为 5,000 Gas,因此这就是更新地址的成本from。两条存储指令的总成本:25,000。
我的猜测是,在第二笔交易中,该to地址的初始余额为正,并且增加了,并且该from地址的余额已被交易完全耗尽。更新to地址需要 5,000 个gas(将一个非零值更改为另一个非零值)。更新from地址涉及将非零值更改为零,为此您可以获得汽油退款。成本为 5,000 Gas,但交易结束时会退还 15,000 Gas。净成本为 -10,000,因此两条存储指令的总成本为 -5,000。
25,000 和-5,000 之间相差 30,000,这正是两笔交易之间的 Gas 差额。