github

Dapp-Learning-DAO / Dapp-Learning

  • вторник, 28 декабря 2021 г. в 00:33:13
https://github.com/Dapp-Learning-DAO/Dapp-Learning




中文 / English

区块链 Dapp 开发教程

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

序 - Preface

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

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

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

项目秉持 开源大学 的理念,会以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.useweb3.xyz/
    更多资料可参考 基础知识预备 , 供各位新手小伙伴学习参考。

开发工具

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

推荐阅读

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

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

加密课程

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

其他优质的课程也欢迎提 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. scaffold-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. duneanalytics & nansen ⬜
  32. chainlink-keeper ✅
  33. pooltogether ⌛
  34. subgraph ⬜
  35. NYM ⬜
  36. NFT FileCoin ✅
  37. Charm.fi ✅
  38. Flashbots provider with ethers.js ⬜
  39. Ethlend ⬜
  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. alchemix ✅
  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. HTLC-crosschain ⬜
  63. Web3-Rust ⬜
  64. ZK-NFT
  65. Kleros
  66. Go-Ethereum Code Analysis

欢迎提交 PR,添加新的基础任务或者更新上面的任务

项目任务

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

DeFi 进阶

建议先阅读DEFI经典书籍: How to DeFi How to DeFi:Advanced

  1. UniswapV2 ✅
  2. UniswapV3 ✅
  3. Compound ✅
  4. Aave ✅
  5. SNX 👉 认领这个 Task
  6. Curve ⌛
  7. 0x-protocol 👉 认领这个 Task
  8. Bancor 👉 认领这个 Task
  9. YFI 👉 认领这个 Task
  10. AMPL 👉 认领这个 Task
  11. Perpetual Protocol 👉 认领这个 Task
  12. DYDX👉 认领这个 Task
  13. OPYN⌛
  14. INDEX👉 认领这个 Task
  15. DODO 👉 认领这个 Task
  16. MakerDao👉 Claim this task
  17. Sushi👉 Claim this task
  18. Set
  19. Dhedge
  20. Liquity
  21. RAI

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 twitter。 赞助资金会存放在多签钱包,由核心贡献者共同管理,并奖励给项目的优秀贡献者。欢迎加入我们。 ESP02

合作伙伴


              

                               


贡献者

感谢 Dapp Learning 的贡献者们