Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ว่าง ๆ ลองมาเล่นภาษา Move กันหน่อย

$
0
0

หลังจากที่ลองเล่น Libra ไปเล็กน้อย
เห็นเขาบอกว่า สามารถเขียน Smart Contract บน Libra ได้เลย
โดยการเขียนนั้นใช้ภาษา Move นั่นเอง
ดังนั้นลองมาเขียนดูหน่อย

แต่ตอนนี้ยังไม่สามารถ deploy code/module ต่าง ๆ ไปยัง Libra ได้นะ
ดังนั้นจึงต้องทดสอบผ่านการทดสอบที่ Libra มีให้ก่อน
ซึ่งจะทำงานอยู่บน memory ของเครื่องเรานั่นเอง

ปล. เท่าที่ไปอ่านเหมือนมีคนลองทำการ deploy บน Local Validator node ด้วยนะ

เริ่มต้นลองไปดู code ตัวอย่างใน code ของ Libra

อยู่ใน folder language/functional_tests/tests/testsuite
จะมี code ตัวอย่างเพียบเลย
สามารถทดสอบด้วยคำสั่ง

[gist id="b15090af769db529ed0c5abf7ff43ae0" file="1.txt"]

เท่าที่ไปตามแกะดูถ้าต้องการ deploy ไปยัง local หรือใน test network 
น่าจะต้องไปแก้ไขไฟล์  vm/vm_genesis/genesis/vm_config.toml
ให้ค่าของ type เป็น Open ดังนี้

[gist id="b15090af769db529ed0c5abf7ff43ae0" file="vm_config.toml"]

ตัวอย่าง code ของการโอนเงิน ( Libra coin ) ไปยังบัญชี Libra อื่น 

แต่ถ้าไม่มีก็สร้างขึ้นมา (เตรียม function มาให้ครบเลย)

[gist id="b15090af769db529ed0c5abf7ff43ae0" file="try.mvir"]

สามารถทำการ compile หรือ Move IR Compiler ได้อีกด้วย
จะทำการสร้าง Move bytecode ให้ สามารถใช้ได้ดังนี้

[gist id="b15090af769db529ed0c5abf7ff43ae0" file="2.txt"]

มาทำการทดสอบกันหน่อย

โดยจะโอนเงินไปยังบัญชีปลายทาง
จากนั้นตรวจสอบ balance ทั้งผู้ส่งและผู้รับว่าถูกหรือไม่
ดังนี้

[gist id="b15090af769db529ed0c5abf7ff43ae0" file="try_test.mvir"]

จากนั้นทำการทดสอบด้วยคำสั่งดังนี้

[gist id="b15090af769db529ed0c5abf7ff43ae0" file="3.txt"]

เพียงเท่านี้ก็ลองทำการทดสอบได้แล้ว
แค่นี้ก็พอเริ่มต้นได้แล้ว
ไว้ลองลงไปดูตัวภาษา กับสิ่งที่ Move เตรียมไว้ให้
ว่าง ๆ ไปอ่าน Paper ของ Move เล่นไปก่อนได้


Viewing all articles
Browse latest Browse all 1997

Trending Articles