长安链GO语言智能合约编写与编译
拉取镜像
docker pull chainmakerofficial/chainmaker-docker-go-contract:v2.2.1
创建工作目录$WORK_DIR
例如/data/workspace/contract,挂载到docker容器中以方便后续进行必要的一些文件拷贝。
mkdir -p /data/workspace/contract
启动容器
$ docker run -it --name chainmaker-docker-go-contract -v /data/workspace/contract:/home chainmakerofficial/chainmaker-docker-go-contract:v2.2.1 bash
启动容器后,会自动进入容器的根目录。
拷贝模板
进入容器的/data目录下有一个go语言的智能合约模板,将至拷贝到/home目录(意味着同时拷贝到了宿主机的挂载/data/workspace/contract目录下)
# cd /data/
# ls
admin1.sign.crt contract_docker_go_template.tar.gz
# cp contract_docker_go_template.tar.gz /home
再将服务器/data/workspace/contract目录下的contract_docker_go_template.tar.gz拷贝到开发智能合约的电脑下,解压即可获取contract_docker_go的一个智能合约开发demo项目。或者下载官方的contract-sdk-docker-go项目。
Sign in · ChainMaker欢迎使用长安链开源平台https://git.chainmaker.org.cn/chainmaker/contract-sdk-docker-go
编写合约
contract_docker_go的合约项目中,主要需要修改的就是main.go。根据自己的智能合约开发需求,重新编写或修改main.go。
编译和压缩合约
首先将编写好的contract_docker_go项目源文件重新拷贝回服务器/data/workspace/contract,然后再次进入chainmaker-docker-go-contract容器中,对应的容器目录为/home/contract_docker_go
$ cd /home
$ cd contract_docker_go
$ ./build.sh
please 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
成功后,可将http://t.csdn.cn/8DNaN
还没有评论,来说两句吧...