一开始打算java语言编写链码,但是支持性不太好,超时问题,容器退出问题频出。偶尔能成功实例化。
相对而言fabric天然支持go链码,因为它就是go语言开发的项目,所以打算采用go语言来编写链码。
1.包引入问题
官方提供的go语言链码文件,引入的包会爆红
"github.com/hyperledger/fabric/core/chaincode/shim"
pb "github.com/hyperledger/fabric/protos/peer"
解决方法:
增加go.mod文件,由go mod 管理引入的包。网上查了很多没找到,说什么的都有,还是复制网址github.com/hyperledger/fabric找到了这个项目,引入的就ok了
文件代码如下
module chaincode-go
go 1.16
require github.com/hyperledger/fabric v1.4.12
2.引入第三方jar后,无法启动
missing go.sum entry for module providing package github.com/hyperledger/fabric/protos/peer (imported by chaincode-go); to add:
当在代码中使用了第三方库 ,但是go.mod中并没有跟着更新的时候,如果直接run或者build就会报这个错误
missing go.sum entry for module providing package <package_name>
可以使用go mod tidy 来整理依赖
这个命令会:
删除不需要的依赖包,下载新的依赖包,更新go.sum