CadeYu / solidity_bootcamp

Solidity Bootcamp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenBuild Solidity Bootcamp

OpenBuild 联合 ETHPlanet 打造的 Solidity 课程将从 Web3 的理论基础讲起,到学习 Web3 开发最基础的 Solidity 智能合约开发,为你开启一个充满可能性和机遇的世界。

Co-learn Solidity,一起变强! 🔥🔥🔥

Introduction

为了让更多的 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. 自娱自乐🎣

Chapters

Chapter1 Blockchain Introduction
Chapter2 Solidity
  1. Solidity Basic Syntax
  2. Remix IDE
  3. ERC Contracts & OpenZeppelin
  4. ERC Contracts and Mini Exchange
Chapter3 Solidity Test & Security
  1. 课程回放
Chapter4 Frontend in Web3
  1. 课程回放
Chapter5 Tools
  1. 课程回放

Blockchain Introduction

区块链解决什么问题,Web2 与 Web3 的不同, 给 Web2 开发者的机会,Wallet 、 Layers

  1. 区块链基本原理介绍
  2. 区块链应用情况介绍
  3. 区块链技术学习路线
  4. 典型 Web2 与 Web3 应用的不同

Solidity

Solidity Basic Syntax, Tools, How to Deploy, etc

1. Solidity Basic Syntax

  • Solidity 智能合约简介
  • Solidity 核心语法

References

  1. Solidity 智能合约开发 - 基础
  2. learn-solidity
  3. Demo Code
  4. foundry-starter-kit
  5. Evangelion Theme

2. Remix IDE

  • Remix 使用
  • 智能合约生命周期

References

3. ERC Contracts & OpenZeppelin

  • ERC/EIP 介绍
  • ERC20/ERC712/ERC1155 概念讲解
  • OpenZepplin 简介及实用库推荐
  • Mini Exchange Demo 讲解

4. Foundry & ERC20 Exchange

使用 Foundry 构建一个 ERC20 Exchange

Solidity Test & Security

Frontend in Web3

Tools

One More Thing

Offline Hackerhouse (北京/上海/深圳/成都多地)

🏅️ 通关任务

三个阶段任务达成额外奖励 💰20U ➕ 专属的NFT结业勋章

阶段一 💰10U

完成以下三个任务 奖金 10U

任务 1 - 区块链开发例子-部署一个ERC20代币

  1. 选择区块链

    • Chainlist.org (RPC 配置)
    • 浏览器,gas代币(水龙头)
    • Meter 简介
    • 代币合约 Github
  2. 合约常用开发环境

    • Node.js
    • npm
    • Hardhat

任务 2 - 发行一个ERC721的NFT合约

  1. 在 sepolia 或其他测试网络发行一个 ERC721 的 NFT 合约,可以参照 https://solidity-by-example.org/app/erc721/

  2. 或使用 https://docs.openzeppelin.com/contracts/5.x/erc721,提交合约地址与对应网络

任务 3 - 使用foundry框架编译和测试

  1. 在 solidity 左侧 Applications 中选取 1 个自己感兴趣的应用,使用 foundry 框架进行编译,并编写测试(至少覆盖一个 Success Case 和 Fail Case),提交 github repo 链接

  2. Solidity by Example

阶段二任务 💰10U

任务 1 - 分析token并对区块进行安全检测

分析链上BNB链上token并Fork高度26793740的区块进行安全测试 0xddc0cff76bcc0ee14c3e73af630c029fe020f907

阶段三任务 💰10U

奖学金名额每个阶段共计 50 个。为了防止女巫,参与的人必须注册和完善 OpenBuild https://openbuild.xyz/ 的 Profile,且必须绑定 Github

Demoday 优秀项目💰200-500U

关于作业的提交说明

如果你对 Git 尚不了解,请先去简单查看 Git 教程,对于我们的作业提交而言,只需要安装好 Git 并且知道最简单的推送代码操作即可。

自己写的代码,一般都是开发者自己维护的仓库,拥有着诸多权限,可以让开发者随意更改。但是别人的开源项目,你并不会拥有直接更改的权限。所以在 Github 上提供了两个操作向开源项目贡献代码。

  1. Fork

fork的定义是指的是将一个开源项目复制到自己的 GitHub 账户下的操作。当你 fork 一个项目时,你就拥有了该项目在你的 GitHub 账户下的一份完整拷贝,可以在此基础上进行修改、测试和实验等。需要说明的是,fork 并不是 Git 自带的功能,而是像 Github 这样的平台提供的协作功能。

  1. Pull request

与fork相对的,当我们完成一些内容后,需要把我们的内容推送至开源项目中,但是我们并没有推送的权限,所以有了PR(Pull Request),Pull Request是指在GitHub或GitLab等代码托管平台上,开发者把自己修改后的代码提交给项目的管理者,请求他们审核并合并自己的代码的过程。

提交任务操作流程

  1. 首先 点击项目右上方的Fork按钮 将项目复制到自己的账户下
  2. 然后进入自己 fork 的项目中,通过 git clone下载到本地,按照作业要求将自己的作业内容放到指定的目录并推送。如果你正在使用 Vscode,这里推荐一个插件 git-commit-plugin 可以规范你的 commit 格式。
  3. 提交完成后回到我们fork 的项目中(指的是已经存在于自己仓库的复制体),点击Pull Request,因为是 fork 过来的项目,源分支(我们自己的 fork)和目标分支(主仓库) Github 会自动帮我们填好。我们只需要填一下PR的标题和描述即可。一般来讲,PR的标题应该简洁明了地概括你所做的修改。而PR的描述则是详细说明你的修改内容和目的,以便审核者更好地理解你的修改内容。需要注意的是,不能与目标仓库当前已有代码产生冲突噢。当我们创建了PR以后,就可以等待目标仓库的管理员审核通过啦~

最后,如果你有任何作业问题,欢迎在我们的学习群 or Discussions 里提出(作业示例代码可参考 GrayJiang 内文件)。

推荐材料

1. 人文基础

比特币之前的事情:理解组成比特币的核心技术的发展,理解比特币的前前后后,能更好的理解中本聪创造比特币的核心产物。

2. 技术基础

3. PDFs

4. 官方文档

5. 学习网站

6. 相关资源

7. 大佬博客

8. 其他文章

视频资料

About

Solidity Bootcamp

License:Apache License 2.0


Languages

Language:Solidity 97.1%Language:Julia 1.9%Language:TypeScript 0.7%Language:JavaScript 0.2%Language:Makefile 0.1%Language:Nix 0.0%