2018-10-23笔记
Remix功能介绍
文件浏览区可以查看浏览器的目录树,最右边的connection
用来连接本地的共享文件夹。控制台在部署合约、调用合约的时候,会显示交易信息,交易详情的字段都很容易理解。交易旁边的Debug
按钮可以用来调试该交易。(图片最下面的红字应该是调用get方法,懒得重新弄图了)
功能区
功能区选项及作用:
-
Compile
:编译合约 -
Run
:运行合约 -
Analysis
:分析合约代码用的 -
Testing
:单元测试 -
Debugger
:调试器 -
Setting
:通用设置、插件等 -
Support
:反馈建议、技术支持
只需要知道Compile
,Run
,Debugger
就可以了,其他保持默认就好了。
Compile
第一块是选择编译器及一些附加选项。
第二块中的Detail
中的WEB3DEPLOY
可以直接粘贴到Geth中,用于部署合约。Swarm
用于发布合约,暂时没用过。
第三块显示合约编译的结果。
Run
第一块中的Environment提供了三个选项,分别是Javascript VM
,这个Remix内置的虚拟机,提供了合约部署、运行的功能,跟以太坊虚拟机功能一样的,这个相当于在内存中模拟了一条区块链。Injected Web3
主要是通过插件使用。Web3 Provider
将Remix连接指定的以太坊节点,比如之前的私有链节点。但是,在调试合约的时候需要选择Javascript VM
。Account
是Remix预设的测试账号。Gas limit
即合约运行的最大Gas消耗量。Value
是发起交易时顺带着一起的Eth。
第二块中分别是部署合约或者从一个合约地址中获取一个合约实例。
第三块是当前内存中的交易记录。提供了两个功能,保存所有交易信息为json文件,从json文件中读取交易信息。
第四块是合约实例。可以在这调用合约的方法。
Debugger
在控制台中找到需要调试的交易,点击Debug
,右边功能去便跳转到Debugger
。
最上面的是指令跟一些指令Gas消耗之类的,还有控制指令运行的7个按钮。如果要设置断点,直接在代码编辑去的行号那里点击一下,就可以成功设置断点。变量存储区中,Locals
展示当前函数的局部变量,State
展示当前合约的状态变量,剩下的都是比较底层的,其中Return Value
用于显示Return
指令的返回值。
开发流程
- 新建文件
- 编写完之后,如果没有开启
Auto Compile
,就到Complie
中选择Start Compile
- 到
Run
中设置好相关的参数,点击Deploy
即可部署合约,然后再最下面的Deployed Contracts
中,可以调用该合约的方法 - 控制台中的
Debug
可以用于调试每次的交易