/Dapp-Learning

Dapp learning project for developers at all stages. Becoming and cultivating sovereign individuals. Nonprofit organization.

Primary LanguageSolidityMIT LicenseMIT

δΈ­ζ–‡ / English

Definitive Guide for Decentralized-app(Dapp) Development on Blockchain

Step-by-step Dapp practice through actual projects.

Preface

We are designed for developers to step into blockchain DAPP development, where they can learn DeFi, NFT, DAO, CRYPTO projects. We hope we could not only give junior developers a feasible and easy-to-use blockchain DAPP learning roadmap, but also present advanced developers with a platform for communication and cooperation.

We are a decentralized learning group to study the mainstream DAPP projects together and share thoughts every week. The weekly sharing will be recorded and uploaded to Youtube.

We adhere to the concept of open source university and follow DAO's governance. Currently, we are sponsored by Ethereum foundation, and accept grants in gitcoin. All the funds will be awarded to whoever makes valuable contributions to us. Please follow us on Twitter @Dapp_Learning or WeChat Official Account Welcome to Dapp-Learning to keep track of our latest progress.

We need more builders to help make our community grow -- contributors are welcomed from all backgrounds! Feel free to send us pull requests to set up new tutorials or improve our current tutorial projects. Correcting spelling errors is also helpful to us πŸ€—.

Join our developer community by submitting PR or sharing at dapp learning university. Once you submit three PRs, you will be promoted to a pull request reviewer who could participate in our Dao's governance. Join our Discord if you want to communicate any technical issues with us. For more project management rules, please see how new members participate and project governance rules. Welcome to join us if you share the same value.

Official links
Technology Stack:
  • web3.js
  • ethers.js (Hardhat)
  • web3.py (Brownie)
  • Java (Optional)
  • Rust (Optional)
  • Go (Optional)

Project structure

The project is divided into two parts: Basic task and Project task

  • Basic task Basic tools to familiarize and integrate blockchain development (e.g. ERC standard, Oracle, GRAPH, IPFS)
  • Project task Case studies of the mainstream DeFi, NFT, Dao and other crypto projects to enlighten developers to deep dive into dapp development. We will organzie study groups to discuss and study project together.

Preparatory Work

Ramp up

  • Developers new to dapp development are strongly encoraged to learn the basics of Ethereum and Solidity before embarking on formal development. You can refer to basic knowledge preparation to ramp up.

Development tool

  • Sharp tools make good work. Familiarize yourself with basic development tools. Refer to recommended development tools to view the current mainstream blockchain development tools.

Recommended reading We have collected a list of classic blockchain-related books to help developers know underlying philosophy behind blockchain.

At the same time, feel free to keep expanding this book list.

Cryptographic course

We have collected some crypto courses from top universities and the Ethereum community to help developers systematically understand blockchain and cryptocurrencies.

We have also organized a translation group to translate MIT course 'blockchain and money' into Chinese, and upload all the chinese note-taking on our WeChat Official Account Welcome to Dapp-Learning

If you have other high-quality course recommendations, we hope you can make a suggestion and add it in our course repo: Recommendations for cryptographic courses.

Basic Tasks

Understand the basic tools and development knowledge of developing DAPP through the following basic tasks. For DAPP architecture, please refer to the article--the difference between Web2.0 and Web3.0 applications from the architectural dimension. Learn and run the first 20 tasks locally and upgrade to focus on project tasks You are welcome to PR improvements to existing tutorial projects or to create more tutorial projects

⬜ Task Not Start βŒ› Task Processing βœ… Task Finish

  1. deploy contract with web3.js βœ…
  2. create transaction with web3.js βœ…
  3. call ERC20 contract with web3.js βœ…
  4. truffle βœ…
  5. call ERC20 contract with ethers.js βœ…
  6. test contract with waffle and ethers.js βœ…
  7. hardhat βœ…
  8. graph βœ…
  9. react(metamask) βœ…
  10. ERC721+ ERC1155 + ipfs βœ…
  11. react + express + hardhat βœ…
  12. Crowdfund βœ…
  13. decentralized exchange βœ…
  14. chainlink-api βœ…
  15. nft-blindbox-chainlink-vrf βœ…
  16. nft auction & exchange βœ…
  17. wallet development βœ…
  18. web3.py βœ…
  19. brownie βœ…
  20. flash-loan βœ…
  21. aave-uni-lender βœ…
  22. zk-snarkjs βœ…
  23. ERC865 & ERC875 βœ…
  24. Upgradeable-contract βœ…
  25. multi-sig-wallet βœ…
  26. Quadratic vote & Gitcoin βœ…
  27. Arbitrum layer2 βœ…
  28. Optimism layer2 βœ…
  29. Polygon(matic) layer2 βœ…
  30. zksync layer2 βœ…
  31. StarkNet βŒ›
  32. chainlink-keeper βœ…
  33. pooltogether βŒ›
  34. subgraph ⬜
  35. duneanalytics & nansen ⬜
  36. NFT FileCoin βœ…
  37. Charm.fi βœ…
  38. Flashbots provider with ethers.js ⬜
  39. Multicall βœ…
  40. snapshot βŒ›
  41. Thirdweb
  42. merkle-distributor airdrop βœ…
  43. front running ⬜
  44. JavaScript Cryptography βœ…
  45. LP Dividend ⬜
  46. NFT Floor Perps ⬜
  47. TWAMM: Time-Weighted Average Market Maker ⬜
  48. state channel ⬜
  49. sniper ⬜
  50. solidity security βœ…
  51. NYM ⬜
  52. Governace ⬜
  53. Freelancer's Smart Contract βœ…
  54. Cryptovoxels ⬜
  55. PBFT ⬜
  56. IDO ⬜
  57. Orbit model ⬜
  58. Ethereum Virtual Machine Opcodes βŒ›
  59. web3.0 dapp βŒ›
  60. Referral Code ⬜
  61. ENS βœ…
  62. Tenderly
  63. HTLC-crosschain βœ…
  64. Web3-Rust ⬜
  65. ZK-NFT
  66. Kleros
  67. Go-Ethereum Code Analysis
  68. Config discord with Collab.land βœ…
  69. Decentralized OTC
  70. Arweave file upload with Bundlr Client
  71. Foundry
  72. Unlock protocol
  73. onchainNFT
  74. erc20-meta-token
  75. golang-dapp βœ…

Welcome to submit pull request,Add a new basic task or update the above task

Advanced task

The preparatory work: For developers with a certain foundation, this part selects mainstream high-quality projects for source code analysis and code review.

The project can be deployed to the test network and shared with the community as a basis. Large DEFI projects are complicated so we suggest to establish a study group to cooperate, ie. one for white paper, one for the front end, one for the contract, and one for data presentation.

Developers can initiate project research topic, form groups, and collaborate within the development community. This section is recommended as a submodule.

DeFi advanced tasks

The DEFI bibles will set you up with a good fundamental understandings of the DEFI system.
How to DeFi
How to DeFi:Advanced

DEFI Learning roadmap:
Trading -> Lending -> Derivatives

You can refer to our study group's learning roadmap, which is better with the video.

  • Trading: uniV1(task13) -> uniV2 -> uniV3 -> CurveV1 -> CurveV2
  • Lending: Aave -> Compound -> Liquity -> Euler
  • Derivatives: SNX -> YFI -> Perpetual
  1. UniswapV2 βœ…
  2. UniswapV3 βœ…
  3. Curve βŒ›
  4. Compound βœ…
  5. Aave βœ…
  6. Liquity βŒ›
  7. Euler βŒ›
  8. SNX πŸ‘‰ Pick up this Task
  9. YFI πŸ‘‰ Pick up this Task
  10. Perpetual Protocol πŸ‘‰ Pick up this Task
  11. Sushi βœ…
  12. OPYNβŒ›
  13. Alchemix βœ…
  14. AMPL πŸ‘‰ Pick up this Task
  15. RAI
  16. DYDXπŸ‘‰ Pick up this Task
  17. INDEXπŸ‘‰ Pick up this Task
  18. DODO Trading API πŸ‘‰ Pick up this Task
  19. MakerDaoπŸ‘‰ Pick up this task
  20. 0x-protocol πŸ‘‰ Pick up this Task
  21. Bancor πŸ‘‰ Pick up this Task
  22. Set
  23. Dhedge
  24. Element

NFT advanced tasks

DAO advanced tasks

Crypto advanced tasks

Please read the book first: γ€ŠGraphic encryption technology》 Item list:

Smart Contract Security

  1. Common safety tools
  1. CTF Training camp
  1. Safe development practices
  1. Integration of learning resources

Cryptocurrency Jobs Websites

Feel like a career in the crypto industry? The following websites fyi:

Project Ecology

Dapp-learning has a series of derivative projects and joint maintenance projects. Refer to related projects,Learn more about the ecology of the Dapp-Learning project.

Guide to Contribution

Intereted in participating? Check out this doc and find out how you can be a member of us: How to contribute.

Frequently Asked Questions (FAQ)

Please refer to this link to get some answers on how to set up dev environment, how to use the project, and how to get tokens for testing etc.

Donation Wanted

Open-sourced projects are not easy to maintain so we'd love for all kinds of donations. Dapp Learning team follow DAO's governance and all donations would be allocated to our community members as crypto rewards and/or NFTs based on their quality of contributions.

We have a Gitcoin campaign to sustain the Dapp-Learning efforts:

Direct donation to our dev team's fund is also appreciated:

  • Ethereum main network/zkSync/Arbitrum: 0x1F7b953113f4dFcBF56a1688529CC812865840e1

We also have created multi-signature wallets on polygon, managed by our core contributors

Ethereum Foundation-sponsored projects

This project is sponsored by Ethereum foundation. Follow us on Twitter @Dapp_Learning to get the latest updates. Sponsorship grants are managed under a multi-sign-up wallet by core contributor team; the fund is available to all contributors for their stellar additions to the project. We look forward to see your contributions soon. ESP02

Cooperative partner


                 

                    


Sponsor partner

Shout out to the following organizations for their unconditional donations to us/the open source project.


                 
     

Contributors

Thanks to the contributors of Dapp Learning