So now we have defined our identification managers.
We have also given you the details about internal Systems integration module and blockchain module.
Here we are not going to talk about application modules because different applications have different
kinds of architectures.
Mobile applications will follow mobile based architectural approach and desktop applications will focus
on desktop based software architecture approach.
And as per your services, you are going to define the software architecture for application module.
So application module is related to software architecture more compared to the enterprise blockchain
architecture.
Another important aspect which we are going to discuss with this course is related to blockchain peer
nodes.
Although we have created the blockchain module and we have provisioned the integration module for your
internal systems to interact with your blockchain module.
Still, we require blockchain peer nodes to formulate a distributed system for blockchain.
So now let's go and learn about blockchain peer nodes.
Blockchain peer nodes are the participating nodes inside the network which are going to host your blockchain
modules.
Peer maintains a local copy of the shared ledger and they can be queried and interacted by the clients
or the other peer nodes who are part of the system.
Peer functionalities are different for different blockchain platforms.
For example, in a Bitcoin or Ethereum blockchain platform, you might have miner nodes which acts as
a validating peers, so they help you to validate the transaction and include them inside your blocks.
Inside Hyperledger, you have ordering services and endorsement, peer ordering services help you to
order transactions inside blocks and endorsement peers help you to validate the transaction by simulating
the transaction on the copy of the ledger at their end, different blockchain platforms will hold different
peer functionalities, and these peers also are defined in that respect.
Only in Hyperledger fabric Docker is used to define the peers inside Bitcoin or Ethereum.
You might just have a normal schema to define the peers.
So as per your problem statement, you need to take up the peer definition.
Business and technical components do affect in determining the total number of nodes which are required
for the solution.
For example, I take a thumb rule for Hyperledger fabric, where I use three endorsement peers with
one ordering service for every 50 users who are part of my system.
So as per your technical and business components, you need to make sure that your total number of peers
are able to provide you the performance and security, which is desirable as per the of the system.
So this is a generalized view for the blockchain peers.
As you see that we have different peers labeled here.
These peers are connected to each other.
Your blockchain applications can directly query the peers and fetch the information which is required.
Moreover, they can also submit the transactions using the software development kits.
The software development kits are available in different languages as per your blockchain platforms.
If you are creating your own blockchain platform, then you can create your own APIs to provision with
blockchain applications.
Apart from this, we also have identity manager who is going to provide identities to each peer inside
the system.
All these peers who are part of the system, they are hosting the blockchain module within them and
each peer will have the same copy of Ledger, which is hosted within your enterprise system.
So now we have defined the capabilities and we have created the conceptual views for different services
inside our enterprise architecture.
You have seen that we have done the internal systems, the identity manager, the blockchain module,
the integration module.
And finally, we have incorporated everything with the blockchain peers.
Apart from these internal systems, there could also be a feasibility that your blockchain is going
to interact with the external services.
It could be a possibility that you are interacting with the ERP solution, which is external to your
enterprise.
It could also be possibility that you need some kind of truth information inside your system.
So for all those services, we have also defined one more conceptual module which is related to external
services.
So now let's go and learn about external services with our architecture.