Build a Network
The blockchain network is fully decentralized and can be managed by each member. However, there should be one organization that bootstraps the network.
- Catalyst Blockchain Platform Hyperledger Fabric service is already deployed.
- You’ve logged on as an administrator.
To build a network, you should do the following:
- 1.First, you need to create an organization.
- 2.Bootstrap the system channel (in other words, generate the genesis block for the system channel).
Building a network flow
Every organization should have its own CA(s), MSP definition, ordering service with ordering node(s), and peer set(s) with peer node(s).
Creating an organization flow
To create an organization, you need to do the following.
1. Create a Certificate Authority (CA).
CA is the first entity to be created while bootstrapping a network. Each organization needs to have its own CA. A CA issues certificates to other entities on the network, which define the identity of an entity on the blockchain.
You can create a root (self-signed) CA or create an intermediate CA instead and sign its certificate by any external trusted CA. If you want to create an intermediate CA (in other words, sign it by external CA), you need to create a CA and then follow the steps shown in the diagram below.
Signing an intermediate CA flow
Note: Current version of Catalyst Blockchain Platform supports root (or self-signed) CAs. Intermediate CA will be introduced in next releases.
2. Create an Organization's MSP Definition
The Membership Service Provider (MSP) identifies which CAs are accepted to define the members of a trust domain by listing their members' identities or identifying which CAs are authorized to issue their members' valid identities.
An ordering service with ordering nodes and peer sets with peer nodes belong to your organization. Therefore, an organization's MSP needs to be created before the ordering service and peer sets. To learn more about MSPs and how to create an MSP, please refer to this section.
3. Create an Ordering Service
In the current version of the Catalyst Blockchain Platform, each organization needs to contribute an ordering node to the ordering service to become a part of a network. Each organization should create an ordering service, which contains ordering nodes (or consenters in terms of Raft). You can find more detailed information here.
4. Create Ordering Node(s)
Ordering nodes (or orderers) are responsible for maintaining the system and application channels, ordering transactions, and packaging them into blocks.
Note: We recommend creating at least three ordering nodes while bootstrapping the network in order to be crash fault-tolerant.
Warning: If you are adding other organizations while generating a genesis block for the system channel, your organization needs to have more orderers than the amount of organizations you are going to add. If this occurs, a quorum will not be achieved.
5. Create Peer Set
By creating a peer set, the user can standardize the desired configurations. By simply adding a new peer to this peer set, users can quickly create any number of peers with the predefined set of configurations. For a detailed guide, refer to this section.
6. Create Peer Node(s)
Peers are the nodes or participants in a blockchain network that host a copy of the distributed ledger and smart contracts. There is no limit on how many peers can be created. See how to create a peer here.
Even though an organization was created, a network is not set up yet. You need to bootstrap a system channel or join one if it already exists.
Every network begins with an ordering system channel. If you need to add an organization to the application channel, it needs to be added as a system channel member first. The policies in the ordering system channel configuration blocks govern the consensus used by the ordering service and define how new blocks are created.
The system channel also contains the organizations that are the members of the ordering service (orderer organizations) and those allowed to create new channels (consortium organizations).
Note: Each organization needs to contribute an ordering node to the ordering service in order to become a part of a network. Therefore, each organization that utilizes Catalyst Blockchain Platform is an orderer organization.
- 1.Create a consortium and add orderer organizations. Please make sure that your organization is a member of orderer organizations and consortium. You can add another organization as an orderer organization and a consortium member during this step, but we will add them later to simplify this tutorial process for now.
- 2.Configure the system channel*.