learn v0
1.0.0
這是一個學習AO的平台,它包括一系列互動練習,以幫助您學習AO。
要添加更多練習,您需要在src/data文件夾中創建一個新文件,並使用文件名<number>.<name>.ts創建一個新文件
TS文件應包含類型TExerciseData的默認導出對象
並且必須將其端點路由添加到data/index.ts中的對象。
export interface TExerciseData {
route : string ;
nextRoute : string ;
prevRoute : string ;
title : string ;
content : string ;
defaultCode : string ;
expectedResult : string | TExpectedResult ;
runLua ?: boolean ;
allowNext ?: boolean ;
fromId ?: "SELF" | string ;
validateTimestamp ?: boolean ;
}| 場地 | 描述 | 類型 | 必需的 | 示例值 |
|---|---|---|---|---|
| PrevRoute | 上一個練習的端點(data/index.ts文件中必須存在值) | 細繩 | 真的 | “ 10-Connect-Wallet” |
| 路線 | 當前練習的端點(值必須存在於數據/索引。 | 細繩 | 真的 | “ 20-Create-Wallet” |
| NextRoute | 下一個練習的端點(data/index.ts文件中必須存在值) | 細繩 | 真的 | “ 30創建的資產” |
| 標題 | 練習的標題 | 細繩 | 真的 | “創建錢包” |
| 內容 | 降級支持練習的描述 | 細繩 | 真的 | “#降價” |
| DefaultCode | 練習的默認樣板代碼 | 細繩 | 真的 | “印刷('Hello world')” |
| 預期* | 練習的預期結果(弦或對象) | 字符串或TexpectedResult | 真的 | “ Hello world”或{ run:"print('Hello World')", "Hello World" }或{run:"Inbox[#Inbox].Data"} |
| runlua | 布爾值決定通過運行一些LUA代碼來檢查輸出(如果預期的質量為texpectedResult,則必須始終是正確的) | 布爾 | 錯誤的 | 真的 |
| Allext | 默認情況下允許進入下一個練習的布爾值 | 布爾 | 錯誤的 | 真的 |
| 從源 | 如果我們正在檢查是否已經從特定過程收到收件箱消息(如果我們將其發送到ao.id) | “自我”或字符串 | 錯誤的 | ”或“自我” |
| VAINTATETIMESTAMP | 在運行練習代碼後檢查是否收到收件箱消息(比較時間戳) | 布爾 | 錯誤的 | 真的 |
*預期可以是字符串或對象
type TExpectedResult =
| string
| {
run : string ;
out ?: string ;
} ;| 場地 | 描述 | 類型 | 必需的 | 示例值 |
|---|---|---|---|---|
| 跑步 | LUA代碼運行以獲得預期的結果 | 細繩 | 真的 | “印刷('Hello World!')”” |
| 出去 | 如果聲明,將檢查運行字段的輸出是否等於此值,否則將將LUA輸出與用戶在練習中寫的代碼的輸出進行比較 | 細繩 | 選修的 | “你好世界!” |
創建對像後,您需要將其添加到data/index.ts 。
import { TExerciseData } from "@/types" ;
export default {
prevRoute :... ,
route :... ,
nextRoute :... ,
.
.
.
} as TExerciseData ; import { TExerciseData } from "@/types" ;
export default {
"10-connect-wallet" : require ( "@/data/10.connect-wallet" ) . default ,
"20-spawn-process" : require ( "@/data/20.spawn-process" ) . default ,
"30-hello-ao" : require ( "@/data/30.hello-ao" ) . default ,
.
.
.
"<your-route>" : require ( "@/data/<your-exercise-file" ) . default ,
} as { [ foo : string ] : TExerciseData } ;重要說明: