hyperledger-fabric - 了解 Hyperledger Fabric 背书策略逻辑和对等节点类型
问题描述
很抱歉这个问题很长,但 Hyperledger 是一个相当复杂的系统。
与始终托管账本副本的对等节点相比,我们看到有两种不同的对等节点;托管智能合约的和不托管智能合约的。在我们的网络中,每个对等节点都托管一份智能合约的副本,但在更大的网络中,将有更多的对等节点不托管智能合约的副本
如何设计区块链网络并决定有多少对等方应该有智能合约,有多少不应该?,有没有设计规则或模式?
当我们有多个组织时,每个组织是否应该有一个背书节点,或者他们都只能在一个组织中拥有一个,而其他所有组织都可以调用它?
解决方案
如何设计区块链网络并决定有多少对等方应该有智能合约,有多少不应该?,有没有设计规则或模式?
我的经验法则是 - 你首先考虑背书政策,然后将链码安装在属于背书政策中的组织的对等点上。
然后,您还可以选择在组织的对等方上安装仅查询交易(不进入区块链)的链码,无论他们是否参与背书策略,因为客户端想要查询是有道理的它自己的组织(因为它最信任它)。
唯一的极端情况是有时链码的代码是未知的,并且背书策略的组织不想共享它。
当我们有多个组织时,每个组织是否应该有一个背书节点,或者他们都只能在一个组织中拥有一个,而其他所有组织都可以调用它?
这取决于用例。有些组织只有客户,有些组织只有对等方,或只有订购者。
一个组织是否是链码的背书者,通常取决于背书策略。
推荐阅读
- excel - 无法计算不可见的工作簿 - VBA
- c - 如何调用前面有指针的函数
- java - NoSuchAlgorithmException:通过 JAVA 8 连接到 SSL 网站时构造实现时出错
- node.js - Node.js 应用程序和 Apache php 后端在同一台服务器上
- java - 停止从第三方 Jar 进行 log4j 调试打印
- sql - 对时间戳进行舍入
- elasticsearch - 如何在没有 docker 的情况下在 jaeger 中配置弹性搜索
- bash - 使用 bash 从文本文件中删除最后一个不可打印的行
- c# - 为 DbContext 中的每个 DbSet 准备字段和显示名称列表
- google-bigquery - 如何按第 1 列使用分组并在 bigquery 的同一输出中获得第 2 列的最频繁出现