如何验证智能合约没有错误?



我在 3 个月前部署了一个以太坊智能合约,我保留了原始源代码并试图在今天验证它,但无法做到。它一直告诉我'对不起!"hahaCoin"的编译合约字节码与合约创建代码不匹配。

我还在 ropsten 测试网上部署了一个具有相同代码的新代码,并且能够在下一分钟对其进行验证。在这个阶段,我猜这是因为编译器版本不匹配,所以我最终从列表中一个接一个地尝试编译器,并复制源代码以与正确的编译器进行比较。我不记得我使用的编译器版本,因为我正在使用在线混音 solidity IDE 来发布我的合约。

这些是我复制的一些字节码:

correct:
608060405234801561001057600080fd5b50604051604080611d2d8339810180604052810190808051906020019092919080519060200190929190505050336000806101000a81548173ffff
0.4.23
608060405234801561001057600080fd5b5060048054600160a060020a033316600160a060020a031990911681179091556b204fce5e3e250261100000006000818155918252600160205260
608060405234801561001057600080fd5b5060048054600160a060020a033316600160a060020a031990911681179091556b204fce5e3e250261100000006000818155918252600160205260
608060405234801561001057600080fd5b5060048054600160a060020a033316600160a060020a031990911681179091556b204fce5e3e250261100000006000818155918252600160205260
608060405234801561001057600080fd5b5033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffff
608060405234801561001057600080fd5b5033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffff
0.4.24
608060405234801561001057600080fd5b5033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffff
608060405234801561001057600080fd5b5060048054600160a060020a033316600160a060020a031990911681179091556b204fce5e3e250261100000006000818155918252600160205260
0.4.25
608060405234801561001057600080fd5b5060048054600160a060020a031916339081179091556b204fce5e3e250261100000006000818155918252600160205260409091205561092480610
608060405234801561001057600080fd5b5033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373fffffffffffffffffffffffffffffffffffffff
0.4.22
6060604052341561000f57600080fd5b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160
0.4.21
6060604052341561000f57600080fd5b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff

我在这里没有运气试图浪费我的时间。有没有人有类似的问题,我该如何解决?

好的,我找到了解决方案。 我选择了错误的编译器版本,对我来说正确的版本是 0.4.25-nightly.2018.5.16+commit.3897c367。

这是有史以来最糟糕的调试体验之一,我只是一一选择编译器版本进行测试。

相关内容

最新更新