5

I have two different and separate networks. one has two organizations with two orderers and the second has three organizations with three orderers. if I want to have all five orderers in type=Raft for both networks, how should I config it?

I know orderers can handle multiple channels but how about multiple networks? (I guess the problem is about the Genesis Block)

Pouya Shojaei
  • 307
  • 1
  • 10

1 Answers1

2

As long as I know, there is only one Ordering Service Channel per network, the one whose chain starts with the genesis block. In orderer.yaml, General.GenesisFile only accepts one file.

So I would say it is not possible. The same orderer node/process only attends one Ordering Service Channel, and so one network.

You can set an only network that uses a different subset of orderers per channel, which in practise is similar to what you want. You can set a network with the 5 organizations and the 5 orderers, with a common Ordering Service Channel (which keeps track of existing organizations, orderers and channels) and different subsets of orderers and organizations per application channel.

Otherwise, you have to deploy different orderer processes which in fact are different orderer nodes.

kekomal
  • 2,179
  • 11
  • 12
  • The above answer is mostly correct. With Raft-based ordering, you can create a single ordering service cluster with all Raft nodes defined in the system channel and then when you create application channels you can specify a subset of the orderer nodes per application channel (you need to make sure that there are enough nodes per channel to achieve consensus and support your fault tolerance requirements) – Gari Singh Apr 09 '20 at 11:25
  • thank you both. @Gari_Singh: how about using Kafka-based ordering? – Pouya Shojaei Apr 11 '20 at 09:17