0

我有两个链码——我们称它们为 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]链码处理程序 FSM 在状态:就绪时无法处理有效负载大小 (0) 的消息(已完成)

进程以退出代码 0 结束

显然,隐私会干扰链码-链码通信。有没有办法解决这个问题,在保持隐私的同时进行通信?还是将所有内容都放入一个巨大的链码中是最佳实践?

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

4

1 回答 1

0

这似乎是 hyperledger 的一个已知问题,正在处理中。因此,目前没有解决方法,但将来处理此问题时可能会有解决方法。

相关问题

于 2016-07-18T17:59:39.587 回答