传送门: 柏链项目学院
Go语言打造以太坊智能合约测试框架
前言
这是什么?
这是一个基于go语言编写的,自动化测试以太坊智能合约的开发框架,使用此框架,可以自动化的部署合约,自动测试合约内的功能函数。你也发现了,本框架模拟的是truffle框架,但是完全是基于go语言编写,而且以太坊的客户端需要使用私链或者测试链。
可以学到什么?
- go语言访问以太坊
- 使用solc编译器编译合约
- 自动化部署合约
- abi文件解读
- go语言与智能合约调用
- golang模版编程
- golang处理toml配置文件
- shell脚本awk语言的运用
- go与命令行调用
本课程是指导开发者如何通过go语言来实现这样一个测试框架。
动起手来
环境准备
- go语言开发环境
- 以太坊客户端-geth
- solc编译器
go语言环境安装本文不再详细说明,以下我们介绍其他环境安装。
geth安装
这个其实教程很多,搜索引擎都能搜到,也可以去官网查看!官网安装说明
安装solidity编译器
solidity智能合约需要编译,如果使用remix环境,在线编译器就帮我们做了,现在我们需要在命令行实现,那需要自己安装solc编译器,之后借助安装geth自带的abigen可执行程序,可以轻松的搞定solidity智能合约的编译,将sol文件编译为go文件。
下载solidity,这个由以太坊官方提供
git clone https://github.com/ethereum/solidity
此代码由c++编写实现,使用cmake进行编译,如果没有cmake需要安装一个。
- for mac
brew install cmake
- for ubuntu
sudo apt-get install cmake
开始solidity代码
cd solidity
mkdir build
cd build
cmake .. && make