Blockchain Developer
Become a blockchain developer
TERM 1: FUNDAMENTALS
Project 1: Managing your Blockchain Identity
Blockchains are a public record of completed value transactions. These transactions often contain sensitive
data such as personally identifiable information—so how does the blockchain secure against this
information leaking into the wrong hands? In this project, you will get a chance to create your own
blockchain “identity” and see how it is used to solve this issue.
Your blockchain “identity” is an encrypted private-public key pair that allows you to anonymously interact
with information on the blockchain while still allowing others to verify your data. In this project, you will
generate a private-public key pair and learn how to use it to securely authenticate your identity for the
transactions you post.
Supporting Lesson Content: Blockchain ID
Lesson Title Learning Outcomes
BLOCKCHAIN BASICS ➔ Learn to identify the purposes and characteristics of blockchain,
bitcoin, and cryptocurrencies
➔ Be able to explain core components that make a blockchain
secure and powerful
➔ Learn to diagram the relationship between a private key, public
key, and wallet address
➔ Create a new wallet, and restore a wallet using wallet words and
private keys
MANAGING BLOCKCHAIN ➔ Learn how a simple transaction occurs between 2 entities (e.g.
TRANSACTIONS Bob and Alice) using a private key, public key, wallet, and a
public blockchain
➔ Learn to manage blockchain identity and establish proof of
ownership with blockchain transactions, without the need to
provide sensitive information.
Project 2: Creating Your Own Private Blockchain
A blockchain is essentially a shared database that features added immutability as a safe and accurate
alternative to existing data storage methods. You’ll learn the nuts-and-bolts of how the blockchain data
model works by creating your own private blockchain.
In this project, you will learn the fundamentals of architecting a collection of data into a blockchain data
model. You'll configure how each block stores data, learn how blocks are validated in order to add new ones
to the chain, and create methods to validate the chain integrity.
Supporting Lesson Content: Blockchain Data
Lesson Title Learning Outcomes
BLOCKCHAIN: DATA ➔ Learn to describe the general concepts of a blockchain data
OVERVIEW model
BLOCKCHAIN
➔ Be able to identify the tooling available to explore the Bitcoin
INTERACTION: BITCOIN
CORE INTRO
Core public blockchain
➔ Be able to explain the benefits of utilizing the Bitcoin Core
BLOCKCHAIN testnet
INTERACTION: BITCOIN ➔ Understand the difference between the public testnet and
CORE TESTNET
regression testing
➔ Be able to diagram the relationship between the transaction
BLOCKCHAIN DATA lifecycle using Bitcoin Core, focusing on the bounders with
embedding data
BLOCKCHAIN
➔ Learn how to explain the value of a private blockchain, and
INTERACTION: PRIVATE
BLOCKCHAINS
prepare for the course project
Project 3: Migrate Your Private Blockchain to Your API Web Service
For a private blockchain to be valuable, it will need to integrate with a web service so the information is
consumable for client applications.
For this project, you'll create a back end API web service and migrate your private blockchain to the web
service you create. In the process, you'll learn how to post new blocks to the blockchain via a RESTful web
client, and learn how to validate blockchain health. By the end of the project, your private blockchain will
transform into a valuable web service.
Supporting Lesson Content: Blockchain Web Services
Lesson Title Learning Outcomes
BLOCKCHAIN WEB ➔ Learn how to use and build blockchain web services with Bitcoin
SERVICES Core Remote Procedure Call utilizing Node.js.
➔ Understand the difference between debug and terminal
consoles
Project 4: Build Your Own Private Blockchain Notary Service
One of the most important features of a blockchain that ensures data security is the ability for a transaction
on the blockchain to be signed and validated. Given the distributed nature of blockchain, signing and
validation are vital to securing information.
Data stored on a blockchain can vary from digital assets (e.g. documents, media) to copyrights and patent
ownership. These pieces of data need to be reliably secured, and require a way to prove they exist—this is
where signing and validation are key.
For this project, you will build a blockchain notary service API that can be used to secure digital assets. The
project will focus on building out the back end infrastructure with a pre-developed front end. You will learn
how to encrypt and decrypt the target data (into a digest) and how to publicly prove who rightfully owns it.
You will also configure your notary web service using a RESTful web client to post new blocks to the
blockchain. Along the way, you will also explore how to handle the limitations of block size when handling
digital data.
Supporting Lesson Content: Blockchain Web Services
Lesson Title Learning Outcomes
➔ Be able to explain how to implement blockchain identity services
BLOCKCHAIN WEB to secure data with a blockchain web service
SERVICES: IDENTITY ➔ Learn the various generations of blockchains platforms
Project 5: Build Your Own Notarization API with Ethereum
Blockchain
Here, we will move from Bitcoin to Ethereum blockchain. You will build a smart contract, create a notary
service, and deploy it on Ethereum blockchain. This service is designed to demonstrate how to secure any
digital asset (not limited to a document, deed, agreement, media, etc.) and implement proof of existence on
blockchain. This service will include third party libraries to interface with the smart contract and Ethereum
blockchain.
You will build the necessary back end infrastructure for the notary service with a pre-developed front end.
This will enable you to render the service on any modern web clients.
Supporting Lesson Content: Blockchain Smart Contracts
Lesson Title Learning Outcomes
BLOCKCHAIN: SMART ➔ Be able to create a smart contract on Ethereum. Understand the
CONTRACTS various service layers of a smart contract platform
➔ Learn Solidity, a Turing complete smart contract language
➔ Understand how to establish Ethereum identity to implement a
BLOCKCHAIN: IDENTITY & simple, smart contract on the Ethereum platform
SMART CONTRACTS ➔ Learn how to embed transaction data while interacting with
smart contracts
TERM 2: ARCHITECTURE & APPLICATIONS
Project 6: Architecture
In the project, you will work to improve your notarization service with new functionality by revisiting the
architecture.
Your notarization service architecture will utilize the addition of a relational database to include storage of
raw data, metadata, transactional information, and indexing.
You will have the opportunity to control the execution of your smart contract and reduce the dependency of
client side services that interact with your smart contract. In this project, you will create your own
decentralized full node and interface back end services to integrate with the Ethereum network to sign
transactions, improve functionality, and control trust.
Supporting Lesson Content: Architecture
Lesson Title Learning Outcomes
THE FIVE INGREDIENTS OF
A BLOCKCHAIN ➔ Be able to identify the five ingredients of a blockchain
PLANNING BLOCKCHAIN
➔ Learn to design supporting visuals with Unified Modeling
SOLUTIONS WITH LEGACY
SYSTEMS
Language (UML)
SECURITY &
➔ Learn to identify architecture security and maintenance risks
MAINTENANCE
SELECTING THE RIGHT
➔ Be able to describe the correct technology stack to layer services
TECHNOLOGY STACK FOR
THE PROJECT
and provide software solutions
Project 7: Supply Chain & Data Auditing
A notarization service is a great way to prove ownership of a physical good and/or a digital asset.
What happens when we need to notarize products as they move from location A to B, changing hands and
ownership for a period of time, as they take part in a supply chain?
In the project, you will modify your smart contract to support change of ownership, timestamp when this
event occurs, and report auditing as required, as your notarized product moves through the supply chain.
Supporting Lesson Content: Supply Chain & Data Auditing
Lesson Title Learning Outcomes
PRIVATE & PUBLIC
➔ Get an overview of private and public chains—the pros and
CHAINS
cons, and tooling
➔ Explore methods to support transferring product ownership and
account control list
ASSET MANAGEMENT
➔ Learn the importance of account control lists to permissioning
your dataset
➔ Learn how to implement auditing methods between localized
AUDITING DATA
datasets with a blockchain platform
Project 8: Capstone Project
Use the skills you’ve learned on how to architect, build, test, and ship a blockchain product, to build your
own public blockchain project.
For your chosen industry and customer need, you will work end to end from building your architecture
(centralised, decentralised), and choosing your technology stack (front end, back end), to surfacing the
protocol and blockchain features to the DApp layer, to experimenting, learning, and collaborating with other
open-source projects to complete your project.
You will showcase your project with all of the assets (personas, architecture, data model, front end, back
end, smart contract, etc.) that are built.
Supporting Lesson Content: Capstone
Lesson Title Learning Outcomes
SUPPLY CHAIN &
DISTRIBUTION OF ➔ Be able to identify the benefits of using a public blockchain to
PRODUCTS & SERVICES support distribution channels
➔ Learn to design supporting visuals with Unified Modeling
CAPSTONE PROJECT PREP
Language (UML)