← back

Blockchain Developer Program Learning Resources

Blockchain Developer Program External Learning Resources

General Learning tools

General

Medium

Module 1: Review of Blockchain Technology

Consensus Mechanisms

Mining in Ethereum

Public and Private Blockchains

Module 2: Blockchain Primitives

Cryptographic Hash Functions

Merkle Trees

Blockchain Structure

Smart Contracts

Nodes

Blockchain Forks

Module 3: Ethereum Structure

Accounts

Transactions

Gas and Fees

Ethereum Structure

Module 4: Traditional and Decentralized Application Development

Traditional and Decentralized App Development

Development Environment Setup Options

Key Developer Tools

Module 5: Development Frameworks and Environment

Development Workflow: Ganache CLI

Install Truffle

Initializing Truffle

Module 6: Solidity Fundamentals

Data Types and Variables

Functions

Storage and Memory

Contract Structure

Reading Smart Contracts

Smart Contract ABI

Events and Logs

Factory Contracts

Module 7: Writing Smart Contracts

Introductory Smart Contracts

Inter-Contract Execution

Inheritance

Libraries and the Ethereum Package Manager

Smart Contract System Design

Debugging Truffle Tests

Module 8: Ethereum and the End User

Introduction to Web 3.0 

Building Truffle for the Web

Integrating with React

Generating Ethereum Accounts in Javascript

Module 9: Smart Contract Pitfalls, Testing and Debugging

Writing Tests

Smart Contract Best Practices

Exploits and Dangers

Optimizing Gas

Safety Checklist

Security Analysis Tools

Module 10: Ethereum Advanced Topics

Design Patterns

Upgradable Contracts

Oracles

uPort

The Ethereum Name Service

IPFS

Formal Verification

Module 11: Further

LLL

Vyper

Ethereum Improvement Proposals