1. 文章摘要
【本文目标】
本文翻译和实践Solidity语言编辑器REMIX官网帮助文档,但并不拘泥于逐字翻译,而时根据实践用中文语言讲透编辑器相关功能。
【前置条件】
了解以太坊ETH和Solidity语言。
【技术收获】
1). 使用REMIX编辑器进行Solidity语言编程,编译,运行,调试。
2). REMIX界面介绍
2. 使用REMIX编辑器执行"HELLO WORLD"的智能合约
REMIX是一个智能合约编程语言Solidity的集成开发环境。
最简单的入门就是进行"HELLO WORLD"的程序运行。
2.1 智能合约编译
在CHROME浏览器上点击链接REMIX官网浏览器版编辑器即可打开REMIX编辑器。部分不能正常访问官网的,可以访问笔者的国内REMIX编辑器。
新增一个命名为“HelloWorld.sol”的文件,复制以下代码:
pragma solidity ^0.4.17;
contract Hello
{
address creator;
string greeting;
function Hello(string _greeting) public
{
creator = msg.sender;
greeting = _greeting;
}
function greet() public constant returns (string)
{
return greeting;
}
function setGreeting(string _newgreeting) public
{
greeting = _newgreeting;
}
/**********
Standard kill() function to recover funds
**********/
function kill() public
{
if (msg.sender == creator)
suicide(creator); // kills this contract and sends remaining funds back to creator
}
}
点击"Start to compile"按钮,会得到一下结果:
0.智能合约编译.png
除一些函数的告警提示外,结果表明该智能合约编译成功。
2.1.1 编译告警
如果编写的程序有告警,REMIX会有提示。一般来说,提示不必修改。
REMIXD编译告警
2.1.2 编译错误
为了说明编译错误案例,把该文件的第17行"return greeting;"改为"return _greeting;", 重新编译,得到以下结果
REMIXD编译错误
如果编写的Solidity程序存在语法错误,Remix编译器会以粉红色底色提示显示错误原因,并在编辑器窗口提示位置。
编译错误演示完后,恢复第17行代码为"return greeting;"
2.1.3 详情信息
点击"Detail"按钮,可以看到详细信息。其中WEB3DEPLOY部分的内容就是在案例《第二课 如何实现以太坊最简智能合约“Hello World”的运行》中geth控制台使用的编译后代码。
DETAIL的内容
2.2 智能合约运行
1. 创建智能合约
选择“Run”的页面,选择Environment环境为Javascript VM,在“Create”按钮前输入框内输入"Hello World!"[注意:输入字符串一定要有英文双引号],点击“Create”按钮。
创建智能合约
2. 运行greet函数
点击浅蓝色函数"greet"按钮,可以看到输出结果为“Hello World!”
运行函数greet
说明:浅蓝色按钮函数表示该交易函数运行时不需要消耗GAS的。
3. 运行setGreeting函数
在setGreeting函数按钮的输入框输入内容"Hello Duncan!", 运行后在点击执行"greet"函数,发现该函数的输出内容已变为"Hello Duncan!"了,说明setGreeting执行正常。