详解智能合约开发利器Remix-IDE(2020.6.4 Last Version)

以太坊智能合约的开发,作者目前使用两种方法:

方法一:使用Truffle 框架 开发
方法二:Remix-IDE集成开发环境

Truffle 框架的基本使用在之前的博客中已经做了介绍,本节主要介绍IDE集成开发环境,并使用两个只能合约实例做原理演示,并且将以一个测试用例来介绍如何进行只能合约单元测试。

Remix-IDE

在Linux环境下,使用如下方式安装:
step1:进入官方网站 https://github.com/ethereum/remix-ide
step2:按照如下方法执行
在这里插入图片描述
特别注意红色的标识,红色的相关指令一定是当你需要连接Git上的源码,并且想做相关开发的安装指令。
如果你只是个人玩家,打算自己在本地安装IDE 并且 不打算参与IDE开发的朋友。

只要执行蓝色标识指令即可!
只要执行蓝色标识指令即可!
只要执行蓝色标识指令即可!

安装完成后本地执行npm start 指令开启本地以太坊服务器。

打开你的浏览器,打开127.0.0.1:8080 即可进入集成开发环境,当今天最新版本如下所示:
在这里插入图片描述
上图即为安装完成后初始界面。

Remix-IDE 界面介绍

整个开发界面如下图所示:
在这里插入图片描述
如上图所示,我们将这个界面分为8个部分,下来将按照标记的顺序,逐一的解释与描述。

①文件空间描述
这个部分即为我们编写的智能合约文件,如下图所示,我们这里有三个智能合约文件
Counter.sol
CallCounter.sol
【引用*】前两个合约内容,作者第一次在《以太坊技术详解与实战》中看到,非常简单的例子。
CallCounter_test.sol
在这里插入图片描述
②智能合约编译器信息
智能合约在编写完成后,需要编译器编译成二进制文件,智能合约的部署与执行本质上就是保存了一个二进制文件,而调用智能合约即为调用这个二进制文件提供的接口。
在这里插入图片描述
如上图所示,可以自主选择solidity 编译版本,点击按钮即可完成编译。

③DEPLOY & RUN TRANSACTIONS 部署与执行交易功能
第三部分就是部署已经编译完成的智能合约,然后执行智能合约中的交易,点击 Deploy即完成了智能合约的部署,反馈如下图所示:
在这里插入图片描述
图中由上到小分别为执行环境,执行账户(部署时随机生成的测试账户)默认生成10个账户,以上账户均为外部账户,每个账户默认保有100以太币。接着是Gas Limit 智能合约GAS的消耗上限,VALUE 转账价值,注意这里,部署的合约中一定要有接受账户,不然直接部署会出错。
接着,就是当前合约名称。

注意,右下角的DEBUG按钮,可以让你进入单步调试功能;与GDB之类的调试器类似,不过可视化功能倒是做的不错,是非常实用的调试工具,可以观察执行栈的内容,以及相关的变量变化。

特别注意的是,在这里可以看到合约中状态变量,所有交易函数,并且我们能够在这里直接看到合约中的变量数值与直接发起“消息调用交易”,如下图所示:
在这里插入图片描述
可以看到,有合约地址0xB88…013 这个地址可以直接复制使用,状态变量count 的值为10;

④智能合约SOLIDITY STATIC ANALYSIS
这个模块主要对智能合约进行静态的安全性分析,如下图所示
在这里插入图片描述
⑤DEBUGGER 调试
调试功能在上文也提到过,不仅可以单步调试,我们的智能合约也能显示每一笔交易的具体细节如图所示:
在这里插入图片描述
交易的内容数据与以太坊上交易的格式相同,读者可以自行查阅对比理解。
其中要说明的是两个内容 Transaction cost 和 execution cost 这两个内容:
Transaction cost : 执行整个交易所花费的费用,包含虚拟机执行智能合约代码的费用
Execution cost: 特指虚拟机执行智能合约代码所花费的费用

⑥SOLIDITY UNIT TESTING
智能合约单元测试模块,点击Generate 按钮可以生成一个测试模板文件,我们给该测试文件中写入一个部署合约的语句;测试结果如下:
在这里插入图片描述
这个单元测试不但能够测试正确性,还能统计测试时间。

⑦ 插件使用情况,可以选择自己需要的插件
⑧ 编辑板块
⑨ 终端命令行(第一张图标记有误,小事)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐