{"id":13571814,"url":"https://github.com/protofire/blockchain-learning-path","last_synced_at":"2025-10-24T07:49:36.997Z","repository":{"id":37821742,"uuid":"104366016","full_name":"protofire/blockchain-learning-path","owner":"protofire","description":"A suggested learning path for blockchain development","archived":false,"fork":false,"pushed_at":"2024-05-31T07:11:11.000Z","size":89,"stargazers_count":2619,"open_issues_count":3,"forks_count":513,"subscribers_count":86,"default_branch":"master","last_synced_at":"2025-04-01T09:19:28.052Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/protofire.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-21T15:31:03.000Z","updated_at":"2025-03-30T14:29:26.000Z","dependencies_parsed_at":"2022-07-12T16:54:32.908Z","dependency_job_id":"2ca9cdb9-46e0-45f1-8b0b-adb93b5d8169","html_url":"https://github.com/protofire/blockchain-learning-path","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fblockchain-learning-path","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fblockchain-learning-path/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fblockchain-learning-path/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protofire%2Fblockchain-learning-path/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protofire","download_url":"https://codeload.github.com/protofire/blockchain-learning-path/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247819933,"owners_count":21001394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T14:01:06.789Z","updated_at":"2025-10-24T07:49:31.973Z","avatar_url":"https://github.com/protofire.png","language":null,"funding_links":[],"categories":["Others","GitHub Repositories","Favourites:","Roadmap"],"sub_categories":[],"readme":"# Blockchain Learning Path\n\nAn opinionated learning path for getting into speed with Blockchain (specially Ethereum). This is a\nwork in progress, please open an issue or send a pull request to help improving it.\n\n## Pre-requisites\n\nBesides a programming background, this path assumes that the reader is at least a little comfortable\nwith:\n\n- Public key cryptography\n  1. Watch [Public Key Cryptography](https://www.youtube.com/watch?v=GSIDS_lvRv4). (Est. time: 7 minutes)\n  2. Read [What is Public-key Cryptography?](https://www.globalsign.com/en/ssl-information-center/what-is-public-key-cryptography). (Est. time: 4 minutes)\n- Digital signatures\n  1. Read [Cryptography Digital Signitures](https://www.tutorialspoint.com/cryptography/cryptography_digital_signatures.htm). (Est. time: 10 minutes)\n  2. Watch [What are Digital Signatures and How Do They Work?](https://www.youtube.com/watch?v=JR4_RBb8A9Q) (Est. time: 3 minutes)\n- Cryptographic hashing\n  1. Watch [What is Hashing on the Blockchain?](https://www.youtube.com/watch?v=IGSB9zoSx70) (Est. time: 5 minutes)\n  2. Read [What is Hashing in Blockchain?](https://learn.bybit.com/blockchain/what-is-hashing-in-blockchain/). (Est. time: 9 minutes)\n\n## Blockchain\n\n1. Read [Blockchain Explained](https://www.investopedia.com/terms/b/blockchain.asp). (Est.time: 26 minutes)\n2. Read [What is Blockchain?](https://www.scaler.com/topics/what-is-blockchain/). (Est.time: 13 minutes)\n3. Watch [Blockchain - A visual demo](https://www.youtube.com/watch?v=_160oMzblY8). (Est. time: 18 minutes)\n\n\n## Bitcoin\n\n1. Read [How the Bitcoin protocol actually works](http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/). (Est. time: 45 minutes)\n2. Watch [this video](https://www.youtube.com/watch?v=bBC-nXj3Ng4) (lighter than the previous\n   article but useful to solidify your knowledge). (Est. time: 26 minutes)\n\n## Ethereum\n\n#### Theory\n\n1. Read [How does Ethereum work, anyway?](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) (Est. time: 38 minutes)\n2. Read [this article](https://blog.openzeppelin.com/the-hitchhikers-guide-to-smart-contracts-in-ethereum-848f08001f05)\n   on smart contracts development. (Est. time: 15 minutes)\n3. Learn about hardhat [Hardhat Documentation](https://hardhat.org/getting-started/)\n4. Read the [Web3 Documentation](https://web3js.readthedocs.io/en/1.0/) / [Ethers Documentation](https://docs.ethers.io/v5/)\n5. Book [Mastering Ethereum](https://github.com/ethereumbook/ethereumbook)\n6. Set of learning resources from [ethereum.org](https://ethereum.org/en/learn/)\n\n#### Practice\n\n1. Learn Ethereum development by making a [Zombie Game](https://cryptozombies.io/) (Est. time: 8 hs)\n2. Read and make and example: [Pet shop tutorial](https://www.trufflesuite.com/tutorial)\n3. [Time-locked Wallets: An Introduction to Ethereum Smart Contracts](https://www.toptal.com/ethereum-smart-contract/time-locked-wallet-truffle-tutorial)\n4. [The Ultimate ENS and ĐApp Tutorial](https://www.toptal.com/ethereum/ethereum-name-service-dapp-tutorial)\n5. [Ultimate Introduction to Ethereum Ðapp Development](https://www.youtube.com/playlist?list=PLV1JDFUtrXpFh85G-Ddyy2kLSafaB9biQ) (Est. time: 4 hs)\n6. [Ethernaut](https://ethernaut.zeppelin.solutions/) is a Web3/Solidity based wargame for those interested in learning ethereum\n\n## Courses\n\n1. Do this course [Ethereum and Solidity: The Complete Developer's Guide](https://www.udemy.com/ethereum-and-solidity-the-complete-developers-guide/) (Est. time: 24 hs)\n2. Free tutorial [Learning Solidity](https://github.com/willitscale/learning-solidity)\n3. [Introduction to Smart Contract Development with Solidity](https://www.youtube.com/playlist?list=PLV1JDFUtrXpGvu8QHL9b78WYNSJsYNZsb) (Est. time: 2 hs)\n4. FreeCodeCamp course [Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript](https://www.youtube.com/watch?v=gyMwXuJrbJQ) (32 hours)\n\n## Concepts\n\n0. [Crypto vocabulary](https://medium.com/datadriveninvestor/crypto-vocabulary-expanded-76131d26537b)\n1. [Blockchain Oracles, Explained](https://cointelegraph.com/explained/blockchain-oracles-explained) (Est. time: 4 minutes)\n2. [ABI](https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI) (Est. time: 15 minutes)\n3. [Keccak256](https://www.slideshare.net/RajeevVerma14/keccakpptx) (Est. time: 15 minutes)\n4. [Random numbers](https://ethereum.stackexchange.com/questions/191/how-can-i-securely-generate-a-random-number-in-my-smart-contract) (Est. time: 5 minutes)\n5. [Velocity of Tokens](https://medium.com/newtown-partners/velocity-of-tokens-26b313303b77) (Est. time: 9 minutes)\n6. [Gas](https://ethereum.org/en/developers/docs/gas/) (Est. time: 11-14 minutes)\n7. [Weth](https://weth.io/)\n8. Decentralized Finance (DeFi):\n   - [Intro to DeFi](https://ethereum.org/en/defi/) - Introduction to DeFi and its main ideas.\n   - [Awesome Decentralized Finance](https://github.com/ong/awesome-decentralized-finance)\n   - [DeFi Prime](https://defiprime.com) - Curated directory of DeFi projects.\n9. [Smart Contracts](https://www.investopedia.com/terms/s/smart-contracts.asp)\n## Under the hood\n\n1. [Inside an Ethereum transaction](https://medium.com/@codetractio/inside-an-ethereum-transaction-fa94ffca912f)\n2. [Diving Into the Ethereum VM](https://blog.qtum.org/diving-into-the-ethereum-vm-6e8d5d2f3c30)\n\n## Best Practices\n\n- [Consensys best practices](https://consensys.github.io/smart-contract-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.\n- [Solidity Patterns](https://github.com/fravoll/solidity-patterns) - A compilation of patterns and best practices.\n\n## Libraries\n\n- [dapp-bin](https://github.com/ethereum/dapp-bin) - Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL.\n- [Solidity Collections](https://github.com/ethereum/wiki/wiki/Solidity-Collections) - Collections of code snippets and utility libraries.\n- [OpenZeppelin](https://openzeppelin.org/) - Framework to build secure smart contracts.\n\n## Examples\n\n- [Solidity By Example](http://solidity.readthedocs.io/en/latest/solidity-by-example.html) - Contract examples from the official docs.\n\n## Ethereum vs. Bitcoin\n\n- [Some key differences between Bitcoin and Ethereum](https://www.investopedia.com/articles/investing/031416/bitcoin-vs-ethereum-driven-different-purposes.asp) - Features and differences between Bitcoin and Ethereum.\n\n## Substrate\n\n- [Initiate a Forkless Runtime Upgrade](https://docs.substrate.io/tutorials/v3/forkless-upgrades#schedule-an-upgrade) - Forkless Runtime Upgrade useful for initial setups and parachains' CI/CD pipelines.\n\n## Smart Contract Standards\n\n#### The Ethereum Request for Comment repository\n\n- [ERCs](https://eips.ethereum.org/erc) - Ethereum Improvement Proposals\n\n#### Tokens\n\n- [ERC-20](https://eips.ethereum.org/EIPS/eip-20) - Token contract for fungible assets.\n- [ERC-721](https://github.com/ethereum/eips/issues/721) - Token standard for non-fungible assets.\n- [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) - Multi Token Standard that aims to take the best from previous standards to create a fungibility-agnostic and gas-efficient token contract.\n- [ERC-918](https://eips.ethereum.org/EIPS/eip-918) - Mineable Token Standard.\n\n#### Others\n\n- [ERC-165](https://eips.ethereum.org/EIPS/eip-165) - Creates a standard method to publish and detect what interfaces a smart contract implements.\n- [ERC-725](https://eips.ethereum.org/EIPS/eip-725) - A standard interface for a simple proxy account.\n- [ERC-173](https://eips.ethereum.org/EIPS/eip-173) - A standard interface for ownership of contracts.\n\n## Toolbox\n\nList of tools curated by Protofire team to better apply best practices to the Protocol and DApps development projects.\n\n#### General\n\n- [eth-cli](https://github.com/protofire/eth-cli) - CLI tools.\n- [REPL](https://github.com/raineorshine/solidity-repl) - Solidity REPL.\n- [Remix](https://remix.ethereum.org/) - Online realtime compiler and runtime.\n\n#### Audit\n\n- [Static and dynamic code analysis](https://consensys.github.io/smart-contract-best-practices/security-tools/static-and-dynamic-analysis/)\n\n#### Utility\n\n- [solhint](https://github.com/protofire/solhint) - Solidity linter that provides security, style guide and best practice rules for smart contract validation.\n- [solium](https://github.com/duaraghav8/Solium) - Linter to identify and fix style \u0026 security issues in Solidity smart contracts.\n- [sol-tester](https://github.com/androlo/sol-tester) - Utilities for building, linking and testing contracts using go-ethereum and the simulated chain.\n- [solidity-coverage](https://github.com/sc-forks/solidity-coverage) - Code coverage tool.\n- [TypeChain](https://github.com/ethereum-ts/TypeChain) - TypeScript bindings for Ethereum Smart Contracts.\n\n## Miscellaneous\n\n#### Newsletters\n\n- [Week in Ethereum News](https://www.weekinethereumnews.com/) - Ethereum news and links, layer 1, layer 2, client releases, stuff for developers, interviews, podcasts, videos, talks, etc\n- [Reddit: /r/ethereum/](https://www.reddit.com/r/ethereum/) - Reddit about next-generation platform for decentralised applications.\n- [Reddit: /r/ethdev](https://www.reddit.com/r/ethdev) - Reddit about ethereum-related dev talk: Contracts, DApps, Wallets, Clients, Infrastructure, Tooling, UIs, Patterns, and others.\n- [Ethereum Research](http://ethresear.ch/) - Civilized discussion furthering Ethereum research\n\n#### Talks\n\n- [Understanding Blockchain function](https://www.youtube.com/watch?v=RplnSVTzvnU) - Say hello to the decentralized economy. (Est. time: 15 minutes)\n\n#### Videos\n\n- [DeFi from Finematics](https://www.youtube.com/c/Finematics/videos) - Educational videos on DeFi (Decentralized Finance).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Fblockchain-learning-path","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotofire%2Fblockchain-learning-path","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotofire%2Fblockchain-learning-path/lists"}