• Stars
    star
    2,438
  • Rank 18,874 (Top 0.4 %)
  • Language
  • Created about 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A suggested learning path for blockchain development

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

  • 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

Videos

More Repositories

1

solhint

Solhint is an open-source project to provide a linting utility for Solidity code.
JavaScript
925
star
2

eth-cli

CLI swiss army knife for Ethereum developers
TypeScript
237
star
3

omen-exchange

Omen exchange
TypeScript
64
star
4

subgraph-toolkit

A collection of utilities and helpers to support the development of subgraphs
TypeScript
52
star
5

lens-protocol-subgraph

Subgraph for lens protocol
TypeScript
44
star
6

opensea-wyvern-exchange-subgraph-v1

opensea-wyvern-exchange-subgraph
TypeScript
22
star
7

big-number-input

React input component for big number values
TypeScript
21
star
8

tezos-react-starter

A Tezos DApp starter kit based on React
TypeScript
20
star
9

awesome-ligo

A curated list of awesome Ligo resources, libraries, tools and more
19
star
10

filecoin-CID-checker

Filecoin CID checker and Storage Oracle
TypeScript
17
star
11

polkadot-mempool-explorer

Mempool Explorer allow users to monitor pending transactions on Polkadot.
TypeScript
16
star
12

tezos-defi-dapp

User interface with high level of deFi functionalities
TypeScript
16
star
13

maker-governance-dashboard

MakerDAO Governance Dashboard
TypeScript
16
star
14

kyber-pool-master-proxy-contract

KyberDAO - Smart Contract Proxy For Pool Masters
JavaScript
15
star
15

maker-protocol-subgraph

Subgraph for Maker Protocol (MCD)
TypeScript
15
star
16

maker-governance-subgraph

TypeScript
15
star
17

superrare-subgraph-deprecated

Subgraph for SuperRare platform
TypeScript
14
star
18

polkadot-failover-mechanism

Failover mechanism for operators running Polkadot nodes to optimize uptime without jeopardising being slashed due to issues such as double signing
Go
13
star
19

polkadot-contract-wizard

Tool that allows users to create their own smart contracts in Polkadot.
TypeScript
13
star
20

omen-subgraph

TypeScript
12
star
21

compound-governance-subgraph

Compound Governance Subgraph
TypeScript
9
star
22

idea-solidity-solhint

JetBrains IDEA plugin to provide Solhint code verification
Kotlin
9
star
23

curve-subgraph

Subgraph for Curve.fi
TypeScript
9
star
24

web3_ethers_guide

A guide to showcase use cases for web3.js and ethers.js libraries
JavaScript
7
star
25

autoglyphs

Autoglyphs are an experiment in generative art, each one unique and created by code running on the Ethereum blockchain.
TypeScript
7
star
26

platzi-web3-libs

Platzi Web3 libraries Exercise
6
star
27

chainlink-external-adapter-example

A Chainlink external adapter example
JavaScript
6
star
28

chainlink-avalanche-node

Chainlink Avalanche Development Node
Shell
6
star
29

subgraph-devkit

Happiness kit for subgraph developers
TypeScript
6
star
30

dydx-subgraph

Subgraph for dYdX Margin Trading protocol and derivatives
TypeScript
6
star
31

web3-react-boilerplate

JavaScript
5
star
32

loopringv3.6-subgraph

Loopring Exchange V2 (Loopring 3.6) subgraph. Supports L2 Blocks and Transactions, as well as L2 accounts, balances and more.
TypeScript
5
star
33

instadapp-dsa-subgraph

InstaDapp DeFi Smart Accounts subgraph
TypeScript
5
star
34

cdp-alert

Monitoring and alerting system for MakerDAO DAI Stablecoin CDPs (Collateralized Debt Position)
JavaScript
5
star
35

gnosis-safe-toolchain

A collection of utilities and helpers to interact with Gnosis Safe
JavaScript
5
star
36

tezos-defi-dev-experience

Developer experience, form Ethereum to Tezos through deFi
4
star
37

tezos-contracts-examples

This is a recopilation of smart contracts made with Ligo for the Tezos blockchain
JavaScript
4
star
38

ethblockart-subgraph

Subgraph for EthBlock.art
TypeScript
4
star
39

cryptopepes-subgraph

Subgraph for cryptopepes.io project
Solidity
4
star
40

tezos-price-oracle

Tezos price oracle for a liquidity pool
JavaScript
4
star
41

livepeer-alerts-frontend

Provide pro-active alert notifications that will help LPT token holders to be updated and understand how the transcoders they are delegating the tokens to are performing in near real time
JavaScript
4
star
42

atom-solidity-linter

Implement integration of Solhint linter to Atom editor
JavaScript
4
star
43

Cardano-Developer-Studio

Cardano - Portal dApp - Scaffold
Haskell
4
star
44

simplestate-ui

TypeScript
3
star
45

op-middleware

POC middleware to use Filecoin as a storage strategy.
TypeScript
3
star
46

kyber-subgraph

Subgraph for the Kyber Network contracts
TypeScript
3
star
47

euler-beats-subgraph

Music as mathematical art on an NFT substrate
TypeScript
3
star
48

humanitydao-subgraph

Subgraph of humanitydao.org
TypeScript
3
star
49

monitoring

Shell
3
star
50

augur-v2-subgraph

Subgraph for the Augur v2 protocol
TypeScript
3
star
51

chainlink-xdai-test-dapp

This is a sample dapp for testing interactions with Chainlink price feeds.
JavaScript
3
star
52

avastars-subgraph

avastars-subgraph
TypeScript
3
star
53

react-subgraph-starter-kit

starter-kit-subgraph
JavaScript
3
star
54

ink-multisig

TypeScript
3
star
55

bloom-subgraph

Subgraph for Bloom protocol
TypeScript
3
star
56

gnosis-beacon-chain-automation

The repository contains Infractructure as Code (IaC) resources to deploy Gnosis Beacon Chain validators in a decentralized manner.
HCL
3
star
57

uma-subgraph

UMA Protocol subgraph
TypeScript
3
star
58

cl-defi-score-oracle

Chainlink: DefiScore Oracle
JavaScript
3
star
59

remix-solhint-plugin

JavaScript
3
star
60

tokens-faucet

Faucet for ERC20 tokens
JavaScript
3
star
61

set-protocol-subgraph

Subgraph for Set Protocol
TypeScript
2
star
62

filecoin-rpc-proxy

Go
2
star
63

truffle-plugin-solhint

Solhint linter plugin for Truffle Framework
JavaScript
2
star
64

fairdex

TypeScript
2
star
65

wallaby

Go
2
star
66

subgraph-prettier-config

Shared Prettier configuration to use in subgraph projects
JavaScript
2
star
67

Visitors-Nft-Subgraph

Subgraph for Visitors Nfts on polygon network
TypeScript
2
star
68

chainlink-xdai-node

Shell
2
star
69

dai-erc20-subgraph

DAI (ERC20 contract) Subgraph
TypeScript
2
star
70

filecoin-cloud-images

An automatic IaC solution that will periodically update the AMI of top 3 cloud providers (AWS, Azure, GCP).
Shell
2
star
71

frontend-ui-ux-developer-learning-path

An opinionated learning path for getting into speed with frontend development.
2
star
72

ve8020-launchpad

TypeScript
2
star
73

ink-multisig-ui

TypeScript
2
star
74

portfolio-balancer

JavaScript
2
star
75

loopringv3-subgraph

TypeScript
2
star
76

ray-subgraph

Subgraph for Robo-Advisor for Yield (RAY)
TypeScript
2
star
77

hardhat-chainlink-plugin

Solidity
2
star
78

chainlink-plasm-node

Tooling for easy deployments of Chainlink Nodes on Plasm's Dusty Test Network.
Shell
1
star
79

thegraph-node-protofire

This image is based on graph-node from @graphprotocol and it contains also both graph-cli and indexer-cli to help us to manage the indexer.
Shell
1
star
80

memeltd-subgraph

Solidity
1
star
81

0x-dashboard

0x Dashboard Prototype
JavaScript
1
star
82

ocr-deploy-script

Go
1
star
83

meter-passport-playbooks

This is the repo that contains an Ansible role to automate Meter Passport relayer deployment
Jinja
1
star
84

nexus-mutual-subgraph

Nexus Mutual Subgraph
TypeScript
1
star
85

chainlink-harmony-node

Configuration files to quickly setup a Chainlink node on Harmony's testnet (shard 0)
Shell
1
star
86

embark-solhint

A solhint plugin for Embark
JavaScript
1
star
87

curve-gauges-subgraph

Subgraph providing data of gauges in Curve Finance
TypeScript
1
star
88

bullrunbabes-subgraph

Subgraph for bullrunbabes nfts
Solidity
1
star
89

open-cdp

Easy DAI Borrowing for Consumers
JavaScript
1
star
90

kilt

🧬 Recipe application that shows an attestation process in order to verify CTypes for DiDs on the KILT blockchain.
TypeScript
1
star
91

fuel-multisig-ui

TypeScript
1
star
92

xs-doc

XSigners documentation
TypeScript
1
star
93

makers-place-subgraph

makers-place-subgraph
TypeScript
1
star
94

livepeer-alerts-backend

Provide pro-active alert notifications that will help LPT token holders to be updated and understand how the transcoders are delegating tokens in near real time
JavaScript
1
star
95

chainlink-celo-node

Ready-to-go docker-compose configuration and external adapter for the Chainlink Network on the Celo Blockchain
JavaScript
1
star
96

subgraph-tests

Automated tests for subgraphs
TypeScript
1
star
97

artblocks-subgraph

artblocks-subgrapg
TypeScript
1
star
98

makerdao-scd-subgraph

MakerDAO Single-Collateral Dai subgraph
TypeScript
1
star
99

VineMoneyFrontEnd

VineMoneyFrontEnd
JavaScript
1
star
100

VineMoney

Solidity
1
star