Hong Kong Education and Culture Centre

Blockchain Hands-On Training Workshop

This course offers developers an intensive training in blockchain technology from building a blockchain to work on real-world projects. Participants will get a detailed picture of the blockchain architecture, platforms and programming, that includes distributed ledgers, smart contracts, consensus, authentication, security, fabrics, Solidity, Ethereum, core layers, applications and more. Hands-on training is provided to build blockchain and decentralised applications for real-use cases.

The course aims to provide participants with an in-depth understanding of blockchain network and smart contracts, and extend their technical skills in blockchain technology through case studies and technical hands-on exercises for implementation of your skills to any blockchain projects.

1.Blockchain technical architecture

  • What is blockchain architecture and how does it work
  • Architectural components: transactions, blocks, mining and consensus
  • Types of blockchain: public, private and hybrid

2.Blockchain platforms

  • Choosing the right blockchain platform (e.g. Bitcoin, Ethereum, Ripple, EOS, NEO, Stellar)
  • Explore the Augur and Grid+ decentralized application platforms, and other emerging alternative decentralization models such as IPFS and Hashgraph.
  • Compare blockchain solution offerings in the market, e.g. IBM Hyperledger, Microsoft Azure, Amazon AWS, R3.

3.Hands-on lab: Hyperledger Fabric

  • Architecture and components of Hyperledger Fabric
  • Installing Hyperledger Fabric and building your first network
  • Using Fabric Java SDK to enable client applications to interact with Hyperledger Fabric networks that are secured by enabling a Transport Layer Security (TLS).

4.Hands-on lab: build your own blockchain

  • Create and manage identity on the Bitcoin Blockchain and establish proof-of-ownership with blockchain transactions, without the need to provide sensitive information.
  • Create your own private blockchain by using Node.js and Leveldb, architect a collection of data into a blockchain data model, configure how each block stores data, validate blocks, add new blocks to the chain, and create methods to validate the chain integrity.
  • Create a back-end API web service, migrate your private blockchain to the web service, and learn how to post new blocks to the blockchain via a RESTful web client.

5.Hands-on lab: encode and decode digital assets

  • Learn how to encrypt and decrypt digital assets on a private blockchain, and build an API service to claim ownership of a digital asset.
  • Configure your web service using a RESTful web client to post new blocks to the blockchain.
  • Explore how to manage the limitations of block size when handling digital data.

1.Hands-on lab: Smart contract

  • Learn the structure and basic concepts of a smart contract, and Remix (remix.ethereum.org) web IDE for deploying and interacting with a smart contract.
  • Design and program smart contracts in Solidity language (a combination of Javascript, Java and C++ which is specially designed to write smart contracts and to target the Ethereum Virtual Machine).
  • Test and deploy smart contracts in the Remix development environment, and invoke them from Remix web interface to illustrate various features including time dependencies, validation outside the function code using access modifiers, asserts and require declarations, and event logging.

7.Hands-on lab: decentralized applications (Dapps) design & development

  • Demonstrate how to install the blockchain server and establish a peer-to-peer network of nodes.
  • Use Truffle for developing and testing a Dapp and explore the truffle commands such as: develop, init, compile, migrate, test.
  • Discuss Ethereum Improvement Proposal and the ERC process, explore the standard ERC 20 for token Dapps and ERC 721 for non-fungible tokens

8.Hands-on lab: fundraising smart contract

  • Planning and design of the fundraising smart contract
  • Define state variables and constructor, and contribute to the fundraising campaign
  • Test the contract and add events to the contract

9.Hands-on lab: Blockchain network for a supply chain

  • Configure an asset tracker IoT device in Node-RED
  • Build a blockchain business network in Hyperledger Composer
  • Build an IoT application to visualize and analyse the data from the asset tracker​

10.Hands-on lab: Flight delay insurance Dapp

  • Build Dapp with secure, multi-sig smart contracts that autonomously receive, transfer, and pay funds.
  • Utilize third-party data sources to inform autonomous smart contracts
  • Create, and test, secure and cost-efficient smart contracts that handle, distribute, and test ETH payments to a smart contract

11.Hands-on lab: implement and run a Security Coin Offering (STO)

  • What is STO and its difference with ICO
  • Plan the STO smart contract
  • STO testing