Skip to content

A suggested learning path for blockchain development

Notifications You must be signed in to change notification settings

eoyugi/blockchain-learning-path

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 

Repository files navigation

Blockchain Learning Path

An opinionated learning path for getting into speed with Blockchain (specially Ethereum). This is a work in progress, please open an issue or send a pull request to help improving it.

Pre-requisites

Besides a programming background, this path assumes that the reader is at least a little comfortable with:

Blockchain

  1. Read Blockchain Explained. (Est.time: 26 minutes)
  2. Read What is Blockchain?. (Est.time: 13 minutes)
  3. Watch Blockchain - A visual demo. (Est. time: 18 minutes)

Bitcoin

  1. Read How the Bitcoin protocol actually works. (Est. time: 45 minutes)
  2. Watch this video (lighter than the previous article but useful to solidify your knowledge). (Est. time: 26 minutes)

Ethereum

Theory

  1. Read How does Ethereum work, anyway? (Est. time: 38 minutes)
  2. Read this article on smart contracts development. (Est. time: 15 minutes)
  3. Learn about hardhat Hardhat Documentation
  4. Read the Web3 Documentation / Ethers Documentation
  5. Book Mastering Ethereum
  6. Set of learning resources from ethereum.org

Practice

  1. Learn Ethereum development by making a Zombie Game (Est. time: 8 hs)
  2. Read and make and example: Pet shop tutorial
  3. Time-locked Wallets: An Introduction to Ethereum Smart Contracts
  4. The Ultimate ENS and ĐApp Tutorial
  5. Ultimate Introduction to Ethereum Ðapp Development (Est. time: 4 hs)
  6. Ethernaut is a Web3/Solidity based wargame for those interested in learning ethereum

Courses

  1. Do this course Ethereum and Solidity: The Complete Developer's Guide (Est. time: 24 hs)
  2. Free tutorial Learning Solidity
  3. Introduction to Smart Contract Development with Solidity (Est. time: 2 hs)
  4. FreeCodeCamp course Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript (32 hours)

Concepts

  1. Crypto vocabulary
  2. Blockchain Oracles, Explained (Est. time: 4 minutes)
  3. ABI (Est. time: 15 minutes)
  4. Keccak256 (Est. time: 15 minutes)
  5. Random numbers (Est. time: 5 minutes)
  6. Velocity of Tokens (Est. time: 9 minutes)
  7. Gas (Est. time: 11-14 minutes)
  8. Weth
  9. Decentralized Finance (DeFi):
  10. Smart Contracts

Under the hood

  1. Inside an Ethereum transaction
  2. Diving Into the Ethereum VM

Best Practices

  • Consensys best practices - This document provides a baseline knowledge of security considerations for intermediate Solidity programmers. It is maintained by ConsenSys Diligence, and the broader Ethereum community.
  • Solidity Patterns - A compilation of patterns and best practices.

Libraries

  • dapp-bin - Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL.
  • Solidity Collections - Collections of code snippets and utility libraries.
  • OpenZeppelin - Framework to build secure smart contracts.

Examples

Ethereum vs. Bitcoin

Substrate

Smart Contract Standards

The Ethereum Request for Comment repository

  • ERCs - Ethereum Improvement Proposals

Tokens

  • ERC-20 - Token contract for fungible assets.
  • ERC-721 - Token standard for non-fungible assets.
  • ERC-1155 - Multi Token Standard that aims to take the best from previous standards to create a fungibility-agnostic and gas-efficient token contract.
  • ERC-918 - Mineable Token Standard.

Others

  • ERC-165 - Creates a standard method to publish and detect what interfaces a smart contract implements.
  • ERC-725 - A standard interface for a simple proxy account.
  • ERC-173 - A standard interface for ownership of contracts.

Toolbox

List of tools curated by Protofire team to better apply best practices to the Protocol and DApps development projects.

General

  • eth-cli - CLI tools.
  • REPL - Solidity REPL.
  • Remix - Online realtime compiler and runtime.

Audit

Utility

  • solhint - Solidity linter that provides security, style guide and best practice rules for smart contract validation.
  • solium - Linter to identify and fix style & security issues in Solidity smart contracts.
  • sol-tester - Utilities for building, linking and testing contracts using go-ethereum and the simulated chain.
  • solidity-coverage - Code coverage tool.
  • TypeChain - TypeScript bindings for Ethereum Smart Contracts.

Miscellaneous

Newsletters

  • Week in Ethereum News - Ethereum news and links, layer 1, layer 2, client releases, stuff for developers, interviews, podcasts, videos, talks, etc
  • Reddit: /r/ethereum/ - Reddit about next-generation platform for decentralised applications.
  • Reddit: /r/ethdev - Reddit about ethereum-related dev talk: Contracts, DApps, Wallets, Clients, Infrastructure, Tooling, UIs, Patterns, and others.
  • Ethereum Research - Civilized discussion furthering Ethereum research

Talks

Videos

About

A suggested learning path for blockchain development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published