INTRODUCTION TO BLOCKCHAIN AND ETHEREUM – GTBCE

UPCOMING SCHEDULED COURSES presented by Ben Evans (O’Reilly Java writer):

CORK | 18th April 2018 | Contact Us to book

DUBLIN | 9th May 2018 | Contact Us to book

GALWAY | 10th May 2018 | Contact Us to book

 

◊ INTRO TO BLOCKCHAIN AND CORDA ALSO AVAILABLE

 

Course Description

In this course, we introduce the fundamentals of blockchain and cryptocurrency technologies. We will discuss when to apply these approaches to existing or greenfield architectures.

Attendees will be able to see the power of the approach by building and working with a simple blockchain from scratch. With this context, we will move on to discuss the Bitcoin network and currency in detail and the design choices that it makes.

The second half of the course introduces the Ethereum network and its notions of smart contracts, gas and related tech, including the Ethereum Virtual Machine (EVM). We discuss distributed apps and look at some recent high-profile case studies.

The Solidity programming language is introduced from scratch as well as a typical development environment for new smart contracts. Finally, we show to integrate Ethereum smart contracts with existing applications by using the Web3j library to bridge Java applications with the Ethereum network and blockchain.

^^

Duration

1 day

^^

Target Audience

Experienced programmers in a OO language (ideally Java or Javascript). Also suitable for architects or lead developers who are investigating suitability of blockchains.

^^

Prerequisites

Attendees must already be experienced programmers. Any knowledge of blockchains, cryptography or cryptocurrencies is a notable advantage.

^^

Software Spec

You will be required to bring a laptop to attend this course. Your laptop will need to be preloaded with an IDE (ideally Java 8) and require the ability to install new software.

^^

Course Outline Summary

A: BLOCKCHAIN BOOTCAMP

     1. Fundamental Concepts

  •   Hashing
  •   Public Key cryptography
  •   Hash chaining (e.g. Git)
  • Cryptographic glossary

2. An introductory blockchain

  • Append-only ledgers
  • Proof of work and difficulty
  • Specification for a simple example – FirstBlockchain

Lab: Build & implement FirstBlockchain

Lab: Try to forge entries in someone else’s implementation of FirstBlockchain

 

B. BITCOIN

  1. Bitcoin concepts
  •  Full nodes, mining and PoW
  •  Addresses, wallets & client tools

Lab: Setting up Bitcoin Wallets

  •   Exchanges
  •   Economics of Bitcoin
  •   Criticism
  •   Future Directions

 

C. ETHEREUM

  1. Ethereum concepts
  •   Fundamentals: Ethereum, EVM, Smart Contracts & Gas
  •   Client tools & wallets

Lab: Setting up Ether wallets

  •   How Ethereum differs from Bitcoin
  •   The “Why” of Ethereum
  •   Distributed apps and ICOs
  •   Case Studies

 

  1. Solidity & Web3j
  •  Solidity programming

Lab: A first Ethereum smart contract

  •  Zeppelin contracts and ERC20
  •   Case studies: Pitfalls of Solidity contracts
  • Introducing web3j
  • Interacting with the Ethereum blockchain with Web3j

Lab: Working with contracts on the Ethereum blockchain

^^

See more Internet Technologies courses