美文网首页
智能合约 | 使用Remix调试Solidity

智能合约 | 使用Remix调试Solidity

作者: 爱写作的harry | 来源:发表于2018-12-07 12:17 被阅读0次

    对于一个新手来说,ta的Aha时刻来自于ta终于可以运行自己的第一行代码,我还记得我当年写的可以运行的“烂代码”的兴奋时刻。而当我利用自己的编程技能找到工作时,其中的一个Aha时刻来自于我学会了如何调试程序。调试程序占用工作的时间有时候会达到50%,面对着一堆代码逻辑就是不知道问题在哪里。而当我掌握了如何利用断点查看当前的变量和状态后,我的工作效率提升了一倍,bug变少了,幸福感提升了。

    调试Solidity有一个很好的工具:Remix,通过这个链接可以进入到Remix的网站:Remix - Solidity IDE

    代码编辑

    2018-12-06 at 11.17 PM.png

    之后我们可以把Solidity代码放到编辑器中,上图中可以看到最左侧的行数旁边有警告/错误提示,把鼠标放到上面会有具体的信息提示,根据提示修改代码就可以消除错误信息了。修改后的示例代码可以在这里获取:donation.sol · GitHub

    合约编译

    之后我们可以选择对应的编译器版本,示例代码中的版本是0.4.25,然后就可以编译了,看到绿色的提示表明编译成功。编译的主要工作是生成ABIbytecode,本文不做阐述。

    2018-12-06 at 11.38 PM.png

    合约部署

    编译成功后,就可以切换到Run标签进行合约的部署了,这里我们可以选择EnvironmentJavaScript VM,直接在浏览器中运行一个虚拟的区块链网络,这样就不用我们使用Mistganache-cli这类的工具再去运行区块链网络了。

    2018-12-06 at 11.24 PM.png

    如上图所示,选择JavaScript VM后,会自动帮我们生成5个Account,每个Account中有100个Ether,足够我们开发使用了。

    2018-12-06 at 11.25 PM.png

    如上图所示,点击Deploy按钮后就可以部署合约了,部署成功后会自动显示合约的信息。点击合约会显示所有的变量和方法。

    合约交互

    2018-12-06 at 11.40 PM.png

    如上图所示,红色表示此类方法会修改合约的状态,也表明了需要消耗gas;青色表示此类方法的作用是获取信息,不会修改合约的状态。点击具体的方法名字就可以和合约进行交互了。

    合约调试

    2018-12-06 at 11.39 PM.png

    如上图所示,同时与合约交互的transaction也会显示到代码区下面的区域。点击Debug按钮会跳转到Debugger界面(下图),不但可以进行单步调试,还可以看到合约中更具体的信息,如变量和合约状态等。

    2018-12-06 at 11.41 PM.png

    总结

    利用Remix可以很方便的对Solidity进行编辑,部署和调试,各位Solidity开发者赶快用起来吧。

    相关文章

      网友评论

          本文标题:智能合约 | 使用Remix调试Solidity

          本文链接:https://www.haomeiwen.com/subject/rkbhqqtx.html