注意:安装 DockerGo 合约时,合约名称必须跟编译合约时使用的合约名保持一致。
一、使用 Docker 镜像进行合约开发
ChainMaker 已经将容器发布至 docker hub。
1. 拉取镜像
docker pull chainmakerofficial/chainmaker-docker-go-contract:v2.2.1
请指定你本机的工作目录 $WORK_DIR,例如 /data/workspace/contract,挂载到 docker 容器中以方便后续进行必要的一些文件拷贝。
docker run -it –name chainmaker-docker-go-contract -v $WORK_DIR:/home chainmakerofficial/chainmaker-docker-go-contract:v2.2.1 bash
2. 编译合约,压缩合约
$ cd /home$ tar xvf /data/contract_docker_go_template.tar.gz$ cd contract_docker_go$ ./build.shplease input contract name, contract name should be same as name in tx: <contract_name> #此处contract_name必须和交易中的合约名一致please input zip file: <zip_file_name> #建议与contract_name保持一致(不包含文件后缀)
编译、压缩好的文件位置如下:
/home/contract_docker_go/<contract_name>.7z
<contract_name>.7z 文件可在 TBaaS 控制台 上传并部署。
用户使用 Go(DockerGo) 编写智能合约后,可以把源代码更新到 main.go 文件中并重新编译,可得到新的智能合约的压缩文件,并前往 TBaaS 控制台 上传并部署。更多关于使用 Go(DockerGo) 开发长安链智能合约的详情,可参考长安链页面 使用 Go(DockerGo)进行智能合约开发。