在哪里?
我有两个实例的HyperLeDger织物安装和运行不同的机器(一个在Ubuntu上,另一个在Windows上)。现在,我希望这两个共享他们的公共分类帐。
我必须在两台机器上进行哪些更改?
这是事物,让我们从术语和定义开始,指定HyperLeDger Fabric网络实体。
- 网络同行 - 用于维护链饰(智能合约),保留该分类帐的复制副本和最新状态更新。
- 订购服务/共识 - 其关键目标是指定传入交易的总订单并削减块,该块将在所有同行中分配。
流量如下:
- 客户将交易提案提交给同行。
- 认可同行通过调用链码并在结果上签名的交易。
- 已签名的链码响应发送回客户。
- 客户收集所有答复,并将结果发送到订购服务
- 订购服务根据某些标准将块用交易削减 - 交易数量或块大小
- 分布给同行验证的块
- 一旦验证块被授予同行的本地分类帐,并相应地更新了状态
回到您的案件中,我认为两个实例只是意味着您有两个不同的组织。因此,您需要做的是:
- 定义/确定您要在哪里运行订购服务,这将照顾交易订单。
- 定义两个组织的渠道
- 在
configtx.yaml
中,您需要指定订购服务的地址。 - 创建一个生成创世纪块的通道
- 使用Genesis Block 加入所有组织
现在,由于订购服务端点在配置交易中结束编码,每个组织将选择一个同行以打开与订购服务的连接以拉新块。最后,这位领导者将在自己的组织内部分发块。
为了总结一下,要使两个"实例"(我假设在这里独立的同行集)您需要将它们连接到同一频道,以确保它们将连接到同一订购服务。