Dapp learning project for developers at all stages. Becoming and cultivating sovereign individuals. Nonprofit organization.
Definitive Guide for Decentralized-app(Dapp) Development on Blockchain
Step-by-step Dapp practice through classical projects.
ไธญๆ / English
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 @DappLearning 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 be a pull request reviewer who could participate in our Dao's governance. Join our Discord or Telegram 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
- Github
- Discord
- Telegram
- Youtube
- Wechat Official Account: Dapp Learning
- Bilibili
- notion
- Sharing Meeting
- Gitcoin
- Project Fund Management
- linktr
Technology Stack:
web3.jsethers.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
- Project task
Preparatory Work
Ramp up- Developers new to dapp development are strongly encouraged to learn the basics of Ethereum and Solidity before embarking on formal development.
Development tool
- Sharp tools make good work. Familiarize yourself with basic development tools.
Recommended reading We have collected a list of classic blockchain-related books to help developers know underlying philosophy behind blockchain.
You can also follow public account Unknown Scripture.- The Network State, written by Balaji Srinivasan. Chinese translation download.
- The Austrian School of Thought is recommended, Hayek Life introduction.
- Series articles Austrian economics school of thought for blockchain enthusiasts
Cryptographic course
We have collected some crypto courses from top universities and the Ethereum community to help developers systematically understand blockchain and cryptocurrencies.
- MIT Online Course: Blockchain and Money by Prof. Gary Gensler
- Berkeley Online Course: Defi Learning
- Stanford Online Course: CS 251 Bitcoin and Cryptocurrencies
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
- deploy contract with web3.js โ
- create transaction with web3.js โ
- call ERC20 contract with web3.js โ
- truffle โ
- call ERC20 contract with ethers.js โ
- test contract with waffle and ethers.js โ
- hardhat โ
- graph โ
- react๏ผmetamask) โ
- ERC721+ ERC1155 + ipfs โ
- react + express + hardhat โ
- Crowdfund โ
- decentralized exchange โ
- chainlink-api โ
- nft-blindbox-chainlink-vrf โ
- nft auction & exchange โ
- wallet development โ
- web3.py โ
- brownie โ
- flash-loan โ
- aave-uni-lender โ
- zk-snarkjs โ
- ERC865 & ERC875 โ
- Upgradeable-contract โ
- multi-sig-wallet โ
- Quadratic vote & Gitcoin โ
- Arbitrum layer2 โ
- Optimism layer2 โ
- Polygon(matic) layer2-layer2) โ
- zksync layer2 โ
- StarkNet โ
- chainlink-keeper โ
- pooltogether โ
- subgraph โฌ
- duneanalytics & nansen โฌ
- zk-rollup โ
- Charm.fi โ
- alloy-Rust โ
- Multicall โ
- Flashbots provider with ethers.js โฌ
- Foundry
- Merkle-distributor airdrop โ
- Ethereum Virtual Machine Opcodes โ
- JavaScript Cryptography โ
- Ethereum2.0 โ
- NFT Floor Perps โฌ
- TWAMM: Time-Weighted Average Market Maker โฌ
- ZK Voting โ
- Account Abstraction โ
- solidity security โ
- sniper โฌ
- Governance โฌ
- Freelancer's Smart Contract โ
- Cryptovoxels โฌ
- PBFT โฌ
- IDO โฌ
- Orbit model โฌ
- snapshot โ
- wagmi and nextjs โ
- Referral Code โฌ
- ENS โ
- Tenderly
- HTLC-crosschain โ
- state channel โฌ
- ZK-NFT
- Kleros
- Go-Ethereum Code Analysis
- Config discord with Collab.land โ
- Decentralized OTC
- Arweave file upload with Bundlr Client
- NYM โฌ
- Unlock protocol
- onchainNFT
- erc20-meta-token
- golang-dapp โ
- Push Protocol
- orbit
- wallet connect
- hardhat-foundry
- Circle CCTP
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 understanding of the DEFI system. How to DeFi How to DeFi:AdvancedDEFI 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 -> Opyn
- UniswapV2 โ
- UniswapV3 โ
- CurveV1 โ
- CurveV2 โ
- Compound โ
- Aave โ
- Liquity โ
- Euler โ
- SNX ๐ Pick up this Task
- YFI โ
- Perpetual Protocol โ
- Sushi โ
- OPYNโ
- Alchemix โ
- AMPL ๐ Pick up this Task
- RAIโ
- DYDX๐ Pick up this Task
- INDEX๐ Pick up this Task
- DODO Trading API ๐ Pick up this Task
- MakerDaoโ
- 0x-protocol ๐ Pick up this Task
- Bancorโ
- Set
- Dhedge
- Element
NFT advanced tasks
- 01. OpenSea ๐ Claim this Task
- 02. aavegotchi ๐ Claim this Task
- 03. Loot NFT Distribute
- 04. Rarible
- 05. Zora
- 06. Alchemy
- 07. Infura
DAO advanced tasks
- 01. Aragon
- 02. Augur ๐ Pick up this task
- 03. DAOHaus
- 04. DAOstack ๐ Pick up this task
- 05. Gnosis๐ Pick up this task
Crypto advanced tasks
Please read the book first: ใGraphic encryption technologyใ Item list: ๐ Claim this task- 05.js crypto
Smart Contract Security
- Ethernaut - Damn-Vulnerable-Defi | Solution - Paradigm-ctf - Smart Contract CTF- Safe development practices
- Integration of learning resources
Cryptocurrency Jobs Websites
Feel like a career in the crypto industry? The following websites fyi: - https://cryptocurrencyjobs.co/ - https://angel.co/jobs - https://www.paradigm.xyz/opportunities/ - https://web3.career/ - https://portfoliojobs.a16z.com/jobs?markets=CryptoHackathons
Participating in hackathons increases practical experience, you can participate in:
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
Interested 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 all kinds of donations. Dapp Learning team follows 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:
- Gitcoin grant address: Dapp-Learning gitcoin grant
- Ethereum main network/zkSync/Arbitrum๏ผ
We also have created multi-signature wallets on Polygon, managed by our core contributors
- Polygon Multiple signature wallets: 0x2A6D09B3b11E5455a37F907f2ec885E0Be704779
Cooperative partner
Sponsor partner
Shout out to the following organizations for their unconditional donations to us/the open-source project (in no particular order).
Contributors
Disclaimer: DappLearning is a non-profit learning organization and not involved in any commercial events or endorsements for commercial projects.