无法在 Ubuntu 终端上从我自己的 github 运行超级账本链代码

我可以从以下官方路径运行链代码: https ://github.com/ibm-blockchain/learn-chaincode/finished github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02


# peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

但无法从我自己的 github 路径运行 chainncode: https ://github.com/jeffyxia/hyperledger/trade


# peer chaincode deploy -p https://github.com/jeffyxia/hyperledger/trade -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

错误信息是:


错误:构建链代码时出错:rpc 错误:代码 = 2 desc = 获取错误


chaincode package bytes: Error getting code 'go get' failed with error: "exit status 2"

# github.com/jeffyxia/hyperledger/hello_world

/go/_usercode_/519629987/src/github.com/jeffyxia/hyperledger/hello_world/chaincode_example01.go:31: cannot use new(SimpleChaincode) (type *SimpleChaincode) as type shim.Chaincode in argument to shim.Start:

    *SimpleChaincode does not implement shim.Chaincode (wrong type for Init method)

        have Init(*shim.ChaincodeStub, string, []string) ([]byte, error)

        want Init(shim.ChaincodeStubInterface, string, []string) ([]byte, error)

补充资料:Ubuntu 16.04 没有go语言环境,使用PBFT算法。


如何解决这个问题,谢谢。


BIG阳
浏览 116回答 1
1回答

catspeake

首先,您可能希望使用其官方存储库中的最新版本 Fabric。其次,错误是不言自明的,  *SimpleChaincode does not implement shim.Chaincode (wrong type for Init method)        have Init(*shim.ChaincodeStub, string, []string) ([]byte, error)        want Init(shim.ChaincodeStubInterface, string, []string) ([]byte, error)您需要替换 stub *shim.ChaincodeStub为stub shim.ChaincodeStubInterfacego 文件中的任何位置。请同时阅读此内容,https://github.com/IBM-Blockchain/ibm-blockchain-issues/issues/29
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go