## Vara Network 开发者入门课程大纲 [draft]

https://academy.gear.foundation/courses/basic_course
## 目标
你将学习的内容:
掌握Vara网络开发的基础知识。
学习在Vara网络上进行测试。
熟悉Gear-JS库进行客户端交互。
使用合约和前端开发实际应用程序。
在Vara网络上部署并与程序进行交互。
---
## 课程大纲
内容分为六节
第一节:Vara Network 基础知识
1. Vara Network 简介
2. 核心概念 (1.1.2, 1.1.3)
3. 地址格式 & 钱包使用 (1.1.1)
4. 开发环境搭建
5. 使用 Gear IDEA 部署合约 (1.2.3, 1.4.1, 1.4.2)
第二节:合约结构
1. Metadata (1.3.2)
2. 状态变量与入口函数 (1.1.4, 1.2.1, 1.3.1, 2.2.1)
3. 合约间的消息通信 (1.2.2)
第三节:调试与测试
1. debug 合约
2. gtest 单元测试 (1.5.1, 1.5.2, 1.6.1 编程题)
3. gclient 集成测试
第四节:异步逻辑
1. wait 与 wake (2.3.1, 2.3.2, 2.3.3)
2. async/await 语法
第五节:合约自动化
1. Gas 预留
2. 延迟消息 (2.4.1, 2.5.1 编程题)
第六节:Gear JS 前端交互
1. 读取状态
2. 钱包交互
3. 合约调用
## 知识点与quiz列表
### [Basic Course]
1.1.1 What is the most important information associated with an account?

1.1.2 What point is not related to the actor model?

1.1.3 What is the main function of the message queue in Vara protocol?

1.1.4 What point about program state is wrong?

1.2.1 What entrypoint usually contains the main business logic of the program?

1.2.2 How can a program get incoming message details?

1.2.3 What is the extension of the program’s binary?

1.3.1 What is the purpose of the “state” entrypoint in a program?

1.3.2 What is the information kept in Gear program metadata?

1.4.1 What is the right program uploading workflow?

1.4.2 Who can execute the program?

1.5.1 Which statement about testing is true?

1.5.2 What is the main “gtest” purpose?

1.6.1 Programming task: Pebbles game

### [Intermediate Course]
2.2.1 Choose the correct statement

2.3.1 Choose the correct statement

2.3.2 Choose the correct statement if a message is sent to the program

2.3.3 Choose the WRONG statement

2.4.1 Choose the correct statement

2.5.1 Coding task: wordle game

### 1. Hello world
Vara Network & Gear Protocol 介绍
主要特性 (见 https://whitepaper.gear.foundation)
- 基于 WASM 的智能合约
- Actor Model 类微服务架构
- 消息队列
- 支持并行计算
- 延时交易与自动化
- 免 gas 交易
生态集成
交易所
技术特点
签名算法
地址格式
钱包支持
区块浏览器
开发者工具: Gear Idea
开发环境搭建
Hello world
### 2. 合约结构
高级 Hello world
入口函数
- Init
- Handle
gstd 消息 API
作业: Tamagotchi 电子宠物
### 3. 状态查询
- State
Metadata
单元测试
作业: Escrow 合约
### 4. 代币标准
- FT
- NFT
作业: Tamagotchi 商店
### 5. 合约自动化
- 延迟执行
- 预留Gas
作业: 拍卖
### 6 合约交互
Gear.js 的使用
作业: Tamagotchi Battles
## Vara Network 开发者中级课程大纲 [draft]

https://academy.gear.foundation/courses/intermediate-course
异步逻辑
代理模式
系统信号
## 附录: Gear Academy 大纲
https://academy.gear.rs/
1. **区块链开发简介**
- 区块链技术机制概述。
- 智能合约及其重要性简介。
2. **Gear学院入门**
- 熟悉Gear的界面和工具。
- 基本的“Hello World!”示例,启动实际学习。
3. **Tamagotchi智能合约基础**
- 了解Tamagotchi合约结构。
- 构建基本的Tamagotchi合约。
4. **渐进式Tamagotchi开发**
- 通过分步教程提高Tamagotchi的能力。
- 实施独立状态检查和通信功能。
5. **Tamagotchi特征商店合约**
- 介绍特征商店合约。
- 为Tamagotchi装备独特的特征,用于战斗。
6. **Tamagotchi战斗准备**
- 专门的课程,准备Tamagotchi参与战斗。
- 成功Tamagotchi战斗的策略和功能。
7. **有效的智能合约测试**
- 测试智能合约以确保可靠性和安全性的艺术。
- 进行深入的智能合约测试的实际练习。
8. **与客户端的无缝交互**
- 了解并实现智能合约与客户端之间的顺畅交互。
- 实际例子强化概念。
9. **探索Gear强大的功能**
- 深入探讨Gear的高级功能。
- 重点关注延迟消息、系统信号和系统/燃气预留。
10. **课程结论和回顾**
- 总结整个课程学到的关键概念。
- 回顾实际应用和现实场景。
11. **学习成果和下一步**
- 讨论实现的学习成果。
- 指导区块链开发的进一步步骤。
12. **问答和互动环节**
- 学生提问的开放论坛。
- 互动环节,解决任何问题&疑问。