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
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.
Attendees must already be experienced programmers. Any knowledge of blockchains, cryptography or cryptocurrencies is a notable advantage.
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
- 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
- Bitcoin concepts
- Full nodes, mining and PoW
- Addresses, wallets & client tools
Lab: Setting up Bitcoin Wallets
- Economics of Bitcoin
- Future Directions
- 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
- 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