无法查询链码

时间:2018-02-28 08:17:48

标签: blockchain hyperledger-fabric hyperledger

我有一个简单的Invoke函数,它根据参数调用2个方法,如下所示:

func (t *SimpleChaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
fmt.Println("chaincode_custom Invoke")
function, args := stub.GetFunctionAndParameters()
if function == "addProduct"{
    return t.addProduct(stub, args)
} else if function == "addProccesingInput"{
    return t.addProccesingInput(stub, args)


return shim.Error("Invalid invoke function name.")

}

我可以调用addProduct方法,但是当我调用addProccesingInput方法时,它会给出以下错误:

  

错误:[client-utils.js]:sendPeersProposal - 拒绝承诺:错误:链码错误(状态:500,消息:无效的调用函数名称。)       at /home/test/Desktop/blockchain/xyz/node_modules/grpc/src/node/src/client.js:554:15   [2018-02-28 07:41:39.987] [ERROR] invoke-chaincode - 调用链码提案很糟糕   [2018-02-28 07:41:39.988] [DEBUG] invoke-chaincode - 无法发送提案并收到所有好的ProposalResponse   [2018-02-28 07:41:39.991] [ERROR] invoke-chaincode - 无法调用链码。原因:无法发送提案并收到所有良好的ProposalResponse   (node:114605)UnhandledPromiseRejectionWarning:未处理的promise promise(拒绝id:7):错误:无法调用chaincode。原因:无法发送提案并收到所有良好的ProposalResponse

另见下面的addProccesingInput方法

func (t *SimpleChaincode) addProccesingInput(stub shim.ChaincodeStubInterface, args []string) pb.Response {

var err error

//Update Batch data
bAsBytes, err := stub.GetState(args[0])

var bch MilkProduct
err = json.Unmarshal(bAsBytes, &bch)
if err != nil {
    return shim.Error(err.Error())
}

bch.BatchStatus="In Process"
var tx Transaction

tx.Pasturization=args[1]
tx.Adulteration=args[2]
tx.Status="In Process"
tx.TransTime=time.Now().UTC().String()
tx.Temprature=args[3]
bch.Transactions = append(bch.Transactions, tx)

//Commit updates batch to ledger
btAsBytes, _ := json.Marshal(bch)
err = stub.PutState(bch.BatchId, btAsBytes) 
if err != nil {
    return shim.Error(err.Error())
}   

return shim.Success(nil)

}

我正在使用Fabric 1.1 Alfa With Node SDK

0 个答案:

没有答案