使用GUI(Remix)和Ganache调试Solidity

调试Solidity非常困难。随着时间的流逝,诸如Ganache,Remix和solidity-test-helpers之类的工具使它变得更容易,但仍然存在bug。
使用ganache进行调试的gui将有助于减轻许多这些痛苦,并允许开发人员可视化地处理和调试合同。现在有一种方法可以做到这一点!本教程使用Ganache(即时事务)和Remix调试本地Solidity项目。
环境配置
以下内容假设您有一个Truffle项目,并尝试使用Ganache对其进行调试。
使用GUI进行调试的步骤如下:
安装remixd
运营remixd
将您的项目连接到remix.ethereum.org
运行ganache cli
在Remix中选择“ Web3 Provider”作为您的“环境”
使用GUI调试代码
安装remixd
为了使用GUI调试合同,必须首先下载重新remixd。remixd是与Remix IDE一起使用的工具(又名Browser-Solidity)。它允许Remix IDE(Web应用程序)和本地计算机之间的Websocket连接。要下载它,只需运行:
npm install -g remixd
运行remixd
现在您需要运行remixed来设置websocket连接。您可以通过对项目的绝对路径运行以下命令来执行此操作:
remixd -s <absolute-path> –remix-ide https://remix.ethereum.org
将您的项目连接到remix.ethereum.org
现在前往Remix。在此页面上,通过单击看起来像插头的图标转到“插件”部分。在插件中搜索“ remixed”,然后单击“activate”。

该页面将警告您即将打开端口和页面之间的连接。单击“connect”,您将看到整个项目出现在Remix中!现在您应该看到本地目录显示在Remix中。

运行ganache-cli
现在您需要通过运行ganache cli来启动本地节点。
在Remix中选择“ Web3 Provider”作为您的“Environment”
现在您需要将本地节点(ganache)连接到Remix。通过单击Remix左侧的以太坊外观符号,然后在Remix中选择“ Web3 Provider”作为“Environment”来执行此操作。
您将得到一个关于外部节点请求的弹出窗口。除非更改了ganache节点正在运行的端口,否则所有默认选项都将起作用。

使用GUI调试代码
您现在可以使用GUI调试本地代码!您可以部署合约并直接通过GUI与之交互。
要确认此方法是否有效,请随时部署合同并查看在ganache节点上执行的交易。
结论
这种调试为Solidity开辟了一个全新的世界。它为以太坊开发人员拓宽了工具领域,并允许命令行以及可视化调试和测试。Remix提供了一个出色的编码和调试界面,以及令人难以置信(且正在不断发展)的插件套件,您现在可以使用它们与合约进行交互。
附加的功能
您可以使用此设置执行许多更高级的功能。其中包括:
1. 分叉实时网络并可视化地单步执行失败的事务
2. 使用etherscan插件验证etherscan上的智能合约
3. 使用Mythx Remix插件保护您的智能合约