Libra มาลองเล่นสกุลเงินดิจิตอลใหม่ โอนเงินทั่วโลกภายในวินาที ค่าธรรมเนียมต่ำ โดย facebook

Nattapon Nimakul
KULAPofficial
Published in
3 min readJun 19, 2019
เหรียญดิจิตอลโดย facebook ทำงานบน Blockchain

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

หากสำเร็จจะขึ้นแบบนี้

Libra Blockchain first time setup

เย้ ๆๆๆ เราเชื่อมต่อกับ 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 Blockchain Transaction Result

ก็เป็นอันจบเท่านี้ กับการเล่น 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

Libra Blockchain Peer-to-Peer Payment Transaction Script

2. ตัวอย่าง Deposit

Libra Blockchain Deposit

3. ตัวอย่าง Withdraw

Libra Blockchain 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

--

--