☕ Libracoffee.io ระบบสั่งซื้อกาแฟด้วยเหรียญ Libra เป็น Use case แรกของโลกกับการนำเหรียญ Libra มาใช้จริง (Testnet)

Nattapon Nimakul
KULAPofficial
Published in
3 min readJul 31, 2019

ต่อเนื่องจากงาน Libra Developer Bangkok ที่จัดกันไปเมื่ออาทิตย์ที่ผ่านมา ได้เสียงตอบรับจากนักพัฒนาชาวไทยอย่างล้นหลาม ชนิดที่ว่าเกินความคาดหมายไปเยอะมาก ตั้งแต่บัตรหมดภายใน 1 วินาที!!! ใช่ครับ ผมยังตกใจเลย แบบถาม “พี่ฮ้อ ระบบัตรเรามีปัญหาหรือเปล่า” ก็ได้รับคำตอบว่า “หมดแล้ว มันหมดภายใน 1 วินาที” O_O และมียอดชมผ่าน Live และดูย้อนหลังกว่า 20,000 views

ภาพบรรยากาศงาน Libra Blockchain Developer

อีก 1 ไฮไลท์ในงานก็คือ การเปิดตัว LibraCoffee.io ซึ่งเป็นระบบ Libra Merchant แรกของโลก ที่พยายามแสดงให้เห็นถึง Use case เวลาใน Libra มาใช้จริงในการซื้อกาแฟ ว่ามีประสบการณ์ใช้งานอย่างไร โดยผู้ที่ได้เข้าร่วม ก็ได้ใช้ Libra Wallet POC ในการจ่ายค่ากาแฟ โดยมีให้เลือก 4 เมนูด้วยกัน และชำระเงินด้วยเหรียญ Libra Coins จบภายใน 3 วินาที!

ภายบรรยากาศการใช้ LibraCoffee.io (CR. คุณบีม siamblockchain)

การใช้งาน LibraCoffee.io

  • ร้านค้าเปิด LibraCoffee.io ด้วย Web browser เช่น Safari หรือ Chrome บน iPad, Notebook หรือ PC จากนั้นให้ผู้ใช้ จิ้มไปที่เมนูที่ แล้วกด “PAY”
หน้าร้าน Libra Coffee
  • ระบบทำการสร้าง QR Payment สำหรับใช้งานครั้งเดียว ที่ระบุค่า 3 อย่างใน QR นี้คือ 1) address ของร้านค้า 2) จำนวนยอดที่ต้องชำระ 3) ชื่อร้านค้า
Libra Coffee QR Payment
  • ผู้ใช้เปิด Libra Wallet POC กด “Send/Pay” แล้ว Scan QR โค้ดที่หน้าจอ
Libra Wallet Scan QR To Pay
  • ผู้ใช้ยืนยันการชำระเงิน
Libra Wallet Confirm Payment
  • ร้านค้าได้รับเงิน และแสดง E-Receipt ที่หน้าผู้ใช้ทันที
Libra Coffee Payment Received
Libra Wallet Payment Slip E-Receipt

เทคนิคการทำงานเบื้องหลัง

ตัว LibraCoffee.io ถูกพัฒนาในรูปแบบ Open Source แบบ MIT License อยู่ที่นี้ครับ https://github.com/kulapio/libra-merchant โดยสร้างขึ้นด้วย Vuejs และใช้ Libra Service APIs (ในส่วนนี้ ผมเขียนอธิบายไว้ใน blog นี้) ในการสร้าง Address เพื่อรับเงิน และเช็คยอดเงิน

Step 1 ผู้ใช้กดจ่ายเงิน

ทันทีที่ผู้ใช้กดจ่ายเงิน ระบบจะทำการเรียก Creat Wallet API เพื่อให้ได้ Address ใหม่มา และยอดเงินเป็น 0

Request
Method: POST
URL: https://libraservice2.kulap.io/createWallet

curl --location --request POST "https://libraservice2.kulap.io/createWallet" \
--header "Content-Type: application/json" \
--data "{
\"minting\": false
}"

Response

{
"address": "e79fa865dd12d554312..",
"balance":"0"
}

เราจะได้ Address เพื่อใช้ในการชำระเงินครั้งเดียวมา (ผู้ใช้คนละคน และชำระเงินคนละครั้ง ก็จะเป็น Address ต่างกันไปทุกครั้ง)

Step 2 ระบบทำการเช็คว่ามีเงินโอนเข้าหรือยัง

ตัวระบบ Libra Merchant จะทำการเรียก Get Balance API เพื่อทำการเช็คทุก 2 วินาที ว่ามีเงินโอนเข้ามาหรือยัง และเกินยอดที่กำหนดไว้หรือไม่

Request
Method: POST
URL: https://libraservice2.kulap.io/createWallet

curl --location --request POST "https://libraservice2.kulap.io/getBalance" \
--header "Content-Type: application/json" \
--data "{
\"address\": \"e79fa865dd12d554312...\"
}"

Response

{
"address": "e79fa865dd12d554312..",
"balance":"14.5"
}

หากยอดที่ชำระเข้ามาถึงแล้ว ก็แสดงหน้า Thank you พร้อมแสดงยอดที่ได้รับ

Step 3 ฝั่งผู้ใช้ชำระเงินแล้ว

พอผู้ใช้ได้ชำระเงินเสร็จแล้ว ก็จะแสดงหน้า E-Receipt เพื่อแสดงเลขอ้างอิง โดยจะใช้ Unique Address ของผู้รับ 6 ตัวอักษรแรก เป็น Reference id ครับ

สรุปปิดท้าย

จะเห็นได้ว่า Flow การทำงานเรียบง่ายมาก แทบไม่มีอะไรซับซ้อน แต่กลับสร้างผลตอบรับที่ดีจากผู้ใช้ เพราะทำให้ผู้ใช้สามารถทดลองจ่ายเงินซื้อกาแฟ (แบบจำลอง) และได้ประสบการณ์ผู้ใช้จริง หากมีการนำไปต่อยอดจนใช้งานจริงได้ เราอาจได้เห็นการท่องเที่ยวไทยที่มีเม็ดเงินมหาศาลอยู่แล้ว ลูกค้าต่างชาติสามารถซื้อกาแฟ เข้าร้านสะดวกซื้อ หรือจับจ่ายในห้าง ได้ด้วย Libra Wallet ได้เลย โดยไม่ต้องยุ่งยากในการแปลงเงินไปมา ทำให้เพิ่มยอดขายให้กับร้าน เพื่อเป็นอีก 1 ทางเลือกในการจับจ่ายได้ครับ

ใน Step ถัดไป ผมจะพัฒนาตัว Libra Merchant ให้ร้านค้าสามารถเก็บเงินได้จริง ๆ ใน Wallet ของร้านเอง แทนที่จะใช้ Create Wallet API ที่สร้างจากฝั่ง Client เพื่อความปลอดภัยในการใช้งาน และยังคงประสบการณ์การใช้งาน ให้ง่ายหมือนเดิม ครับผม

หากใครสนใจอยากศึกษาและพัฒนา Libra Blockchain มากกว่านี้ทางเราจัดคอร์สเรียน Libra Blockchain แบบเต็มวันที่มีเนื้อหาครบถ้วนก็ลองไปดูรายละเอียดกันได้ครับ Build DApps on Libra Blockchain

หากใครชอบบทความ ฝากกดติดตาม Kulap Official กันได้นะครับ ทีมงาน Kulap เราเป็นทีมที่สนใจศึกษาด้าน Blockchain โดยเฉพาะ และกำลังทำ Decentralized Exchange (Dex) กันอยู่ครับ

--

--