/Dapp-Learning

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

Primary LanguageSolidityMIT LicenseMIT

中文 / English

区块链 Dapp 开发教程

通过实际项目一步一步学习区块链 Dapp 开发。

序 - Preface

本项目适合有一定语言基础的开发者入门区块链 DAPP 开发,由浅到深了解和开发 DeFi, NFT, DAO, CRYPTO 项目。

项目愿景是给初级开发者一个可执行且最简的区块链 Dapp 学习路线图,给进阶开发者一个可以交流和协作的平台。

本项目会成立学习小组进行任务分工,然后一起研究主流dapp项目,每周进行技术分享,输出成果会作为视频上传Youtube

项目秉持 开源大学 的理念,会以DAO治理形式管理此开源项目。本项目受以太坊基金会赞助,我们会将资金奖励给项目的优秀贡献者。开源项目维护不易,欢迎gitcoin捐赠。想跟踪项目最新进展,欢迎关注我们的推特Youtube。 项目由来可以阅读《Dapp-Learning 欢迎您的加入》

此项目仍在开发中,适合各阶段的开发者加入,欢迎提 PR 来创建更多的教程项目或完善已有的教程项目🤗。项目交流可加入我们的discord。提交三次PR或者安排一次分享即可加入我们开发者群,持续贡献高质量PR可成为PR审核者,并参与决议项目走向。项目管理细则请参看新人如何参与以及项目治理规则,欢迎理念相同的小伙伴加入。

Official links:
技术栈:
  • web3.js
  • ethers.js (hardhat)
  • web3.py (Brownie)
  • Java (可选)
  • Rust (可选)
  • Go (可选)

项目结构

项目分为 基础任务项目任务 两部分

  • 基础任务 是熟悉和集成区块链开发所必需的基本工具组件(如ERC标准, oracle, graph, ipfs)
  • 项目任务 是研究主流 DeFi, NFT, DAO, CRYPTO 的经典项目让开发者深入真实项目开发,我们会成立学习小组进行任务分工,一起讨论和研究项目源码。

准备工作 - Preparatory Work

基础知识预备

  • 进入正式的 Dapp 开发学习前, 建议新手开发者学习 以太坊 及 Solidity 相关的基本知识。 更多资料可参考 基础知识预备 , 供各位新手小伙伴学习参考。
  • 开发者进入web3技能描述大全 https://www.devpill.me/

开发工具

  • 工欲善其事, 必先利其器。 请先熟悉基本工具的使用。 可参考 开发工具推荐 查看当下主流的区块链开发工具。

推荐阅读

我们整理了区块链相关的经典书籍,帮助各位开发者深入了解当下区块链背后的人文思潮。

同时欢迎大家添加推荐书籍,请在此文档 书籍推荐 中录入

加密课程

我们会推荐一些国外顶尖大学和以太坊社区的加密课程,帮助开发者系统性的了解区块链和加密货币。

其他优质的课程也欢迎提 PR 在此文档加密课程推荐 中录入。 我们也成立翻译小组翻译这些公开课程,总结课程笔记,节省小伙伴时间。中文笔记请查看:MIT课程笔记整理 对翻译小组感兴趣小伙伴欢迎加入,请关注我们公众号 Dapp-Learning 联系我们。

基础任务 - Basic Tasks

通过以下基础任务,了解开发 Dapp 的基本工具和开发知识。 DAPP架构请参考文章--从架构维度看Web2.0与Web3.0应用之别 学习并本地运行 前20 个task,可以升级关注项目任务。 欢迎提 PR 来创建更多的教程项目或完善已有的教程项目🤗

⬜ 表示任务未开始 ⌛ 表示任务正在进行中 ✅ 表示任务已完成

  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. NFT farming
  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
  76. Thirdweb

项目任务

准备工作: 此部分针对有一定基础开发者,选取主流优质项目进行源码剖析和 code review。 可采用小组协作方式将项目部署至测试网,以此为基础在 Rebase 社区进行分享。大型defi项目新颖且内容庞大,我们建议分工协作方式进行,如一人看白皮书,一人负责前端,一人负责合约,一人负责数据展示。 开发者可以在开发群里发起项目研究倡议,建立小组,进行协作。

DeFi 进阶

建议先阅读DEFI经典书籍:

DEFI学习路线图:

交易 -> 借贷 ->衍生品

可以参考我们学习小组的学习路线图,配合视频学习更佳:

  • 交易: uniV1(task13) -> uniV2 -> uniV3 -> CurveV1 -> CurveV2
  • 借贷: Aave -> Compound -> Liquity -> Euler
  • 衍生品: SNX -> YFI -> Perpetual
  1. UniswapV2
  2. UniswapV3
  3. Curve
  4. Compound
  5. Aave
  6. Liquity
  7. Euler
  8. SNX 👉 认领这个 Task
  9. YFI 👉 认领这个 Task
  10. Perpetual Protocol 👉 认领这个 Task
  11. Sushi
  12. OPYN
  13. Alchemix
  14. AMPL 👉 认领这个 Task
  15. RAI
  16. DYDX👉 认领这个 Task
  17. INDEX👉 认领这个 Task
  18. DODO Trading API 👉 认领这个 Task
  19. MakerDao👉 Claim this task
  20. 0x-protocol 👉 认领这个 Task
  21. Bancor 👉 认领这个 Task
  22. Set
  23. Dhedge
  24. Element

NFT 进阶

DAO 进阶

Crypto 进阶

请先阅读书籍: 《图解密码技术》 项目列表:

智能合约安全

  1. 常用安全工具
  1. CTF 训练营
  1. 安全开发实践
  1. 学习资源合集

Cryptocurrency Jobs Websites

推荐一些比较好cryptocurrency jobs网站

Hackathons

参与黑客松增加实践经验,可参与有:

如何参与以及DAO治理

新人如何参与到我们项目,请参考链接 如何参与

项目生态

Dapp-Learning 有系列衍生项目及共同维护项目, 参考 相关项目 详细了解 Dapp-Learning 项目生态.

常见问题

测试币申请,安装和使用问题,请参考链接 常见问题

社区捐助

欢迎感兴趣的小伙伴参与共建,开源项目维护不易,我们欢迎捐助。 gitcoin grant地址: Dapp-Learning gitcoin grant

捐助地址:

  • 以太坊主网/zkSync/Arbitrum: 0x1F7b953113f4dFcBF56a1688529CC812865840e1
  • Polygon多签钱包: 0x2A6D09B3b11E5455a37F907f2ec885E0Be704779

polygon网络上我们已生成多签钱包,由核心贡献者管理

我们会议DAO形式治理项目,定期按 PR 提交记录分配资金给开发者,同时项目会给PR贡献者发放nft作为纪念奖品。

以太坊基金会赞助项目

本项目受以太坊基金会赞助, 赞助资金会存放在多签钱包,由核心贡献者共同管理,并奖励给项目的优秀贡献者,欢迎加入我们。

合作伙伴


              

                               


赞助伙伴

感谢以下组织对本开源项目的无偿捐助。


                                            
              

贡献者

感谢 Dapp Learning 的贡献者们