Libra มาลองเล่นสกุลเงินดิจิตอลใหม่ โอนเงินทั่วโลกภายในวินาที ค่าธรรมเนียมต่ำ โดย facebook
Libra เป็นสกุลเงินดิจิตอลแบบ Open source ที่ให้คนทั้งโลกใช้รับส่งเงินกันได้อิสระ และสามารถใช้ชำระค่าสินค้า และบริการได้ ใช้ Blockchain เป็นเทคโนโลยีเบื้องหลังในการจัดการ ตั้งแต่การสร้างบัญชี ฝากเงิน โอนเงิน ชำระเงิน และ Business logic (ใช่แล้วครับ มันคือธนาคารโดย facebook)
ตัวเหรียญจะถูกค้ำด้วยสกุลเงินต่าง ๆ ทั่วโลก ในการผลิต เช่น ผมส่งเงิน $100 เข้าไปยัง Libra Association ผมก็จะได้เหรียญ Libra กลับมาในมูลค่าเท่ากัน ในทางกลับกันหากผมส่งเหรียญ Libra กลับเข้า Libra Association (หน่วยงานที่รับแลก) ก็จะได้ $100 กลับคืนมา ทั้งนี้เหรียญ Libra จะมี rate ค่าเงินเป็นของตัวเอง (ใครสนใจอ่านต่อใน white paper ด้านล่างได้)
เตรียมเครื่องให้พร้อม
- ใช้งานได้บน Linux (Red Hat or Debian-based) หรือ macOS system เท่านั้น
- หากเป็น Mac ให้ลง Homebrew ให้เรียบร้อย
- Windows ไม่เขียนไว้ว่ารองรับ (T_T) ใครใช้ Windows ก็อ่านบทความนี้ไปพลาง ๆ ก่อน
มาลองเล่น Libra CLI กัน
1. เริ่มด้วยดาวน์โหลดโปรเจคจาก Github
git clone https://github.com/libra/libra.git
2. ติดตั้ง Libra Core
cd libra
./scripts/dev_setup.sh
การติดตั้ง Libra Core จะดาวน์โหลดและติดตั้ง software ที่เราต้องใช้ เช่น rustup (ตัวติดตั้งภาษา Rust) protoc (protocol buffers) และก็ Go lang
ใครติดขั้นตอนนี้ ให้ลองดูที่ Troubleshooting
3. ติดตั้ง Libra CLI และเชื่อมต่อสู่ Libra Testnet
./scripts/cli/start_cli_testnet.sh
ขั้นตอนนี้ค่อนข้างนาน แนะนำให้ไปอาบน้ำ กินข้าวรอได้เลย ฮ่า ๆ
ตัวคำสั่งนี้จะ build และ run ตัว cargo และเชื่อมต่อไปยัง Validator node บน Libra Testnet
หากสำเร็จจะขึ้นแบบนี้
เย้ ๆๆๆ เราเชื่อมต่อกับ Blockchain ได้แล้ว ที่นี้ก็มาต่อด้วยการสร้าง Account และรับเหรียญ Libra ฟรีเป็นครั้งแรก (อันนี้ Testnet นะ ท่องไว้ ๆ)
ใครติดขั้นตอนนี้ ให้ดูที่ Troubleshooting.
4. สร้าง Account
libra% account create>> Creating/retrieving next account from wallet
Created/retrieved account #0 address 0fd8527664496198346580b316ef68b9eb636f8f5a3c25322008e0a4e10c0326
- การสร้าง Account จะถือเป็นการสร้าง Key-pair บนเครื่องเรา ยังไม่บันทึกลงบน Blockchain
5. เสกเหรียญ
เนื่องด้วยเป็น Testnet เราเลยสร้างเหรียญเองได้ ด้วยคำสั่ง mint
libra% account mint 0 99>> Minting coins
Mint request submitted
- 0 หมายถึง Account #0 ซึ่งตรงนี้จะใส่ full address จากด้านบนก็ได้
6. เช็คยอดเงิน
libra% query balance 0Balance is: 99
7. สร้าง Account ที่ 2
libra% account create>> Creating/retrieving next account from walletCreated/retrieved account #1 address 6f0643a3a16ca18215bc8146d3d28c2f86101a4573181d175444e1b5ffdf881d
8. โอนเงินระหว่าง Accounts
libra% transfer 0 1 10>> TransferringTransaction submitted to validatorTo query for transaction status, run: query txn_acc_seq 0 0 <fetch_events=true|false>
สั่งโอน account #0 -> account #1 จำนวน 10 เหรียญ เช่นกัน ตรงนี้จะแทน 0 1 ด้วย address แบบเต็มก็ได้
9. เช็คยอดใน Account ที่ 2
libra% query balance 1Balance is: 10
10. ดู Transaction ที่โอนไปแล้ว
libra% query txn_acc_seq 0 0 true
0 แรกคือ account #0, 0 ที่สองคือ transaction sequence เช่นถ้าทำธุรกรรมครั้งถัดไป ค่านี้จะเป็น 1 2 3 4 ไปเรือยๆ
ก็เป็นอันจบเท่านี้ กับการเล่น Libra CLI จากที่เห็นการใช้งานค่อนข้างง่าย หากใครต้องการเล่นอะไรเพิ่มเติม ก็พิพม์ help ลงไป หรืออ่านต่อใน Libra Developer
Programmable money
สิ่งที่ไม่พูดถึงไม่ได้คือ ตัว Libra ถือเป็น Programmable money ประเภทหนึ่ง กล่าวคือ เราสามารถเขียนโปรแกรมควบคุมการไหลของเงินได้ เช่น ทำสัญญาเงินกู้ ระบบอนุพันธ์ หรือระบบ Exchange โดยเราจะเขียนด้วย Smart contract (ภาษา move) และรันบน Blockchain โดยตรง
ภาษา Move
เป็นภาษาที่ถูกออกแบบมาให้รันบน Libra โดยเฉพาะ โดยตัว bytecode จะ deploy ลง Libra Blockchain และรันโดย Move VM เพื่อทำ Business logic ตามที่เราต้องการ เช่น การสร้างสกุลเงิน (resource type) ที่เราสามารถกำหนดเงื่อนไขการผลิต และทำลาย ได้ตามต้องการ ทั้งหมดควบคุมด้วยภาษา Move โดยเหรียญ Libra เองก็สร้างด้วยวิธีนี้
ภาษา Move เทียบเท่า Solidity และ Move VM ก็เทียบเท่า EVM บน Ethereum
ลองดูตัวอย่างกันสักหน่อย
1. ตัวอย่าง Peer-to-Peer Payment
2. ตัวอย่าง Deposit
3. ตัวอย่าง Withdraw
ปิดท้าย
เราจะเห็นได้ว่า Libra ใช้งานค่อนข้างง่าย แถมมีภาษา Move รองรับการควบคุมเงินเพื่อตอบโจทย์ Fintech สำหรับองค์กรต่าง ๆ หรือบุคคลทั่วไป ที่ต้องการความง่ายในการรับส่งเงิน สำหรับชาว Dev ก็ขอให้จับตาดูตัวนี้ไว้ให้ดี ตามข่าวคาดว่าจะเปิดตัวในปี 2020 ถ้าใครจับกระแสดี ๆ เขียนโปรแกรมรองรับ อาจรวยได้นะครับ ฮ่า ๆ
หากใครชอบบทความ ฝากกดติดตาม Kulap Official กันได้นะครับ ทีมงาน Kulap เราเป็นทีมที่สนใจศึกษาด้าน Blockchain โดยเฉพาะ และกำลังทำ Decentralized Exchange (Dex) กันอยู่ครับ
Ref1: Libra White Paper https://developers.libra.org/docs/assets/papers/the-libra-blockchain.pdf?fbclid=IwAR0mj3f4ZmodUOP5GZzRXFgccyGrGIzCWpFopcYZDgCXOkYBTiCTR04wTLw
Ref2: Move White Paper https://developers.libra.org/docs/assets/papers/libra-move-a-language-with-programmable-resources.pdf
Ref3: My First Transaction https://developers.libra.org/docs/my-first-transaction