区块链技术(13):Solidity开发神器Remix

蓝莲花 发布在 技术指南 2 8551

1   功能

这里我们使用在线编译器,打开网址

https://ethereum.github.io/browser-solidity

1

 

1.1   文件夹管理

最左边是文件夹管理,里面列出了当前工作区里的文件,remix可以支持从本地文件夹读取文件。

 

1.2   工作区

正中间是工作区,工作区上半部是代码编辑区,在这里可以写solidity合约。
下半部是日志区,在执行智能合约时,会显示transaction相关的信息。在输出日志的时候还可以查看Details和Debug信息。

 

1.3   功能区

最右边的是功能区,里面有编译、运行、设置和分析以及调试器和支持。

在编译器点击Details可以查看编译细节,里面有NAME,METADATA,BYTECODE,ABI 等一些相关信息。

在设置里面可以选择我们的编译器版本,和一些IDE的使用设置。

 

 

2   实战例子

一个简单的实现对数组增删改查的智能合约

2.1   打开工作区,输入代码

2

2.2   代码分析

•     string[] strArr; 定义了一个字符串的数组变量strArr,且该变量没有public因此不可见。

•     strArr.push(str); 其中的push是数组类型的两个member之一,另一个是length. 这里的push就是给该数组增加一个元素。//这里实现了对数组的新增功能。

•     getStrAt(uint n) 是一个简单的读取字符串的函数,//这里实现对数组的读取功能。

•     updateStrAt(uint n, string str) // 实现对数组的更新功能。

•     deleteStrAt(uint index) 这个值得一说,因为solidity默认的数组类型中没有删除功能,因此此处自己写了一个删除代码, 核心方法就是保证删除某项后,后面的元素依次向前,同时删除数据,同时保证数组的member length正确。

 

2.3   编译

代码写完之后我们到Compile区域点击编译Start to compile, 如果编译成功没有错误可以看到我Details信息。

 

2.4   运行

我们从Compile切换到Run区域,在Environment里面选择编译器,记住这里一定要选择Java Script VM.然后再At Address里面输入我们的eth服务端地址,可以输入测试网络,也可以输入自己搭建的私有链和联盟链。输入完成之后点击Create.这个时候我们可以看到:

3

右下角会生成我们的ABI方法。

 

2.5   测试

好了,这个时候我们可以开始测试了。

4

比如这里输入一个hello eth, 注意一定要加引号。然后点击add, 控制台会打印信息。

5

点击Details可以看到详细信息

6

刚刚我们添加了一个字符串,这里再调用一下get方法,打印出字符串。

7

HPB芯链团队汪晓明简介:

HPB芯链创始人,十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:2

您需要登录后才可以回复 登录|注册
    Author Image
    若灵 90天前

    厉害

    +1
    +1
    我要点评
    Author Image
    WPF 131天前

    前几天也是这么做了,但是在window系统的chrome中显示和图片有差别。在网上查了一下,remix,和geth,包括truffle等在window上经常会出现莫名其妙的问题。不知道楼主遇到过类似的问题吗?

    +1
    +1
    我要点评