多机部署
对文章 https://blog.csdn.net/bean_business/article/details/110100669 的步骤遇到问题记录一下
环境及配置
我的环境配置:
(两台都是ubuntu)
- go version go1.17.7 linux/amd64
- docker version 20.10.7
- fabric 2.2
- ubuntu 20.04
- docker-compose version 1.25.0
go env 查看go环境变量,可以根据需求改一下
建立多机部署的文件夹
go env -w GOPROXY=https://goproxy.io,direct
这条指令是设置代理服务器。
建议改成:
go env -w GOPROXY=https://goproxy.cn,direct
proxy是代理服务器的意思。国内的网络有防火墙的存在,这导致有些Go语言的第三方包我们无法直接通过go get命令获取。GOPROXY 是Go语言官方提供的一种通过中间代理商来为用户提供包下载服务的方式。要使用 GOPROXY 只需要设置环境变量 GOPROXY 即可。
go mod vendor 之后最好加个 go mod tidy
go mod包依赖管理工具使用
建议看下,还是挺重要的(go 版本低的话是没有go mod 的)
生成证书及通道配置
cryptogen 这个指令要加入环境变量才可以直接用
详情看:https://hyperledger-fabric.readthedocs.io/zh_CN/release-2.2/install.html
这个加入环境配置文件中才可以一直用,否则只能在当前终端用
如何改环境变量看:https://blog.csdn.net/White_Idiot/article/details/78253004
IP与域名映射配置(虚拟机1和虚拟机2都需要设定)
注意虚拟机1和虚拟机2的区别。
查看ip地址:https://bynss.com/linux/342156.html#:~:text=登录到Ubuntu桌面系统,命令行查看IP地址。
编写网络启动脚本并启动网络
虚拟机1和虚拟机2的docker-compose-up.yaml 文件内容是有区别的不要直接复制1的文件(偷懒踩过坑 🙇)
这个可以等久一点
遇到创建通道错误的问题,重新部署一下就可以了
网上看到的。。。。:https://blog.csdn.net/Xiao__FengFeng/article/details/114587756
安装与调用链码(智能合约)
打包链码前要把GO111MODULE设置为auto
注意是在容器中设置
go env -w GO111MODULE=auto
否则会遇到这个错误