Skip to content

EvgenyNasretdinov/blockchain-learning-path

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 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. 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. Read the Truffle Documentation / Hardhat Documentation
  4. Read the Web3 Documentation / Ethers Documentation
  5. Book Mastering Ethereum

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)

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: 5 minutes)
  8. Weth
  9. Decentralized Finance (DeFi):

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

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-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

  • SmartCheck - Online tool for checking smart contracts for vulnerabilities and bad practices.

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

About

A suggested learning path for blockchain development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published