中文 / English
本项目适合有一定语言基础的开发者入门区块链 DAPP 开发,由浅到深了解和开发 DeFi, NFT, DAO, CRYPTO 项目。
项目愿景是给初级开发者一个可执行且最简的区块链 Dapp 学习路线图,给进阶开发者一个可以交流和协作的平台。
项目跟Rebase大学深度结合,成立学习小组进行任务分工然后一起研究主流dapp项目,每周进行技术分享,输出成果会作为视频上传B站的Rebase账号。
项目秉持 开源大学 的理念,会以DAO治理形式管理此开源项目,贡献三次高质量PR即可成为PR审核者,并参与决议项目走向。后续会给所有PR贡献者发放nft作为纪念奖品。欢迎参与gitcoin捐赠。
项目由来可以阅读Rebase公众号文章《Dapp-Learning 欢迎您的加入》
技术栈:
web3.js
ethers.js (hardhat)
web3.py (Brownie)
Java
(可选)rust
(可选)
教程分为 基础任务 和 项目任务 两部分,基础任务是熟悉和集成区块链开发所必需的基本工具组件(如ERC标准,oracle,graph),项目任务是研究主流 DeFi, NFT, DAO 的典型项目让开发者深入真实项目开发。
此教程仍在开发中,适合各阶段的开发者,欢迎提 PR 来创建更多的教程项目或完善已有的教程项目🤗,另外,我们会成立研究小组讨论和研究DEFI和DAO项目源码,新人如何参与以及项目治理规则。
阅读《精通以太坊》理解 以太坊 和 智能合约 的基本原理
- 以太坊原理书:https://ethbook.abyteahead.com/howto.html
- 以太坊开发工具汇总:https://learnblockchain.cn/article/2006
- solidity 学习:https://www.bilibili.com/video/BV1St411a7Pk?p=1
- 边玩边学solidity:https://cryptozombies.io/zh/course
- Solidity by Example:https://solidity-by-example.org/
- 以太坊黄皮书: https://github.com/ethereum/yellowpaper
开发工具:
- metamask(浏览器钱包插件): https://www.jianshu.com/p/b5b2c05e9090
- infura(节点服务): https://infura.io/
- alchemy(节点服务): https://dashboard.alchemyapi.io/
- 测试均连接kovan测试网,kovan测试ETH申请: https://faucet.kovan.network,也可自由使用其他测试网络。
- 以太坊区块链浏览器: https://kovan.etherscan.io
- JSON-PRC接口: https://eth.wiki/json-rpc/API
- tenderly合约验证: https://dashboard.tenderly.co/explorer
- remix本地环境: https://zhuanlan.zhihu.com/p/38309494
- 代码美化工具: https://www.cnblogs.com/kuronekonano/p/11794302.html
推荐阅读
- 《主权个人》(Sovereign Individuals, 尚无中译本,可关注不懂经公众号阅读)
- 推荐了解奥地利学派,Hayek生平介绍
- 系列文章:给区块链爱好者的奥派经济学课
- 《货币未来》:你应该了解的货币史
国外大学加密课程
- MIT Online Course: Blockchain and Money by Prof. Gary Gensler
- Defi Learning by Dan Boneh/Arthur Gervais/Andrew Miller/Christine Parlour/Dawn Song
- Standford Online Course: CS 251 Bitcoin and Cryptocurrencies
其他加密课程
国内区块链公开课
欢迎大家添加推荐书籍,请在此文档--好书推荐中录入;
通过以下基础任务,了解开发 Dapp 的基本工具和开发知识。完成20个task,可以升级关注项目任务。
- use web3.js deploy contract
- use web3.js create transaction
- use web3.js call ERC20 contract
- use truffle
- use ethers.js call ERC20 contract
- use waffle and ethers.js test contract
- use hardhat
- graph
- react(metamask)
- ERC721+ ERC1155 + ipfs
- react + express + hardhat
- Crowdfund
- decentralized exchange
- chainlink-api
- nft-blindbox-chainlink-vrf
- nft auction & exchange
- wallet develop
- web3.py
- brownie
- flash-loan
- scaffold-Lender
- scaffold-zk
- ERC865 & ERC875
- Upgradeable-contract
- multi-sig-wallet
- Quadratic vote
- Arbitrum
- optimism layer2
- matic layer2
- zksync layer2
- duneanalytics & nansen
- chainlink-keeper
- pooltogether
- subgraph
- Merkel-Patricia Tree(MPT)
- NFT Filecoin
- Charm.fi
- Flashbots provider for ethers.js
- Ethlend
- snapshot
- NFT farming
- merkle-distributor airdrop
- front running
- JavaScript Cryptography
- proxy contract
- vyper
- TWAMM: Time-Weighted Average Market Maker
- state channel
- sniper
- solidity security
- alchemix
- Governace
- Freelancer's Smart Contract
- Cryptovoxels
- PBFT
- IDO
- Liquity
- Auto trigger smart contract
欢迎提交 PR,添加新的基础任务或者更新上面的任务
准备工作:
此部分针对有一定基础开发者,选取主流优质项目进行源码剖析和 code review。
可采用小组协作方式将项目部署至测试网,以此为基础在 Rebase 社区进行分享。大型defi项目新颖且内容庞大,我们建议分工协作方式进行,如一人看白皮书,一人负责前端,一人负责合约,一人负责数据展示。
开发者可以在开发群里发起项目研究倡议,建立小组,进行协作。
建议先阅读DEFI经典书籍:
How to DeFi
How to DeFi:Advanced
- UniswapV2
- UniswapV3
- Compound 👉 认领这个 Task
- Aave
- SNX 👉 认领这个 Task
- Curve 👉 认领这个 Task
- 0x-protocol 👉 认领这个 Task
- Bancor 👉 认领这个 Task
- YFI 👉 认领这个 Task
- AMPL 👉 认领这个 Task
- Perpetual Protocol 👉 认领这个 Task
- DYDX👉 认领这个 Task
- OPYN
- INDEX👉 认领这个 Task
- DODO 👉 认领这个 Task
-
- Loot NFT Distribute
请先阅读书籍: 《图解密码技术》 项目列表:
- 01.ECC
- 02.PLONK
- 03.tornado
- 04.zk_snark 👉 认领这个 Task
新人如何参与到我们项目,请参考链接如何参与。
- 贡献过1次PR(或技术分享)以上可以进入开发者群;
- 贡献过3次高质量PR(或参与3个task的完成)即可给予PR审核者的权限,进入PR审核者群;
- PR审核者可以发起学习小组;
- PR审核者可以发起提案,决定项目发展规划,获取多数PR审核者同意即可通过提案;
- PR审核者须两周内至少一次PR,否则移除PR审核者权限,降为普通开发者,可以提PR重新加入;
- 原则上一周一次开发者沟通会议。
- 经典合约库 - https://github.com/OpenZeppelin/openzeppelin-contracts
- 合约安全库 - https://github.com/ConsenSys/smart-contract-best-practices
- Dapp 脚手架 - https://github.com/austintgriffith/scaffold-eth
- 合约教程 - https://github.com/HQ20/contracts
- 区块链教程 - https://learnblockchain.cn/
- 密码学课程 - https://live.csdn.net/list/Kevin_M_00
- DeFi 教程 - https://github.com/OffcierCia/DeFi-Developer-Road-Map
- Solidity 入门教程 - https://github.com/liushooter/learn-blockchain/tree/master/learning-solidity-2018
- Awesome Solidity - https://github.com/bkrem/awesome-solidity
开发群定期分享经典项目实操演示,欢迎添加你想实操演示的项目,请参考文档
测试币申请,安装和使用问题,请参考链接常见问题
欢迎感兴趣的小伙伴参与共建,开源项目维护不易,我们欢迎捐助。
gitcoin grant地址: Dapp-Learning grant
捐助地址:
- 通过以太坊主网:0x1F7b953113f4dFcBF56a1688529CC812865840e1
- 通过 zkSync: 0x1F7b953113f4dFcBF56a1688529CC812865840e1
- 通过 Arbitrum: 0x1F7b953113f4dFcBF56a1688529CC812865840e1
- 通过 Polygon: 0x2A6D09B3b11E5455a37F907f2ec885E0Be704779 polygon网络上我们已生成多签钱包
捐助资金管理:
其他网络资金我们都会汇集到polygon网络的多签钱包去管理。
多签钱包查看(polygon上的gnosis safe wallet):
https://polygon.gnosis-safe.io/app/#/safes/0x2A6D09B3b11E5455a37F907f2ec885E0Be704779
我们会议DAO形式治理项目,定期按 PR 提交记录分配资金给开发者,同时项目会给PR贡献者发放nft作为纪念奖品。