长安链 ChainMaker-2.1.0
长安链 chainMaker 2.1.0 部署,并使用cmc 工具进行测试
最近在学习长安链,欢迎一起学习、讨论 q260261476
源码下载
-
chainmaker
源码git clone -b v2.1.0 https://git.chainmaker.org.cn/chainmaker/chainmaker-go.git
-
证书生成工具源码
git clone -b v2.1.0 https://git.chainmaker.org.cn/chainmaker/chainmaker-cryptogen.git
编译 CRYPTOGEN
-
编译
cryptogen
、生成样例模板cd chainmaker-cryptogen && make
-
软连接到
chainmaker
源码cd ../chainmaker-go/tools && ln -s ../../chainmaker-cryptogen/ .
-
证书生成
cd ../scripts ./prepare.sh 4 1 tree -L 3 ../build/
安装包 启动
-
脚本启动
#制作启动文件 ./build_release.sh tree ../build/release/ #启动网络 ./cluster_quick_start.sh normal #查看状态 ps -ef|grep chainmaker | grep -v grep netstat -lptn | grep "1230\|1130" cat ../build/release/chainmaker-v2.1.0-wx-org4.chainmaker.org/log/system.log
-
合约环境镜像
# 拉取镜像 docker pull chainmakerofficial/chainmaker-go-contract:2.1.0 docker run -d --name chainmaker-go-contract -v /home/river/go/src/chainmaker.org/chainmaker-go-contract/:/home chainmakerofficial/chainmaker-go-contract:2.1.0 bash -c "while true; do echo hello world; sleep 5;done"
-
编译合约
# 进入容器内部 docker exec -it chainmaker-go-contract bash cd /home/ # 解压缩合约SDK源码 tar xvf /data/contract_go_template.tar.gz cd contract_tinygo # 编译main.go合约 sh build.sh # 生成合约的字节码文件在 /home/contract_tinygo/chainmaker-contract-go.wasm
CMC 测试
-
编译 cmc 工具
cd /home/river/go/src/chainmaker.org/chainmaker-go/tools/cmc go mod tidy go build #拷贝sdk的配置文件和示例里cmc命令行需要使用的文件 cp -r ../../build/crypto-config/ ./testdata
-
创建合约
./cmc client contract user create \ --contract-name=fact \ --runtime-type=WASMER \ --byte-code-path=./testdata/claim-wasm-demo/rust-fact-2.0.0.wasm \ --version=1.0 \ --sdk-conf-path=./testdata/sdk_config.yml \ --admin-key-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.tls.key,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.tls.key,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.tls.key \ --admin-crt-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.tls.crt,./testdata/crypto-config/wx-org2.chainmaker.org/user/admin1/admin1.tls.crt,./testdata/crypto-config/wx-org3.chainmaker.org/user/admin1/admin1.tls.crt \ --sync-result=true \ --params="{}"
-
执行合约
./cmc client contract user invoke \ --contract-name=fact \ --method=save \ --sdk-conf-path=./testdata/sdk_config.yml \ --params="{\"file_name\":\"name007\",\"file_hash\":\"ab3456df5799b87c77e7f88\",\"time\":\"6543234\"}" \ --sync-result=true
-
查询合约
./cmc client contract user get \ --contract-name=fact \ --method=find_by_file_hash \ --sdk-conf-path=./testdata/sdk_config.yml \ --params="{\"file_hash\":\"ab3456df5799b87c77e7f88\"}"
基于长安链的艺术品交易、食品溯源、通证、绿证等设计的环境部署,可供参考。