【问题标题】:Hyperledger Fabric Cross CommunicationHyperledger Fabric 交叉通信
【发布时间】:2020-05-05 04:16:34
【问题描述】:

是否可以让一个客户端或对等方成为两个不同的超级账本结构网络的一部分(每个网络都有自己的排序节点、结构 CA 等)? 我问的原因是我想制作两个不同的超级账本结构网络,以便能够从一个网络到另一个网络进行通信和执行链代码(交叉通信)。

【问题讨论】:

    标签: hyperledger-fabric hyperledger blockchain


    【解决方案1】:

    是的,可以让背书节点参与 2 个不同的网络(例如,供应链区块链 n/w 和物流区块链 n/w),这两个网络都有单独的智能合约。在这里,联合对等点将拥有来自 n/w 的 2 个分类帐,并且可以在具有不同排序者和 CA 的两条链中进行交易。您必须在 yaml 文件中相应地为此背书节点设置正确的读写事务权限,并拥有正确的证书。

    检查这些链接:https://hyperledger-fabric.readthedocs.io/en/release-1.2/peers/peers.html https://www.skcript.com/svr/setting-hyperledger-fabric-network-multiple-chaincodes-channels/

    两条链之间的交叉通信应该是可能的,就像一条链上的某个事务调用另一个业务网络存档一样。看看这个答案:how we can call one chaincode from another chaincode in fabric 1.0 ?? if anyone having example please share

    但是要看到一条链中的交易调用另一条链中的交易的方式有点棘手。 AFAIK,您将无法在事务注册表中看到 2 个单独的事务。

    【讨论】:

    • 非常感谢您的回答。我只有一个问题,我需要在哪里为交易设置正确的 r/w 权限。我应该在运行对等方的 yaml 中还是在单独的 yaml 文件中执行此操作?
    • 您可以在acl(访问控制语言)文件中设置读写权限,作为授权的规则集。而且,您需要有一个与对等方相关联的身份,其工作方式类似于身份验证。身份是使用 Fabric 的 CA (hyperledger.github.io/composer/v0.19/managing/identity-issue) 生成的。在这种情况下,将有 2 个独立的 id 关联到同一个对等方。附言我提到的 yml 文件是 crypto-config.yaml,用于生成证书,这些证书又用于对等方的身份。
    • AFAIK,只要它们属于同一个通道,您就可以从一个链码调用读/写操作到另一个链码。对于安装在同一网络内不同通道上的链码,跨链码写入操作是不可能的,读取是。
    • 要在不同通道的chaincode之间进行写请求,是否可以更改invokeChaincode函数的源代码或任何其他函数来实现?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2021-04-11
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    相关资源
    最近更新 更多