如何在 Hyperledger Fabric 中的智能合约实例之间发送消息?

How to send messages between instances of a smart contract in Hyperledger Fabric?

在 Hyperledger Fabric 网络中,我希望不同节点中智能合约的不同实例能够通过消息(例如,通信可以是带有文本字符串的消息)。

然后我希望接收消息的智能合约实例能够根据消息内容调用智能合约方法(如 switch/case 控制流语句)或发送自己的向网络发送消息。

示例:

如果有人对此用例有解决方案,我将不胜感激,但任何想法、想法或指示也将不胜感激!

此功能已经proposed in the past, and I implemented a prototype of it here

从高层次的角度来看,它的工作方式是智能合约能够将消息发送到同一个智能合约 运行 同一个交易,在另一个节点上发送消息到它的对等点,并要求它把它路由到一个特定的对等点。该对等点通过本地 Fabric 通信基础设施(用于传播块的相同基础设施)发送消息,并且该远程对等点将消息转发到链代码,并在链代码内部将其路由到正确的事务。

如果你愿意,你可以推出自己的 Fabric 分支并挑选提交,或者只使用这个分支,但请注意这个分支是 2 年前的,所以这些中的所有错误修复和安全修复那里不存在2年。