ethereum编译合约
先来看一下node.js调用以太坊合约过程
1.编写合约
2.编译合约
3.部署合约
4.调用合约
我们来写一个简单的合约
pragma solidity >=0.4.22 <0.6.0;
contract SimpleStorage {
string str;
constructor(string _str) public{
str=_str;
}
function setValue(string _str) public{
str=_str;
}
function getValue() public view returns(string){
return str;
}
}
然后我们创建一个js文件
compile.js
先看下步骤
1.读取合约代码
2.编译合约,得到数据
3.解析出bytecode和abi
然后我们需要装一下编译器
npm install solc --save
如果我们要重新初始化
那么就删除文件,然后初始化
rm -rf node_modules/package-lock.json
npm init --yes
代码
let fs = require('fs');
let solc = require('solc');
let contractInfo = fs.readFileSync('./simplestorage.sol');
let compileInfo = solc.compile(contractInfo.toString(), 1);
module.exports = compileInfo['contracts'][':SimpleStorage'];
然后创建一个deploy.js文件
let {bytecode, interface} = require('./compile');
console.log(bytecode);
console.log(interface);
现在我们已经成功拿到了bytecode和interface
编译成功了
npm命令
npm install ganache-cli -g
npm uninstall ganache-cli
npm install solc --save
npm init
//查看npm配置信息
npm config list
//设置淘宝镜像
npm config set registry https://registry.npm.taobao.org