源码:
pragma solidity ^0.4.0;
contract SimpleStorage {
uint storedData; // 声明一个类型为uint的状态变量,uint=256位无符号整数
function set(uint x) public {
storedData = x;
}
function get() public constant returns (uint) {
return storedData;
}
}
pragma是一个版本杂注的编译指令,它告知编译器如何处理源代码的指令。这里告知编译器源码使用不低于solidity 0.4.0版本不高于但包含0.5.0版本的编译器编写,第二个条件由符号^指定。它的作用类似于C/C++的pragma。
solidity中合约的含义就是一组代码和数据,代码就是函数,数据就是状态,它们安装在以太坊区块链的一个特定地址上。
这个合约完成的事情是:它允许任何人在其中存储一个数字,同时这个数字可以被世界上任何人访问到,也没有什么办法阻止你发布这个数字。
任何人都可以再次调用set,传入不同的值,覆盖你的数字,但是这个数字仍会被存储在区块链的历史记录中,随后,我们会看到怎样施加访问限制,以确保只有你才能改变这个数字。