我有两个链码-分别称为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无法
处于状态:就绪时处理有效载荷大小为(0)的消息(已完成)

流程结束,退出代码为0

显然,隐私会干扰chaincode-chaincode通信。有什么办法可以在保持隐私的同时启用通信?还是将绝对所有内容都放入一个巨大的链码中的最佳实践?

此外,为什么隐私会干扰链码-链码通信?我不明白为什么会这样。

最佳答案

看来这是Hyperledger的一个已知问题,正在研究中。因此,目前没有解决方法,但是将来在解决此问题时可能会有一种解决方法。

Relevent Issue

10-07 18:39