System chaincodes

If we remember, the way of gathering information about the chain in other blockchains, for instance Ethereum was done by making RPC calls to the node. But, Fabric has an interesting approach on this. Those functionalities are built right on the chaincode aka smart contract level and there’s no separate layer for achieving that.

../../../_images/system-chaincodes-fabric.png ../../../_images/system-chaincodes-ethereum.png

Unlike regular chaincodes, system chaincodes are automatically deployed when a peer node is started and it’s available on all channels:

[core] [Server #2]Server created
deploying system chaincode 'cscc'
[core] [Server #2 ListenSocket #3]ListenSocket created
deploying system chaincode 'qscc'
deploying system chaincode '_lifecycle'
Deployed system chaincodes