一、Ubuntu安装以太坊合约编译环境
安装solc
智能合约代码的编译可以通过第三方平台或者软件。不过,为了安全起见,还是搭建自己的编译器比较好。(But be aware that if the compiler is compromised, your contract is not safe. )按照下面的步骤来安装编译器solc。
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt update
sudo apt install solc
二、编写第一个智能合约
下面实现了一个非常简单的智能合约。使用solidity语言。
pragma solidity ^0.4.13;
contract Simple {
function arithmetics(uint _a, uint _b) returns (uint sum, uint product) {
sum = _a + _b;
product = _a * _b;
}
function multiply(uint _a, uint _b) returns (uint) {
return _a * _b;
}
}
三、部署智能合约
3.1 编译智能合约
solc -o . --bin --abi simple.sol
下图是编译结果,可以看到生成了Simple.abi接口文件和Simple.bin二进制编译文件:
用cat可以看到编译后的文件内容。
3.2 编辑智能合约编译结果,生成加载脚本
对于编译输出的abi文件和bin文件,需要做如下处理,才能够加载到geth里面并执行。
- 对于abi文件,做如下的包围编辑。
var simpleContract = eth.contract([原来abi内容])
var simpleContract = eth.contract([{
"constant":false,"inputs":[{
"name":"_a","type":"uint256"},{
"name":"_b","type":"uint256"}],"name":"multiply","outputs":[{
"name":"","type":"uint256"}],"payable":false,