Fabric2.0 外部鏈碼報錯:undefined: shim.ChaincodeServer

問題

  Fabric版本:2.0.1
  構建完外部鏈碼時,報錯undefined: shim.ChaincodeServer。查閱官方文檔,發現寫法沒有任何問題。去vendor文件夾,查看shim源碼發現確實沒有ChaincodeServer的定義,但是官方文檔上寫的2.0確實新增了接口。
在這裏插入圖片描述
  由此猜測可能是依賴版本的問題。

解決方案

  之前依賴版本:

require (
	github.com/hyperledger/fabric-chaincode-go v0.0.0-20190823162523-04390e015b85
	github.com/hyperledger/fabric-protos-go v0.0.0-20190821214336-621b908d5022
	golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 // indirect
	golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // indirect
	golang.org/x/text v0.3.2 // indirect
	google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 // indirect
)

  修改後依賴版本(fabric-chaincode-go 版本變更爲v0.0.0-20200424173110-d7076418f212):

require (
	github.com/hyperledger/fabric-chaincode-go v0.0.0-20200424173110-d7076418f212
	github.com/hyperledger/fabric-protos-go v0.0.0-20190919234611-2a87503ac7c9
	golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 // indirect
	golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // indirect
	golang.org/x/text v0.3.2 // indirect
	google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 // indirect
)

  注意如果之前生成了vendor文件夾,先刪除,重新執行go mod vendor,然後繼續build ,build 成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章