文章目录
1. Go环境配置
#下载
mkdir /opt/go
wget https://golang.google.cn/dl/go1.17.8.linux-amd64.tar.gz
sudo tar -zxvf go1.17.8.linux-amd64.tar.gz
mkdir /opt/go/goProject
#配置环境变量
sudo vim /etc/profile
export GOROOT=/opt/go
export GOPATH=/opt/go/goProject
export GOPROXY=https://goproxy.cn
export PATH=$PATH:$GOROOT/bin
#生效
source /etc/profile
2. 创建工作目录
mkdir /opt/fisco/goWorkSpace
3. 下载go SDK
apt install git # 如果没有
cd /opt/fisco/goWorkSpace
git clone https://gitee.com/FISCO-BCOS/go-sdk.git
4. 创建工程
cd go-sdk
mkdir helloworld && cd helloworld
touch HelloWorld.sol
5. 编写合约
pragma solidity ^0.4.25;
contract HelloWorld {
string value;
constructor() public {
value = "Hello, World!";
}
function get() public view returns (string memory) {
return value;
}
function set(string v) public {
value = v;
}
}
6. 安装编译器
cd /opt/fisco/goWorkSpace/go-sdk/helloworld
# 该指令在helloworld文件夹中执行
bash ../tools/download_solc.sh -v 0.4.25
7. 编译生成go文件
# 该指令在helloworld文件夹中执行
./solc-0.4.25 --bin --abi -o ./ ./HelloWorld.sol
8. 构建go-sdk的代码生成工具abigen
apt install gcc #如果没有
# 该指令在helloworld文件夹中执行,编译生成abigen工具
go build ../cmd/abigen
构建后,目录中存在工具:
9. 编译生成go文件
# 该指令在helloworld文件夹中执行
./abigen --bin ./HelloWorld.bin --abi ./HelloWorld.abi --pkg helloworld --type HelloWorld --out ./HelloWorld.go
最后保证有以下六个文件:
HelloWorld.abi、HelloWorld.bin、HelloWorld.go、HelloWorld.sol、solc-0.4.25、abigen
截图为: