登链集训营实战项目全公开

  • Tiny熊
  • 发布于 22小时前
  • 阅读 617

前段时间,我写了一篇文章公开了登链线下集训营的完整的课表,我们系统设计的课程收到了很多人的肯定。编程作为一门实践学科,仅仅是听课或是看教程是远远不够的,一定要有自己的实践练习,才能有自己真正的理解。登链集训营迭代3年多,不仅仅形成了一套系统课程,我们还打造了一套自己的技能认证系统DeCe

前段时间,我写了一篇文章公开了登链 线下集训营完整课表 ,我们的系统课程收到了很多人的肯定。

编程作为一门实践学科, 仅仅是听课或是看教程是远远不够的,一定要有自己的实践练习,才能有真正的理解。在我们的线下集训营中,上课时间估计不到 30%, 70%+ 的时间是学员们实战练习。

登链集训营迭代 3 年多,不仅形成了一套相对完善的系统课程,我们还打造了一套自己的去中心化技能认证系统 DeCert.me (已经累计发送认证 超 4100 个)。线下集训大大小小约 50个实践项目也都在上面,我们每天要求学员编码练习,提交项目作品,导师再 Review,通过后,就可以领取一个 NFT 作为该技能的认证。

其实线下的一大优势,就是营造一个优质的学习氛围,让大家在这些实战中快速成长。两个月的集训,强度还是挺大的,但结束之后,大家的的收获也是实实在在的。

今天我们把实战项目全部公开,希望可以进一步帮助到自学的小伙伴们做练习。

后续我们也会在这个 代码库 整理出每个项目的参考实现。

以下是各个模块的实战训练:

模块一: 区块链基础

实战 1:编码模拟工作量证明( POW )过程 与非对称加密应用 链接: https://decert.me/quests/45779e03-7905-469e-822e-3ec3746d9ece

实战 2: 进阶(可选):模拟区块链出块过程

链接:https://decert.me/quests/ed2d8324-54b0-4b7a-9cee-5e97d3c30030

以上两个挑战,用来加深理解区块链如何运行的。

练习 3: 理解以太坊 GAS 计费规则

链接: https://decert.me/quests/d17a9270-99c3-4aeb-8a46-42ecb5e92792

实战 4:创建和部署第一个智能合约,通过这个挑战熟悉编写、编译、部署合约的全过程,同时掌握Remix 、钱包、区块链浏览器简单使用

链接: https://decert.me/quests/61289231665986005978714272641295754558731174328007379661370918963875971676821

模块二:Solidity 语言特性

实战 1 : 编写Bank,通过实战理解合约账号、并能运用合约接收 ETH,掌握 receive/fallfack函数的使用, payable 使用、及从合约里面转出 ETH,以及映射和数组的使用。

链接: https://decert.me/quests/c43324bc-0220-4e81-b533-668fa644c1c3

实战 2 :编写BigBank, 理解并使用合约件的继承、修改器、权限控制以及通过接口作为类型调用其他合约方法。

链接: https://decert.me/quests/063c14be-d3e6-41e0-a243-54e35b1dde58

练习 3: 理解 ABI 编解码规则

链接: https://decert.me/quests/10c11aa7-2ccd-4bcc-8ccd-56b51f0c12b8

练习 4:理解 call、delegatecall、staticcall 三种低级函数调用方式

链接:https://decert.me/quests/5849ac2d-7a6f-4c94-978c-73c582a575dd

模块三:OpenZepplin 库 Token 及 NFT标准

实战 1:编写一个 ERC20 Token(代币) 合约 ,通过实战进一步熟悉 Solidity 编程,而且可以熟悉 ERC20 Token 合约标准及实现

链接: https://decert.me/quests/aa45f136-27a3-4bc9-b4f7-15308e1e0daa

实战 2:实现一个代币银行 TokenBank ,理解合约与合约的交互,理解ERC20 的使用,尤其是 Token 的 transfer, 以及 approve 与 tansferFrom 的组合使用。

链接: https://decert.me/quests/eeb9f7d8-6fd0-4c38-b09c-75a29bd53af3

实战 3:编写直接 ERC721 NFT 合约 ,通过实战进一步熟悉 Solidity 编程,而且可以熟悉 ER721 Token 合约标准及实现,以及掌握去中心化存储(如 IPFS)的使用。

链接: https://decert.me/quests/852f5836-a03d-4483-a7e0-b0f6f8bda01c

实战 4: 编写 NFTMarket , 实现 Token 与 NFT 的兑换,掌握 NFT 市场上架、买卖、下架的实现。

链接:https://decert.me/quests/abdbc346-8314-4394-8f97-8732780602ed

模块四:Foundry 开发工具

练习 1: 完成 Foundry 基础知识挑战,用来测试对 Foundry 开发框架了解

链接:https://decert.me/quests/3bca8f1f-df6b-469b-941e-79388ee280c6

实战 2: 使用 Foundry 部署和开源合约, 掌握使用 Foundry 进行合约开发、编译部署、开源验证全流程

链接: https://decert.me/quests/7bd246d8-f0c3-45c0-a335-766505afdba9

实战 3: 使用 Foundry 进行测试。 测试 Bank 合约来熟悉 Foundry 各种作弊码的使用

链接: https://decert.me/quests/b8cde6b2-bad4-4629-b73a-2d0dede4f347

实战 4: Foundry高阶测试, 掌握模糊测试,错误情况的测试以及事件的测试

链接:https://decert.me/quests/08973815-3ebe-48d1-915e-7fc67c448763

模块五: 链钱包及前后端开发

实战1. 给 代币银行 TokenBank 合约添加前端界面,例如如何与链交互,掌握在前端调用合约。

链接: https://decert.me/quests/56e455b3-901c-415d-90c0-a20759469cf9

实战 2. 在后端(使⽤ Viem.sh )监听 NFTMarket 合约发生的事件(买卖记录) 链接:https://decert.me/quests/b4698649-25b2-45ae-9bb5-23da0c49e491

理解在后端通过 Viem.sh 事件,实时获取链上状态。

实战 3. (使用 Viem)构建自己的命令行钱包, 来理解创建钱包账号、构造交易、签名交易、发送交易的全流程。

链接: https://decert.me/quests/992dae0f-3bdf-4f03-9798-3427234fad95

实战 4. 实践操作 SafeWallet 多签钱包,理解多签的实现及使用

链接:https://decert.me/quests/4d4d50ab-84ab-4289-ac67-e3839e078537

实战 5. 实现一个简单的多签钱包,通过挑战理解合约钱包,多签的实现方式,理解底层 Call 调用。

链接:https://decert.me/quests/f832d7a2-2806-4ad9-8560-a27ad8570c6f

实战 6. 为 NFT 市场 NFTMarket 项目添加前端,接入 AppKit 进行多钱包(尤其是 WalletConnect)前端登录

链接: https://decert.me/quests/a1a9aff6-1788-4254-bc47-405cc529bbd1

实战 7. 理解 EIP712 标准,尝试掌握用离线签名(Permit)的方式来进行 Token 的授权和白名单设计。 链接: https://decert.me/quests/fc66ef6c-35db-4ee7-b11d-c3b2d3fa356a

实战 8. 利用 Permit2 为所有的 Token 接入离线签名授权及转账功能,实践在前端发起支持 Permit2 的签名。

链接: https://decert.me/quests/1fa3ecbc-a3cd-43ae-908e-661aac97bdc0

实战 9:链上数据扫块:使用 Viem 索引链上 ERC20 转账数据并展示,掌握如果通过扫块的方式获取链上指定的数据。

链接: https://decert.me/quests/ae220513-c0cb-4d9b-873a-caee1d4b358e

模块六:合约开发进阶 - 深入理解 EVM 运行 、 GAS 优化、合约审计与安全、合约升级

实战 1: 应用最小代理实现 ERC20 铸币工厂, 理解最小代理如何节省 Gas,同时理解 “公平” 发射的概念。

链接: https://decert.me/quests/75782f22-edb8-4e82-9b68-0a4f46fcaadd

实战 2:用所学的知识点,尝试优化 之前编写的 NFTMarknet gas 表现

链接: https://decert.me/quests/6a5ce6d6-0502-48be-8fe4-e38a0b35df62

实战 3:掌握 EVM 存储布局,确定给定代码 的 owner 的Slot 位置,使用内联汇编读取和修改Owner

链接: https://decert.me/challenge/163c68ab-8adf-4377-a1c2-b5d0132edc69

实战 4:利用存储布局的理解,读取私有变量的值

链接:https://decert.me/quests/b0782759-4995-4bcb-85c2-2af749f0fde9

实战 5:利用 Merkel 树及 MultiCall 等技术实现用户体验和 Gas 的优化

链接: https://decert.me/quests/faa435a5-f462-4f92-a209-3a7e8fdc4d81

实战 6:理解账户抽象 AA ( ERC4337 与 EIP7702 ),利用最新的上线的 EIP 7702 发起打包交易

链接: https://decert.me/quests/2c550f3e-0c29-46f8-a9ea-6258bb01b3ff

实战 7: 将 NFTMarket 合约改成可升级模式,在实战过程中理解可升级合约的编写,理解代理合约及实现合约的作用,以及如何对合约进行升级,如何开源逻辑实现合约

链接: https://decert.me/quests/ddbdd3c4-a633-49d7-adf9-34a6292ce3a8

练习 8: 深入理解合约升级涉及的存储布局

链接: https://decert.me/quests/8ea21ac0-fc65-414a-8afd-9507c0fa2d90

实战 9: 这个一个安全挑战题,你需要充当黑客,设法取出预先部署的 Vault 合约内的所有资金 链接:https://decert.me/quests/b5368265-89b3-4058-8a57-a41bde625f5b

实战 10:利用第三方服务(如 ChainLink Automation 等)实现对合约关键状态监控与自动化调用,

链接:https://decert.me/quests/072fccb4-a976-4cf9-933c-c4ef14e0f6eb

模块七:DEFI - 去中心化金融

实战 1: 编写一个线性解锁 Vesting 合约, 在实践中理解行业中锁仓、 Cliff(悬崖期 )及解锁( Vesting) 概念

链接: https://decert.me/quests/58aec80f-8980-434a-b549-566003367694

实战 2: 本地部署 Uniswap V2 , 熟悉 Uniswap V2 代码,有余力同学可以继续尝试本地部署 Uniswap V3

链接: https://decert.me/quests/fa82f574-7f3e-4566-8916-dd7aff17cb01

实战 3: 实现一个 LaunchPad 平台, 掌握 LaunchPad 是如何运行的,LaunchPad 除了一级发行,也会接入 Uniswap DEX ,因此在挑战中可以理解到一级和二级市场的差异。

链接: https://decert.me/quests/df4886bc-65c6-45fb-ad0c-3389a9f99bf2

实战 4: 理解什么需要时间加权价格( TWAP),并在合约中获取 Uniswap v2 中某个交易对的TWAP

链接 :https://decert.me/quests/ff20bbfe-0345-4f32-8ca3-fa77b3a0d6cb

实战 5:实现闪电兑换(Flash Swap 其实与闪电贷原理一样),理解在一个交易中,如何实现无风险的套利。

链接 :https://decert.me/quests/2a63cf95-43ec-42ee-975f-2b41510492cd

实战 6:实现质押挖矿合约 StakingPool , 重点理解和掌握复利的计算,这个复利算法,存在于很多 DEFI 合约中 链接:https://decert.me/challenge/e76599d5-a30c-4678-ba92-fe43c56df1db

实战 7:实现通缩的 Token ,掌握 rebase 型 Token 的实现原理

链接:https://decert.me/quests/2d4df0b6-17dc-4e5b-8f3a-728ed855e292

实战 8:实现简化的杠杆 DEX,掌握 vAmm 工作原理,以及理解头寸、保证金相关概念

链接:https://decert.me/quests/832502d6-e09a-4e08-9d0a-22b1ac51c1be

实战 9:理解期权、期货的区别,设计并实现一个看涨期权 Token

链接:https://decert.me/quests/5725236b-4e24-4c28-be69-2509087157c4

实战 10:实现一个可以用来投票的 Token ,并基于 此 Token 进行投票治理

链接:https://decert.me/quests/4cbe2544-6848-4881-b2f5-c4f291241621

实战 11 : ⽤ flashbot API eth_sendBundle 实现捆绑交易,实现一个抢预售

链接: https://decert.me/quests/70957dea-e3de-4b45-82c2-5c105c56c4ae

模块八:协议数据分析

实战 1. 掌握利用 TheGraph 索引链上数据,使用 TheGraph 索引 NFTMarket 合约数据 部署 NFTMarket 合约,并索引上架和成交数据

链接: https://decert.me/quests/092623aa-c9b8-42e9-9f8d-e83be451d35a

实战 2. 在TheGraph上存储NFTs持仓人列表【可选】, 掌握 Thegraph 中模板的应用

链接:https://decert.me/quests/ebb2c893-d671-41c5-a699-51d1d1634b87

实战 2. 在Dune中创建 NFT 的数据面版,通过这个实战掌握 Dune 提供哪些表,并熟悉高效的查询方法

链接: https://decert.me/quests/4087c3df-dfcd-4a3b-a51c-3120161aaa37

模块九:Layer2 扩容

实战【可选】: 这是一个综合的实战,在使用 OpStack 框架在本地启动一个 DevNet ,进行充值提现实战,并对充值,提现,交易批次数据和交易状态数据构建数据索引

链接:https://decert.me/quests/48adf130-59e2-40bb-ab1e-2ba8700be075

模块十:Solana 开发

练习 1:Solana 基础测试,对 Solana 链有一个基础的理解

链接:https://decert.me/quests/00677068-d5f1-423a-98a8-74ca6eacc244

练习 2:发起 Solana 上第一笔交易,熟悉 Solana 链的钱包及浏览器

链接:https://decert.me/quests/73599182-7447-4d78-b3b6-654221987ebf

实战 3:使用 Anchor 款加编写一个简单的计数器程序 链接:https://decert.me/challenge/90c331f2-6a0e-4a68-bc32-a50e1879a4bb

实战 4:用脚本调用自己编写计数器程序

链接: https://decert.me/quests/e2ea3b7a-07ac-4c35-8513-c25010b48d81

实战 5:创建自己的 Solana Token

链接:https://decert.me/quests/e33ea1c6-98ce-4d11-9119-20fc41d7b66c

黑客松比赛

在集训的最后,我们会组织一个为期 3-5 天的黑客松比赛,学员们平时实战中获得的认证 NFT 将用来投票决定比赛的名次,并发放奖金,这也是学员们一次真正用 Web3 的方式行使的权利,让大家正式体验 Web3 的治理。

最后

DeCert.me 认证平台是开放的,即便你在自学,也可以提交作品参与认证,为你之后的求职加分。登链社区人才库 也接入的 DeCert.me 认证数据,在 DeCert.me 获得过认证的牛人,会优先获得展示与推荐。

点赞 3
收藏 3
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

1 条评论

请先 登录 后评论
Tiny熊
Tiny熊
0xD682...E8AB
登链社区发起人 通过区块链技术让世界变得更好而尽一份力。