You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
老实说,这次的课程,task 7,8,9 可以说都是纯送福利来的,千万不要因为前面的 task 难度高,而纠结前面的作业,错过了这 3 个 task。各位同学如果不做 task 7,8,9,那就太可惜了,所以我特地写了 3 篇“手把手”教程,希望每个同学都能看到,顺利完成并提交 PR,得到赞助方的 bounty。
第一步:Fork throttler-aspect project
首先来到网址 https://github.com/dumbeng/throttler-aspect,点击 Fork,并选择 Create a new fork;
在出现的界面,点击 Create Fork 按钮;
然后,你会发现这个 project 已经被 fork 到你自己的 github repository 里面了,复制这个 URL,第二步要用;
第二步:写 aspect 代码
现在打开你的 VSCode 或其他编写程序的软件,进入准备写代码的文件夹,运行下面的命令:
git clone {上一步复制的 URL }.git
,github 上的 project 就会被克隆到本地;
复制代码之后,我们需要安装 aspect-tool,你的电脑上必须已安装最新版本的 Node.js,npm 和 solc:
在 Node.js,npm 和 solc 都有的情况下,运行下面的命令:
npm install -g @artela/aspect-tool
安装完成之后,运行下面的命令,为 project 安装必要的依赖项:
npm install
之后,按照 Task 7 的视频补全 aspect/index.ts 的代码:
(我不会告诉你,在 https://github.com/dumbeng/throttler-aspect/blob/main/aspect/index.ts 可以看到完整代码 ;) )
第三步:部署 contract 和 aspect
为了部署智能合约,先用下面的命令创建一个钱包账户:
npm run account:create
,目录下会生成 privateKey.txt 文件,同时会显示钱包地址,复制此地址,下面要用;
加入 Artela Discord 服务器,找到 testnet-faucet 频道,输入下面的命令:
$request { 钱包地址 }
你的钱包将会收到测试币;
部署合约之前,先运行下面的命令编译智能合约:
npm run contract:build
编译成功之后,运行下面的命令部署智能合约:
npm run contract:deploy -- --abi ./build/contract/Counter.abi
--bytecode ./build/contract/Counter.bin
部署成功之后,记录下合约地址,第四步要用;
部署 aspect 之前,先运行下面的命令编译 aspect :
npm run aspect:build
编译成功之后,运行下面的命令部署 aspect :
npm run aspect:deploy -- --interval 6 --limit 3
部署成功之后,记录下 aspect ID,第四步要用;
第四步:绑定 contract 和 aspect,并测试
运行下面的命令,绑定 contract 和 aspect:
npm run contract:bind -- --contract {contract-address}
--abi ./build/contract/Counter.abi
--aspectId {aspect-Id}
打开 scripts/batch-test.cjs 文件,找到 .default('contract',将里面的地址改成上一步部署的智能合约地址;
保存之后,运行下面的命令,测试 aspect 是否按预想运行:
npm run test
如果只运行成功 3 次,并且间隔大于 6 秒才成功,就说明 aspect 起到效果了。
之后只需要把代码 commit 到 github,然后填写 task 7 的问卷就可以了。
你还在等待什么,赶紧来完成 task 7 吧!
Beta Was this translation helpful? Give feedback.
All reactions