Day2课程
写 web 3
学习编写控制资金,身份和所有权的合约。
今天的目标是编写可编译的合约。
确保clone 每个repository 并在本地构建。 使每个应用程序运行与阅读代码一样重要,因为今天您将专注于理解所有活动部件的工作方式。
如果由于某种原因而卡在一个应用程序上,只需在Discord中寻求帮助并立即继续。 如果可能的话,请不要等到其他人答复后再继续,否则您会浪费时间。
核心活动:
在下面的资源部分中,选择AssemblyScript或Rust
查看您的语言标记为“CORE Activity”的所有3个应用程序
如果您喜欢采取特定步骤,则可以执行以下操作来仔细研究每个合约或dApp:
- 从第1天(请参阅第1天页面)中选择任何合约,或从第2天(请参见下文)中选择dApp
- 在本地克隆存储库(如果使用Windows,则在Gitpod中克隆)
- 确保您可以找到合约源代码,并且可以将合约编译为.wasm文件
- 以某种方式测试合约,以便您知道它是否有效。 您可以使用NEAR CLI命令或运行现有的单元测试或模拟测试,或者如果dApp有一个,则甚至可以使用Web界面来执行此操作。
- 对合约进行任何小的更改。 变化不大,但简单。
- 重建并重新测试(重复步骤3和4)
- 您所做的更改是否按预期进行了? 还是你弄坏了什么?
- 需要帮助时寻求帮助
- 不断重复6-7-8,直到您的信心增强……直到您认为自己了解合约并可以控制合约
- .删除合约,然后从您的笔记中再次写出来(您做笔记了吗?)。 当然,您也可以只重写合约的一小部分。
奖励活动
您看到的应用程序越多,您将对NEAR可能产生的想法有了更多的了解。
- 通读您所选择的语言的所有应用程序,而不仅仅是3种
- 还要通读其他语言的所有应用程序。
- 看看这个小难题,对您来说可能很有趣
Scavenger Hunt Challenge #3
用您喜欢的语言编写一个脚本,该脚本可以自动完成一些乏味的工作。 在您已经看到的其他项目中,您会发现一些启发。
- compiling a contract
- deploying (and optionally initializing) a contract
- exercising contract methods
更深入
如果您感到无所畏惧,那么大约一天之内就可以走上这条路
AssemblyScript
-
在AssemblyScript workshop中完成这些挑战
- #1. scavenger hunt through several AssemblyScript projects
- #2. debugging challenge to fix a few failing unit tests with broken contracts
-
完成此挑战,然后以一些有趣的方式修改
- #3. a development lifecycle challenge to guide you through deploying a contract
- 查看NEAR的一些数据“convenience”结构。 这些都是NEAR Storage的包装器,如docs所示 Storage as seen in docs
- collections in near-sdk-as
- collection performance
- 在AssemblyScript中查看可替代和不可替代的代币合约
资源
谨记:今天的活动
- 您确实需要构建(并运行测试)(如果适用)每个dApp(“去中心化应用”)
- 您应该尝试了解合约中的每一行代码
AssemblyScript
如果您打算专注于AssemblyScript,请打开AssemblyScript合约列表
您应该至少阅读3个标记为CORE活动的合约。
Rust
如果您打算专注于Rust,请打开Rust合约列表
您应该至少阅读3个标记为CORE活动的合约。
No Contract 无合约
可以使用NEAR构建不使用合约的应用程序。
以下是这些示例: OPEN the list of apps using NO CONTRACT