Building Blockchain with Hyperledger : Developer's Guide (Part 2)
Welcome to the Blockchain Revolution! In the last article of this developer’s guide, we went on to explore the basic building blocks starting from creating our own network to writing the client apps. Quickly summarizing, IBM's block chain is based on Linux Foundation' open source Hyperledger fabric. This fabric is like an operating system for data sharing networks, marketplaces, micro-currencies and decentralized digital communities.We recommend that you do a quick recap of our previous Blockchain developer's guide before diving into the part 2 of the same. In this article, we will provide simple instructions to monitor the network and get help, once your client app is developed for production.
The Network Monitor
An overview of your blockchain environment is provided by the network monitor. It gives data on network components, members, performance data, joined channels and deployed chaincodes via different screens. Let us have a look at the different screens and how they assist in monitoring the network.Overview
The overview dashboard displays real-time information of blockchain components. Type, name, status, and actions are displayed for the components CA, orderer and peer nodes. During the creation of your blockchain three orderer and two CA nodes are automatically created, of these, CA’s are member specific and ordering nodes are common endpoints shared across the network.
Network Overview
• Node actions
The components including a single or a group of nodes can be started or stopped by ‘actions’. Also, the component logs can be seen by ‘View Log’ under the ‘Actions’ header. These logs aid in debugging and troubleshooting the remote procedure calls that occur between various network components. For instance, if a peer is stopped and a transaction is attempted on it, the logs will show a gRPC connectivity error on restarting the services a successful connection will be seen.
• Service Credentials
The JSON file displays all low-level network information of each component and this can be seen in Service Credentials page of ‘Resources’ tab. The file contains network information of addresses and shared ordering nodes of specific components. The endpoints for any additional peers that are supposed to be targeted can be obtained from ‘url’ displays. These endpoints are required to target specific network components from a client-side application.
• Add Peers
Peer nodes can be added to the network by clicking the ‘Add Peer’ button. This lets each member add at most six peers in a network. This can be configured in the ‘Add Peers’ panel which gives the flexibility to decide number and size of peers. Presently, only small peers are available for purchase while eventually medium and large sized peers will be available for sale to accommodate requirements of larger workloads and higher transactions.
Members
The ‘Member’ and ‘Certificate’ tab shows network member and certificate information respectively.
Network members
You can further invite members to your network by clicking ‘Add Member’ where at most 15 members including a network initiator can be added to a particular network.
Below image shows the initial "Members" screen displaying member certificates in the "Certificates" tab.
Certificates
Client-site certificates can be added in PEM format to ‘Key’ field and peers are restarted so that certificates are taken into effect.
Channels
Each channel represents a subset of members and network can be segregated into these channels. These members are authorized to see data for the chaincodes instantiated on that channel. Every network must have at least one channel and each channel has a unique ledger where users must be authenticated to perform read/write operations against the ledger.
Below image shows the initial dashboard screen displaying an overview of all channels in your network.
Detailed reports about the channel, membership and active chaincodes are available by selecting existing channels.
Chaincode
Business logic and transactional instructions for creating and modifying assets are shown under chaincode.
Below image shows the initial dashboard screen of chaincodes.
Chaincodes
Notifications
Pending and completed requests can be seen on ‘Notifications’ screen. Below image shows the "Notifications" screen.
Types of notifications that can be handled are
- When a channel is created
- When you are invited to a new channel.
- All requests can be seen under ‘All’ tab.
- Requests that are not catered to are visible under ‘Unread’ tab. These then can be reviewed by clicking ‘Review Request’ button.
- Submitted requests will appear in ‘Completed’ subtab and its details can be viewed.
- Particular requests can also be searched which can be actioned upon on discretion.
Help and Support
Blockchain help and support is available via various platforms.- For general blockchain questions, dW answers is a platform where you can access frequently asked questions or submit a new one if your question has not already been asked for.
- Help on IBM blockchain platform can be received at ‘Getting Support’ page and ‘Service Status’ page where you can investigate known issues and get details for new commits of Hyperledger fabric code. Further, ‘GitHub Issues’ forum resolves all developer issues where code snippets can be shared to get required resolution.
- Hyperledger Fabric implementation questions can be answered at Hyperledger Rocket.Chat channel and Stack overflow forums. While further help on Hyperledger can be attained on ‘Hyperledger Channel Guide’ where you can join the discussion group suited your question.
Conclusion
In this and our earlier posts, we discussed blockchain, its applications, deployment steps for blockchain and building your own application. You can also get involved and your contribution will be added on to the discussions and decisions via Rocket.chat or mailing list. Your codes will be reviewed by Hyperledger Fabric’s maintainers and all patches will be merged once the review is approved. Further, IBM experts are contributing to open source technology and technical support service for Hyperledger Fabric and Hyperledger Composer.
Stay tuned for our next post on ‘Block Chain for Enterprises’ where we will discuss Blockchain Building Blocks, Enterprise Integration, Enterprise AAA and Report and Monitoring.