Application
The application layer is where your end user or client application sits. The client application typically kick starts your business workflow by initiating a transaction. The transactions are executed by the nodes using smart contract. The client application could be implemented in any software language and can run on a wide variety of operating systems. The application could use a command line interface (CLI) tool as provided by any blockchain framework implementation or it could use language specific SDK (Software Development Kit) to communicate with nodes on the network. As the blockchain evolves beyond its traditional image of digital crypto currency based network, we are seeing different types of clients and tools supporting the blockchain framework. The client application can also listen to various types of events occurring on the blockchain network and perform the necessary actions on those events. The event may be as simple as providing status update to the application from the network. One can also have a separate dedicated application to monitor the blockchain network.