传送门: 柏链项目学院
1 以太坊智能合约编译
以太坊智能合约编写使用solidity语言,一般情况下我们会在remix环境下进行编译测试,在线环境相对比较稳定。如果不想用在线环境,那我们就需要自己动手来编译代码,并且进行测试。我们都需要准备哪些工具呢?
- 编译器,solidity语言需要安装solc编译器
- 以太坊节点,部署合约时需要用到
1.1 编译器安装和准备
安装solc以及solcjs
sudo npm install -g solc solc-cli --save-dev
solc可以将sol代码编译为go语言,solcjs可以将sol代码编译为abi。
solc 使用方式如下:
ykdeMac-mini:abi yekai$ solc -h
Usage:
solc [OPTIONS] [ARGS]
Options:
--out-dir [PATH] Output directory for the compiled contracts (Default is ./contracts)
--optimise If present activate the solc optimiser
-k, --no-color Omit color from output
--debug Show debug information
-h, --help Display help and usage details
不过本人经过实验,这种solc的版本问题仍然会给编译带来很大困扰,因为我还是推荐安装以太坊官方的solidity库,编译就会到solc可执行程序。
下载源码
git clone https://github.com/ethereum/solidity
编译源码,注意此处编译的时候需要cmake,如果系统中不存在,可以提前安装一下。
如果需要安装cmake,可以参考:
- for ubuntu
sudo apt-get install cmake
- for mac-os
brew install cmake
cmake存在后可以编译源码了
cd solidity
mkdir build
cd build
cmake .. && make
编译好solc之后需要将它放