Demystifying the blockchain by helping you write your own simple blockchain
Almost every developer in the world has heard of the blockchain but most still do not know how it works. They might only know about it because of Bitcoin and because they have heard of things like smart contracts. This tutorial is an attempt to demystify the blockchain by helping you write your own simple blockchain complete with hashing and validation of each new block. This will run in a single terminal. We will then show you how to network with other nodes to connect to the main instance and have them contribute new blocks and broadcast the updated blockchain to all the other nodes. We will move on to coding a blockchain mining algorithm which is at the heart of blockchain. Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the application. They are said to form a peer-to-peer network of nodes. In a true Peer-to-Peer architecture, you do not need a central server to maintain the state of a blockchain. We therefore rework the earlier code, so it uses a Peer-to-Peer architecture instead of a central server. A blockchain that is not always in the headlines but is quietly gaining massive steam is Hyperledger which is maintained by the Linux Foundation and evangelized by IBM. You would probably be surprised to hear that Fabric is the most widely adopted blockchain by the biggest enterprises, much more so than your “big name” blockchains. We show you how to get the Hyperledger Fabric network up and running. The most promising solution that’s available today is the Interplanetary File System (IPFS) . It is a peer-to-peer protocol where each node stores a collection of hashed files. A client who wants to retrieve any of those files enjoys access to a nice abstraction layer where it simply needs to call the hash of the file it wants. IPFS then combs through the nodes and supplies the client with the file. You can think of it as being similar to BitTorrent. It is a decentralized way of storing and referring to files but gives you more control and refers to files by hashes, allowing for much richer programmatic interactions. We should you how to securely share files on the blockchain with IPFS.
In a nutshell
This course provides an in-depth hands-on approach to blockchain by helping you write your own simple blockchain in Go, with less than 200 lines of code. By the end of this tutorial, you will be able to run and write to a blockchain locally and view it in a web browser, network a blockchain, code a blockchain mining algorithm, port the architecture to a Peer-to-peer architecture, create a hyperledger blockchain and share files securely with the Interplanetary file system (IPFS). In addition, students will be given the opportunity to learn how to configure and test security on the blockchain, deploy wallet applications and resolve blockchain mining issues. Students will have an in-depth knowledge of basic skills in building working blockchain applications along with an appreciation for emerging themes that could impact blockchain in the future. All attendees will also receive a discount for a more comprehensive 3 day course if they want to deepen their skills after taking this 1 day course.