第八章:世界杯竞猜(项目实战)
小白入门:https://github.com/dukedaily/solidity-expert ,欢迎star转发,文末加V入群。
职场进阶: https://dukeweb3.com
前面介绍了很多语法内容,对solidity知识点进行了详细梳理,相信认真学习的同学已经掌握了基本的合约知识。
但是对于一个DAPP开发而言,这些知识点只是最基础的环节,我们需要一次项目实战,将整个知识体系串联起来,因此我开启了这个是:世界杯竞猜 实战项目。
本次课程内容来自于我的一次公司内部培训,我将培训内容进行二次整理后同步出来,供web3爱好者学习。
当前已经有第一个版本了(goerli网络),先睹为快:https://solidity-expert-worldcup.vercel.app/
- 任何人都可以:Play
- 管理员可以:Finalize
- 仁和园都可以领奖:ClaimReward(需要先Finalize)
流程图
DAPP开发需要哪些技能?
- 区块链基本知识:地址、token、非对称加密、哈希、共识;
- Solidity:编写智能合约,这是整个dapp最核心部分;
- nodejs:这部分必须手到擒来,因为框架、单测、脚本等都是使用js来操作的(js是最主流的,python、java等也有);
- sdk(optional):主流的web3库为web3.js或ethers.js,所有与链上交互的操作都是通过这两个库进行的;
- Subgraph: 这是一个三方基建服务,可以在链下对事件进行捕捉(扫链、计算、存储postgres),从而对进行数据整合,被前端调用,快速返回数据,极大的方便了开发者。
- 前端:react(大项目使用,知名协议原生支持的库更全面)
- 后端(optional):机器人、周期性调用合约、监听扫链(钱包)、其他需求
你能学到什么?
我们通过不断增加功能需求,引入新的知识点,从而完成学习,开展形式和节奏如下:
第一节:世界杯竞猜业务:主要讲solidity合约语法,在remix实现合约逻辑,并完成基本测试。
第二节:工程化管理:介绍hardhat框架的使用,在框架中完成合约编译、部署、verify、单元测试等。
第三节:Token协议:主要介绍token协议:ERC20、ERC721、ERC1155,后两者就是我们常说的NFT,从而为后续经济激励做铺垫。
第四节:系统优化:学习subgraph,为系统的性能、功能做升级。
第五节:后台服务:引入后台server,从而学习如何使用server调用合约。
第六节:发放奖励:增加经济激励,完成奖励领取,学习Merkel tree相关知识。
第七节:质押挖矿:学习staking相关知识点。
第八节:链下授权:了解permit相关知识点,approve+transferFrom一笔完成。
第九节:可升级合约:完成合约升级技能,数据业务分离。
第十节:个人中心:与链下server结合,展示个人主页。
其他待定...(这个项目应该会一直维护,可以做很久)
如何开展?
第一阶段的课程会持续到年底,尽量保证每周能更新一次,开源内容安排如下:
- 代码、课件会同步开源到github和公众号(README中有);
- 视频需要二次录制,需要大量精力,这个视具体情况而定;
- 课程内容还在同步开发中,具体内容、顺序可能会有变化。
小结
学海无涯,Web3永驻,老夫载你一程!
加V入群:dukeweb3,公众号:阿杜在新加坡,一起抱团拥抱web3,下期见!
关于作者:国内第一批区块链布道者;2017年开始专注于区块链教育(btc, eth, fabric),目前base新加坡,专注海外defi,dex,元宇宙等业务方向。