Design and implement decentralized systems such as Blockchains is one of the tougher task in computing science and development. It involves strong bits of knowledge such as node discovery, multi-threading programming, fast-data processing, scalable data storage, etc.