Organization
This document outlines the process of creating and managing organizations within the GoFabric platform. Organizations are essential components of a blockchain network, as they represent entities that participate in the network and interact with its resources.
- Types of Organizations
- Create an Organization
- Certification Authority (CA)
- NetApi
- Peer
- Orderer
- CCApi
- Members
Types of Organizations
In GoFabric, you can create two types of organizations:
- Starter Organization: This is a free-tier option that allows you to create a single node and business group. You can upgrade to a full organization at any time.
- Full Organization: This option requires a subscription and allows the creation of multiple nodes and business groups, offering more flexibility and scalability for larger projects.
Create an Organization
To create a new organization, follow these steps:
- Select the organization context: On the top left of the dashboard, you can see the organization context. This is the organization that you are currently managing. You can switch to a different organization by clicking on the arrow next to the organization name and selecting a different organization from the list.
- Create a New Organization: In the end of the list of organizations, you will see a New Organization button. Click on this button to go to the organization creation screen.
Figure 1: Example of selecting the organization context
-
Fill out the required details: Fill in the following information to create your organization:
- Organization Name: Choose a name for your organization (e.g., Example-Org).
- Domain: Enter the domain name for your organization (e.g.,
example.org
). This domain will be used to identify your organization within the network. - Host: Select the host for your organization. This is the VM where your organization will be deployed.
- Choose Type of Organization: Select the type of organization based on your needs.
- Starter Organization: The free-tier option allows you to create a single node and business group. You can upgrade to a full organization at any time.
- Full Organization: This option requires a subscription and allows the creation of multiple nodes and business groups, offering more flexibility and scalability for larger projects.
- Certification Authority Details: The certification authority (CA) is responsible for managing the identities and certificates of users and peers in your organization. For more information on the CA, refer to the Certificate Authority documentation.
Once you've entered your organization's details and selected the type, click on the "Create Organization" button to proceed.
Figure 2: Example of creating an organization
Certification Authority (CA)
The Certification Authority (CA) in a Hyperledger Fabric network is responsible for issuing digital certificates to participants, enabling secure communication and identity management within the network. The CA plays a crucial role in establishing trust among network members.
Types of CAs
In GoFabric, you can choose between two types of CAs:
-
Certification Authority: This is the default CA that issues certificates for your organization. It is deployed on the same VM as your organization and is used for managing identities and certificates within the network.
By default, this CA is configured as a Root CA, meaning it can issue certificates directly to end entities or other subordinate CAs, enabling a hierarchical trust model. Alternatively, it can be configured as an Intermediate CA, where a Root CA issues a certificate to this CA, and it subsequently issues certificates to end users or components. This setup allows for more complex and secure certificate hierarchies.
-
External CA: This option allows you to use external pre-generated certificates for your organization. This is useful if you have existing certificates or if you want to use a different CA provider.
When using an external CA, you will need to provide the necessary certificate files and configuration details to integrate with your organization.
CA Details
In the CA dashboard, you can view the certificates issued by the CA, including their expiration dates and revocation status.
Figure 2: CA dashboard
NetApi
The NetApi is a RESTful API that provides programmatic access to key operations within the blockchain network. It enables users to manage and interact with network components such as channels, peers, orderers, and chaincodes.
By exposing a set of well-defined endpoints, the NetApi simplifies automation, integration with external systems, and overall network orchestration.
Key features include:
- Creating and managing channels
- Deploying, invoking, and managing chaincodes
- Querying network status, ledger data, and statistics
- Managing peer and orderer nodes
- Processing transactions and interacting with the ledger
- Monitoring network health and performance
Peer
A Peer is a fundamental component of the Hyperledger Fabric network responsible for hosting ledgers and executing smart contracts (chaincodes). Peers validate and commit transactions, ensuring data consistency and consensus across the network.
Creating a Peer
You can create multiple peers to enhance scalability and fault tolerance. Each peer can be deployed on a separate VM, allowing for distributed processing and storage.
-
Navigate to Peers Tab: In the Organization dashboard, you can access the peers owned by your organization by clicking on the Peers tab located on the left side of the screen.
-
Creating a Peer: To create a new peer to your organization:
- Click on the + New Peer button to open a pop-up screen.
- Select a Peer Host by choosing an available VM.
- Fill out the required details, including Ca User and Ca Password.
- Click Submit to add the peer to the organization.
Figure 3: Pop-up screen for creating a peer
The new peer will be created and added to your organization. You can view and manage all existing peers in your network under the Peers section. This will display details such as peer names, status, and channel association.
Figure 4: Peers dashboard
For more details on How to Create a Peer
Orderer
An Orderer is a central component in Hyperledger Fabric responsible for ensuring the proper ordering of transactions across the network. It acts as the communication backbone between peers, collecting endorsed transactions and delivering them in blocks to all participating peers in a channel.
Creating an Orderer
You can create multiple orderers to enhance scalability and fault tolerance. Each orderer can be deployed on a separate VM, allowing for distributed processing and storage.
- Navigate to Orderers Tab: In the Organization dashboard, you can access the orderers owned by your organization by clicking on the Orderers tab located on the left side of the screen.
-
Creating an Orderer: To create a new orderer to your organization:
- Click on the + New Orderer button to open a pop-up screen.
- Select a Orderer Host by choosing an available VM.
- Fill out the required details, including Ca User and Ca Password.
- Click Submit to add the orderer to the organization.
Figure 5: Pop-up screen for creating an orderer
The new orderer will be created and added to your organization. You can view and manage all existing orderers in your network under the Orderers section. This will display details such as orderer names, status, and channel association.
Figure 6: Orderers dashboard
CCApi
The CCApi (Chaincode API) is an interface that allows users to interact with chaincode deployed on the Hyperledger Fabric network. It provides a set of functions and methods for invoking chaincode and querying the ledger.
Key features of the CCAPI include:
- Invoking chaincode functions to perform transactions
- Querying the ledger for specific data or state
Creating a CCAPI
Follow these steps to create a new CCAPI for your organization:
Note
To create a CCAPI your organization must be part of channel with at least one chaincode deployed. If you haven't created a channel or deployed a chaincode yet, please follow the steps below:
- Navigate to APIs Tab: In the Organization dashboard, you can access the APIs owned by your organization by clicking on the APIs tab located on the left side of the screen.
-
Creating a CCAPI: To create a new CCAPI for your organization:
- Click on the + New CC API button to open a pop-up screen.
- Select a Business Group for the CCAPI.
- Select a Channel for the CCAPI.
- Select a Chaincode for the CCAPI.
- Fill out the required details, including API Name, API Host, and API Port.
Figure 7: Pop-up screen for creating a CCAPI
GoInitus
The GoInitus is a component of the GoFabric platform that allows users to interact with chaincodes deployed on the Hyperledger Fabric network. It provides a user-friendly interface for making transactions and querying the ledger. GoInitus simplifies the process of interacting with chaincodes, making it easier for developers and users to perform operations without needing to understand the underlying complexities of the blockchain network.
Creating a GoInitus
To create a new GoInitus for your organization, follow these steps:
- Navigate to APIs Tab: In the Organization dashboard, you can access the APIs owned by your organization by clicking on the APIs tab located on the left side of the screen.
-
Creating a GoInitus: To create a new GoInitus for your organization:
- Click on the + New GoInitus button to open a pop-up screen.
- Select a CCAPI for the GoInitus.
- Fill out the required details, including GoInitus Name and GoInitus Host
- Click Submit to create the GoInitus.
Members
The Members of an organization are the individuals or entities that participate in the blockchain network. They can include administrators, developers, and end-users who interact with the network's components. Members are associated with specific roles and permissions, which define their access to network resources and functionalities.
You can manage members within your organization by adding, updating its roles, and removing them as needed.
- Navigate to Members Tab: In the Organization dashboard, you can access the members of your organization by clicking on the Settings tab located on the left side of the screen, then selecting the Members tab.
-
Adding a Member: To add a new member to your organization:
- Click on the Invitee Members button to go to the invitee members screen.
- Add the email of each member you want to invite.
- Click Send Invites to send the invitation to the members.
- Updating a Member: To update a member's role, click on the three dots next to the member's name and select Update Member. Select the roles you want to assign to the member and click Update.
- Removing a Member: To remove a member from your organization, click on the three dots next to the member's name and select Remove Member. Confirm the removal action.