Remix
remix既是编辑器也是编译器,它是一款可以在线快速编写、调试和部署合约代码的编辑器,非常适合智能合约开发初学者使用。
我们通过一个简单的计数器合约演示Remix的一般用法。
访问:remix
合约的创建和编写:
工具栏切到FILE EXPLORERS,创建合约文件firstContract.sol:
编写一个简单的合约:
pragma solidity ^0.4.24;
contract Inbox{
string public message;
function Inbox()payable {
}
function setMessage(string newMessage) public{
message = newMessage;
}
function getMessage() public constant returns(string){
return message;
}
}
这个合约的作用是在区块链上存储一个变量message,任何人都可以通过调用setMessage()给变量赋值,调用getMessage()获取值。
合约的编译
工具栏切到SOLIDITY COMPILER,选择与代码匹配的编译器版本后点击编译按钮进行编译,编译出现CONTRACT项,如下:
合约的部署:
VM环境的部署:
工具栏切换到DEPLOY & RUN TRANSACTIONS,选择JavaScript VM环境对合约进行部署:
至此一个合约就被成功创建了。部署合约会提交创建合约的交易(创建合约本身就是一个交易,只不过这个交易没有接收方),交易会被挖矿打包在一个区块中,可以在代码区下方的调试信息区域看到部署的交易详情:
测试网络的部署
调用合约函数
Remix里用橙色按钮表示动作会修改区块链状态,蓝色表示调用仅仅是读取区块链状态。合约的调用相当于一笔tx,读取的操作都是free的,set动作需要改变区块链状态,是需要汽油费的。
参考资料:
https://segmentfault.com/a/1190000040657797?utm_source=sf-similar-article