1

次の公式パスからチェーンコードを実行できます: 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)

補足情報: Go 言語環境のない Ubuntu 16.04、PBFT アルゴリズムを使用します。

この問題を解決する方法、thx。

4

1 に答える 1

1

まず、公式リポジトリから最新バージョンの 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)

go ファイルのすべての場所でstub *shim.ChaincodeStub置き換える必要があり ます。stub shim.ChaincodeStubInterfaceこちらもお読みくださいhttps://github.com/IBM-Blockchain/ibm-blockchain-issues/issues/29

于 2016-11-09T03:57:07.223 に答える