在启用了隐私的链码之间传递查询

时间:2016-07-18 14:15:49

标签: go blockchain hyperledger

我有两个链代码 - 让我们称它们为A和B - 我试图在启用隐私的设置中让A调用B上的方法。我正在尝试进行的一种调用示例如下所示。

func (e *ChaincodeA) someFuncOnChaincodeA(stub *shim.ChaincodeStub, args []string) ([]byte, error) {

    //Do stuff

    newArgs := []string{"somevalue1","somevalue2"}

    msg, err := stub.InvokeChaincode(chaincodeBName,"someFuncOnChaincodeB",args)

    if err != nil{
        fmt.Println(err.Error())
    }

    return msg, err
}

但是,每当我尝试运行它时,它会在杀死我的链码之前给出以下错误消息:

  

[72047168]不支持错误链码链码交互   启用隐私。

     

发送ERROR错误启动简单链码:   错误处理消息:   [72047168-5f5a-4017-862a-1329660e2076] Chaincode处理程序FSM不能   在状态:ready

时处理有效负载大小为(0)的消息(COMPLETED)      

处理完成,退出代码为0

显然,隐私会干扰链码链代码通信。有没有办法解决这个问题,在保持隐私的同时实现通信?或者将一切都放在一个巨大的链码中是最佳做法吗?

此外,为什么隐私会干扰链码链代码通信?我不明白为什么会发生这种情况。

1 个答案:

答案 0 :(得分:0)

看来这是一个已知的hyperledger问题,正在进行中。因此,目前没有解决方法,但未来可能会有一个问题得到解决。

Relevent Issue