第六周 创建质押Dapp

官方文档:https://docs.alchemy.com/docs/how-to-build-a-staking-dapp

关注我的推特(https://twitter.com/SoullessL) ,及时获取Alchemy 教程的最新信息。

准备工作

首先进入Github,创建一个账号,Github不要刷多号,很容易被封。

然后浏览器输入 https://gitpod.io/#https://github.com/scaffold-eth/scaffold-eth-challenges/tree/challenge-1-decentralized-staking

然后点击Continue with Github,会提示你使用Github继续,点击按钮弹出Github授权,点击继续就好,弹出Select Edit窗口的时候,就选择第一个,使用浏览器版本的VSCode来编辑,然后慢慢等待项目初始化完成。这一步初始化会花费很长的时间,请慢慢等待。

如果这部分等待十几分钟还没加载出来,那可能是Gitpod的问题,可以把浏览器缓存全部删除,然后换个时间再试。

进入在线的编辑器以后,会自动初始化一些包,所以再等待一会,等待项目初始化完成。

最终等待右上角这块页面加载出来,说明你的项目初始化成功了。

然后点击Gitpod按钮,在弹出的窗口选择Gitpod:Open Access Control。

在新弹出的窗口里,点击 GitHub那一列后面的 Edit Permissions按钮。

然后在弹出的编辑权限的窗口里,把所有的权限都勾上,点击Update Permissions按钮,因为接下来我们要把代码复制到我们自己的GitHub里进行编辑,方便最后提交快照的时候填自己的GitHub的地址。

接下来我们点击这边的第三个Source Control 按钮

然后我们点击 Source Control里面的分支名 challenge-1-decentralized-staking,在弹出的窗口里选择 Create new branch from...

在Branch name 输入框输入你自己想要的名字,比如我填的是jayweek6,然后点击回车按钮。

然后选择 刚才的 challenge-1-decentralized-staking 分支,这样我们就拷贝了一份代码到我们自己的在线编辑器里面。

然后等待 Source Control 里面的分支名变成我们刚才输入的jayweek6就说明我们代码复制到在线编辑器成功了。

然后我们点击jayweek6下面的Publish Branch 按钮

由于原始的代码不是我们写的,所以我们是没有权限在别人的原始代码下面创建分支的,接下来我们点击Create Fork按钮,来复制代码到我们的Github中。

点击Create Fork按钮以后,再点击Allow按钮

慢慢等待分支创建成功,接下来会看到 The fork '.....' was successfully crteated on Github,说明代码已经创建成功了,然后你再点击 Open on github 按钮,就可以进入你自己的代码页面。

然后我们在代码页面的分支 选择按钮,点击 master 按钮,选择我们新建的分支 jayweek6

然后浏览器的地址会改变,记住这个地址,这个就是我们自己的项目分支的地址,我们的代码更新都会在这个项目下面,我们最终提交快照表单的时候,最后一个地址就是填写这个地址提交。

代码修改

找到Packages文件夹下的hardhat/contracts/Staker.sol文件,把文件的内容替换为下面的内容

找到react-app/src/App.jsx文件,把里面内容替换为

然后我们在截图所示的第三个终端里,输入 下面的命令,重新部署智能合约

等待部署成功以后,我们点击右上角的按钮,打开一个新的窗口来预览我们项目,进去以后,我们可以看到Staker UI和Debug Contracts和最初都有所不同。

然后我们点击右上角的复制测试地址按钮,复制我们的测试地址,然后点击左下角的按钮,打开发送测试代币的页面

在打开的页面贴入复制的地址,金额随便填个大一点的,点击Send发送,过一会我们就可以看到右上角我们的本地测试钱包里有余额了。

然后你可以点击 Stake 0.5 ether 测试一下质押代币。

然后在Source Conttrol 里面点击 Commit旁边的小三角,在Cmmit上面的输入框里面可以随便填一些备注,再点击Commit & push,可以把我们刚才修改的代码提交到自己的Github上。

然后我们进入第一部分获得的我们自己新建的项目分支的地址,浏览器输入地址(地址类似于 https://github.com/你的github名字/scaffold-eth-challenges/tree/你的分支名)进去,就可以看到我们自己的刚才提交的代码信息。

填表

填表地址 https://alchemyapi.typeform.com/roadtoweeksix ,填表的最后一部就是填我们自己的GitHub分支的地址。

等待快照然后去 https://mintkudos.xyz/ 连接钱包领取NFT。

最后更新于