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 ;
}| สนาม | คำอธิบาย | พิมพ์ | ที่จำเป็น | ค่าตัวอย่าง |
|---|---|---|---|---|
| prevuroute | จุดสิ้นสุดสำหรับแบบฝึกหัดก่อนหน้า (ค่าจะต้องมีอยู่ในไฟล์ data/index.ts) | สาย | จริง | "10-connect-wallet" |
| เส้นทาง | จุดสิ้นสุดสำหรับแบบฝึกหัดปัจจุบัน (ค่าต้องมีอยู่ในไฟล์ data/index.ts) | สาย | จริง | "20-wallet สร้าง" |
| nextroute | จุดสิ้นสุดสำหรับแบบฝึกหัดถัดไป (ค่าจะต้องมีอยู่ในไฟล์ data/index.ts) | สาย | จริง | "30-create-Asset" |
| ชื่อ | ชื่อของการออกกำลังกาย | สาย | จริง | "สร้างกระเป๋าเงิน" |
| เนื้อหา | MARKDOWN สนับสนุนคำอธิบายของแบบฝึกหัด | สาย | จริง | "# markdown" |
| defaultCode | รหัสสำเร็จรูปเริ่มต้นสำหรับแบบฝึกหัด | สาย | จริง | "พิมพ์ ('Hello World')" |
| คาดหวัง* | ผลลัพธ์ที่คาดหวังจากการออกกำลังกาย (ไม่ว่าจะเป็นสตริงหรือวัตถุ) | สตริงหรือ texpectedResult | จริง | "Hello World" หรือ { run:"print('Hello World')", "Hello World" } หรือ {run:"Inbox[#Inbox].Data"} |
| Runlua | บูลีนเพื่อตัดสินใจว่าจะตรวจสอบเอาต์พุตโดยใช้รหัส LUA บางตัว (จะต้องเป็นจริงเสมอหากคาดว่าจะเป็นประเภท texpectedResult) | บูลีน | เท็จ | จริง |
| allownext | บูลีนที่อนุญาตให้ย้ายไปออกกำลังกายต่อไปโดยค่าเริ่มต้น | บูลีน | เท็จ | จริง |
| จาก | ในกรณีที่เรากำลังตรวจสอบว่าเราได้รับข้อความกล่องจดหมายจากกระบวนการเฉพาะหรือไม่ (ตัวเองถ้าเราส่งไปยัง AO.ID) | "ตัวเอง" หรือสตริง | เท็จ | "" หรือ "ตัวเอง" |
| ValidateTimestamp | เพื่อตรวจสอบว่าได้รับข้อความกล่องจดหมายหรือไม่หลังจากเรียกใช้รหัสการออกกำลังกาย (เปรียบเทียบการประทับเวลา) | บูลีน | เท็จ | จริง |
*คาดหวังว่าจะเป็นสตริงหรือวัตถุ
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 } ;หมายเหตุสำคัญ: