Blockchain – Practical hands-on Coding of Blockchain Applications

£999.00

Category:

Description

 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.

Syllabus

1. Coding a blockchain

This module covers finding your way around creating a blockchain in less than 200 lines of Go.  We cover setup, data models, hashing and generating new blocks, block validation, creating a web server component, executing the code and testing the system with postman .

2. Networking a blockchain

We cover how to get another node to connect to our main instance and have them contribute new blocks and broadcast the updated blockchain to all the other nodes. We show how to broadcast the new blockchain to all the connections being served by our TCP and test.

3. Coding a mining algorithm

In a true Peer-to-Peer architecture, you do not need a central server to maintain the state of a blockchain. There is not a central authority like a bank that maintains the state. Instead, all the nodes in the Bitcoin network that wish to maintain a copy of the Bitcoin blockchain update their copies of the blockchain to include your transaction. That way, as long as 51% of the nodes in the network “agree” on the state of the blockchain, it maintains its fidelity. We rework our initial code into a peer-to-peer architecture.

4. Creating a P2P blockchain

We cover Ettercap Snooping on other traffic in Lab through ARP Poison Attack and Denial of Service Attacks in depth. 

5. Building a Hyperledger blockchain

Hyperledger’s Fabric has some key properties that differentiate it from other blockchains. It is a permissioned blockchain. It is not designed to be open to the world but you can add as many entities as you want and it supports smart contracts, the same way Ethereum does. It is written in chaincode. We show you how to setup up Hyperledger, start the fabric network & install a smart contract.

6. Securely share files on the blockchain with IPFS

We cover the setup of the Interplanetary File System along with key encryption concepts, uploading & downloading from IPFS and running remote code.

 

Additional information

Equipment to bring

Students should bring their own laptop but we can also provide a laptop. This course requires you to have admin rights on your laptop as we install many third party applications and libraries in order to run the blockchain applications.

Who should attend?

This course is aimed at those seeking to discover how to code blockchain applications. Those who take the course do not necessarily need to have a programming or IT background but of course, the more experience in development, the more easy it will be. Our instructors however will be on hand to take care of the more trickier aspects of the course.

Why choose this course?

This course offers in-depth hands-on practical training in creating blockchain applications. We also introduce the futuristic Interplanetary File System and creation of P2P blockchains.

We provide theoretical in-depth notes on blockchain application creation alongside cutting edge lab classes to demonstrate the tools.

Location & Date:

We run our courses in local hotels or training centres. We can also visit your company and conduct the training there.

Email us at info@wirelessnetworksecuritycourses.com with your preferred date(s) for training.