🔥🔥🔥 黑客松组队持续报名! 🔥🔥🔥
Introduction / 项目介绍
Github Discussion / GitHub讨论方式
Chapters / 章节
Missions / 通关任务
Recommended materials / 推荐材料
video material / 视频资料
Foundry
为了让更多的 Web2 的开发者和准备入手 Web3 开发的同学丝滑掉进入这个兔子洞。
OpenBuild 联合 ETHPlanet 打造的 Solidity Bootcamp 将从 Web3 的理论基础讲起,到学习 Web3 开发最基础的 Solidity 智能合约开发,通过4周的学习帮助你从 Web2 无缝过渡到 Web3 开发,成为solidity开发,为你开启一个充满可能性和机遇的世界。🚢
Github Discussion 使用方法
Categories | Description |
---|---|
🍕Materials | 课外资料/课堂笔记(欢迎贡献) |
🙏 Q&A | 提问 / 答疑 |
💰Bounty | Bounty 任务:课堂作业/课堂笔记/社区贡献etc |
💡I've got an idea! | 关于一些 Amazing fancy ideas, 用来 1. solidity共学 2. 组队开发 3. 参加黑客松 4. 招聘内推 5. 自娱自乐🎣 |
Chapter1 Blockchain Introduction
Chapter2 Solidity
Chapter3 Solidity Test & Security
Chapter4 Frontend in Web3
Chapter5 Dev Tools and Ecosystem
区块链是什么? 区块链解决什么问题? Web2 与 Web3 有什么不同? Web2 开发者的机会? Wallet 是什么? Layers 是什么?
- 区块链基本原理介绍
- 区块链应用情况介绍
- 区块链技术学习路线
- 典型 Web2 与 Web3 应用的不同
视频:区块链入门
Solidity Basic Syntax, Tools, How to Deploy, etc
- Solidity 智能合约简介
- Solidity 核心语法
- Remix 使用
- 智能合约生命周期
- ERC/EIP 介绍
- ERC20/ERC712/ERC1155 概念讲解
- OpenZepplin 简介及实用库推荐
- Mini Exchange Demo 讲解
使用 Foundry 构建一个 ERC20 Exchange
大家可以试试几个 Demo:
通过Functions连接Lens和eventbrite,根据用户在链上的行为发布一些活动的优惠券
Functions: The Graph and Uniswap
通过Functions获取ETH价格然后触发uniswap交易
CCIP跨链NFT
Offline Hackerhouse (北京/上海/深圳/成都多地)
三个阶段任务达成额外奖励 💰20U (作业截止时间:12/16日) ➕ 专属的NFT结业勋章
完成以下三个任务 奖金 10U
-
在 sepolia 或其他测试网络发行一个 ERC721 的 NFT 合约,可以参照 https://solidity-by-example.org/app/erc721/
-
或使用 https://docs.openzeppelin.com/contracts/5.x/erc721,提交合约地址与对应网络
-
在 solidity 左侧 Applications 中选取 1 个自己感兴趣的应用,使用 foundry 框架进行编译,并编写测试(至少覆盖一个 Success Case 和 Fail Case),提交 github repo 链接
分析链上BNB链上token并Fork高度26793740的区块进行安全测试 0xddc0cff76bcc0ee14c3e73af630c029fe020f907
查看wagmi文档和rainbow源码,根据官方例子自定义编写一个钱包 UI
终极任务🐉
完成 ChainlinkLearningPath 中全部的三个任务
还可以获得Chainlink的 SBT 学历证明以及 Chainlink Swag
🚀🚀🚀
奖学金名额每个阶段共计 50 个(副本任务和 Demoday 除外)。为了防止女巫,以上活动参与的人必须注册和完善 OpenBuild https://openbuild.xyz/ 的 Profile,且必须绑定 Github
如果你对
Git
尚不了解,请先去简单查看 Git 教程,对于我们的作业提交而言,只需要安装好 Git 并且知道最简单的推送代码操作即可。
自己写的代码,一般都是开发者自己维护的仓库,拥有着诸多权限,可以让开发者随意更改。但是别人的开源项目,你并不会拥有直接更改的权限。所以在 Github 上提供了两个操作向开源项目贡献代码。
Fork
fork
的定义是指的是将一个开源项目复制到自己的 GitHub 账户下的操作。当你 fork 一个项目时,你就拥有了该项目在你的 GitHub 账户下的一份完整拷贝,可以在此基础上进行修改、测试和实验等。需要说明的是,fork 并不是 Git 自带的功能,而是像 Github 这样的平台提供的协作功能。
Pull request
与fork相对的,当我们完成一些内容后,需要把我们的内容推送至开源项目中,但是我们并没有推送的权限,所以有了PR(Pull Request),Pull Request
是指在GitHub或GitLab等代码托管平台上,开发者把自己修改后的代码提交给项目的管理者,请求他们审核并合并自己的代码的过程。
提交任务操作流程
- 首先 点击项目右上方的
Fork
按钮 将项目复制到自己的账户下 - 然后进入自己 fork 的项目中,通过
git clone
下载到本地,按照作业要求将自己的作业内容放到指定的目录并推送。如果你正在使用 Vscode,这里推荐一个插件 git-commit-plugin 可以规范你的 commit 格式。 - 提交完成后回到我们fork 的项目中(指的是已经存在于自己仓库的复制体),点击
Pull Request
,因为是 fork 过来的项目,源分支(我们自己的 fork)和目标分支(主仓库) Github 会自动帮我们填好。我们只需要填一下PR的标题和描述即可。一般来讲,PR的标题应该简洁明了地概括你所做的修改。而PR的描述则是详细说明你的修改内容和目的,以便审核者更好地理解你的修改内容。需要注意的是,不能与目标仓库当前已有代码产生冲突噢。当我们创建了PR以后,就可以等待目标仓库的管理员审核通过啦~
最后,如果你有任何作业问题,欢迎在我们的学习群 or Discussions 里提出(作业示例代码可参考 GrayJiang 内文件)。
比特币之前的事情:理解组成比特币的核心技术的发展,理解比特币的前前后后,能更好的理解中本聪创造比特币的核心产物。
- 比特币前传(一)70 年代公钥传奇
- 比特币前传(二):去中心化的起源
- 比特币前传(三):90 年代的加密战争
- 比特币前传(四):跨越半个世纪的思想与蓝图
- 以太坊简史:因暴雪削弱术士而诞生的千亿美元巨兽:以太坊近十年的发展很难用一篇文章概括,但是可以大致浏览每一个阶段的重大突破与变化。了解 VB 创造 ETH 的时候主要想解决什么问题
- 加密思潮编年史,从 25 年前说起:快速了解加密思潮在不同时期的变化,了解到如何一步步从 BTC 走向 DAPP
- 比特币白皮书
- 比特币白皮书精读详解:比特币白皮书精读版是对比特币白皮书更详细的解读,有助于更好的理解白皮书中的内容。比特币的技术原理搞的越清楚越好。
- 以太坊白皮书:ethereum官方文档
- 比特币白皮书精读版:白皮书精讲系列是看懂白皮书很好的参考资料,可以更深入的了解白皮书中的细节。这是 ETH1.0 的架构,后面再看 ETH 2.0 的架构。也是搞得越清楚越好,后续的区块链整体上都没有脱离这个架构,既 Chain-VM-共识-Daap
- 一个以太坊交易的完整周期:这篇文章对具体的每一个环节都有很详细的记录,跟 Daap 的开发结合非常紧密,最好能完整过一遍,然后自己尝试画一个详细的流程图。包括前端怎么跟钱包交互,钱包怎么跟 RPC 交互,节点之间怎么通信,EVM 怎么处理交易,Gas,最后存储等。
- Foundry 开发框架
- 《精通以太坊:开发智能合约和去中心化应用》:机械工业出版社,O'REILLY系列丛书。
- 《精通区块链编程:加密货币原理、方法和应用开发》:机械工业出版社,O'REILLY系列丛书。
- 《Mastering Bitcoin》:《精通区块链编程:加密货币原理、方法和应用开发》的英文原版
- Remix:solidity在线IDE
- [测试网] sepolia
- [测试网] goerli
- [游戏] 迷恋猫:一款知名的web3游戏。
- [交易所] OpenSea
- [交易所] UNISWAP
- [DAO] Botto
- chainlist:EVM网络列表
- infura
- nodiesDLB
- alchemy
- etherscan
- Ethernaut :合约安全的小挑战。(卡关 推荐D-Squard YT频道)
- 郭宇:前bytedance前端工程师
- Preethi Kasireddy:TruStory CEO
- pseudoyu:我们可爱的老师
ERC 相关:
https://www.coindesk.com/learn/what-are-eip-and-erc-and-how-are-they-connected/ https://ethereum.org/en/developers/docs/standards/tokens/erc-20/ https://ethereum.org/en/developers/docs/standards/tokens/erc-721/ https://celo.academy/t/a-practical-comparison-between-erc-1155-and-erc-721/62
Demo 项目: