Coder Social home page Coder Social logo

blockchain-learning-path's Introduction

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

blockchain-learning-path's People

Contributors

ah953 avatar alaaltoros avatar arun-kc avatar camimancusi avatar cmalfesi avatar evgenynasretdinov avatar fernandomg avatar fvictorio avatar ivpavici avatar labormedia avatar leolower avatar lmcorbalan avatar mariano-aguero avatar matextrem avatar mdanialqureshi avatar mgarciap avatar pablofullana avatar pfmescher avatar ronytesler avatar sahiltalrejacoder avatar sneg55 avatar zemse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blockchain-learning-path's Issues

Update link

The 6. Gas link under the heading Concepts is dead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.