原文:https://blog.51cto.com/zero01/2366173
Remix Solidity IDE 简介:
Remix Solidity IDE 是一款基于浏览器的IDE,它用于开发智能合约,也是目前比较推荐的一款开发以太坊智能合约的IDE,特别是对于新手来说。由于是基于浏览器的IDE,有一个很大的好处就是不用安装,也不用去安装Solidity运行环境,打开即用(前提是网络比较好没被墙)。
目前来说 Remix Solidity IDE 的功能也还算全面,传统IDE有的功能这里都有,例如:
- 代码提示补全,代码高亮
- 代码警告、错误提示
- 运行日志输出
- 代码调试
- …
Remix Solidity IDE地址如下:
打开以上网址后进入的页面如下:
我们来简单的将这个IDE页面分成几个区域,简述一下各个区域可以做些什么:
和大多数IDE一样,最左边是文件浏览,中间是代码编辑区域,右边是功能区域,下边是日志区域。
在右侧的功能区域,常用的是Compile、Run及Debuger几个标签页
在Compile页,会动态的显示当前编辑区域合约的编译信息,如显示错误和警告。编译的直接码信息及ABI接口可以通过点击Details查看到。在Run页,可以部署合约,以及调用合约函数等。
简单说明一下文件操作区域的几个按钮:
然后是最常用的编译区域:
以及运行区域:
Hello World
接下来我们使用一个HelloWorld合约演示一下合约代码的编写到部署的过程,首先创建一个HelloWorld.sol文件:
然后编写如下代码,并在右侧 ”Compile“ 选项卡中进行编译:
编译成功后,就可以到 “Run” 选项卡中部署该合约了,点击Deploy:
部署成功后,可以点击运行该合约的函数:
在我们每次执行一个交易(不管是方式调用还是函数执行)的时候,在日志都会输出一条记录,如下图:
点击上图中的“Debug”按钮,在Remix右侧的功能区域会切换到调试面板,如下图:
最上面的区域可以查看交易及交易的执行过程,并且提供了7个调试的按钮以及一个滚动条,通过滚动滚动条可以看到合约执行的过程,如下图:
为了方便介绍,我为上图中每个按钮编了号,每个按钮的含义如下:
- 后退一步(不进入函数内部)
- 后退一步(进入函数内部)
- 前进一步(进入函数内部)
- 前进一步(不进入函数内部)
- 跳到上一个断点
- 跳出当前调用
- 跳到下一个断点
剩下就是执行过程的详细信息:
- Solidity Locals:当前上下文的局部变量的值
- Solidity State: 当前执行合约的状态变量
- Stack:当前执行合约的栈信息
- Memory:当前执行合约的内存信息
- Storage:当前执行合约的存储信息
- Call Stack:当前执行合约的调用栈信息
- Call Data:当前执行合约的调用数据信息
- Return Value:当前执行函数的返回值
- Full Storage Changes:执行合约时全部存储数据的变化信息