ทดลอง Hello World บน Bitkub Chain

วันนี้ผมจะมาทดลองใช้เขียนโปรแกรมง่ายๆอย่าง Hello World จากนั้น deploy ไปบน Bitkub Chain โดยเนื้อหาของบทความนี้ประกอบไปด้วย

● Bitkub Chain คือ?

● ติดตั้ง METAMASK

● ตั้งค่า Network ของ Bitkub Chain - Testnet

● ขอ KUB ฟรี

● เขียน compile deploy และทดลองใช้ smart contract helloworld บน Remix

● ดูธุรกรรมต่างๆบน Explorer

Bitkub Chain คือ?

ขอเล่าถึง Bitkub Chain ซักเล็กน้อยนะครับ Bitkub Chain เป็นเครือข่าย Blockchain ที่พัฒนาขึ้นโดย บริษัท bitkub ซึ่งเป็นบริษัทที่ให้บริการตลาดแลกเปลี่ยน Cryptocurrency สัญชาติไทยที่ได้รับใบอนุญาตจาก ก.ล.ต. โดย Bitkub Chain ถูกพัฒนาขึ้นมีวัตถุประสงค์เพื่อให้นักพัฒนาสามารถเข้ามาสร้างสรรค์แอปพลิเคชันต่างๆบน Bitkub Chain ได้ โดยที่มี Bitkub Coin (KUB) เป็น Native Coin ที่มีหน้าที่ใช้เป็น Utility Coin บน Bitkub Chain สรุปง่ายๆ คือ KUB มีไว้ใช้จ่ายค่าธรรมเนียมในการทำธุรกรรมต่างๆบน Bitkub Chain ครับ

ติดตั้ง METAMASK

ผมจะใช้ Metamask เป็นกระเป๋า (wallet) สำหรับบริหารจัดการ KUB coin บน Bitkub Chain โดยสามารถติดตั้งได้ที่ metamask.io จากนั้นติดตั้งตามขั้นตอน

ตั้งค่า Network

เมื่อได้ account เรียบร้อย ต่อมาในตัวอย่างนี้ผมจะใช้เป็น Bitkub Chain Testnet ซึ่งเป็น network ไว้สำหรับทดสอบ เราจะไม่ได้ต้องเสียค่าธรรมเนีบมด้วย KUB จริงๆ

ให้ไปที่ Network ด้านบน > เลือก Custom RPC ดังรูปต่อไปนี้

จากนั้นตั้งค่าต่างๆ ดังนี้ครับ

● Network Name : Bitkub Chain - Testnet

● New RPC URL : https://rpc-testnet.bitkubchain.io

● Chain ID : 25925

● Currency Symbol : KUB

● Block Explorer URL : https://testnet.bkcscan.com

จากนั้น save

พบว่าเราสามารถเพิ่ม network Bitkub Chain Testnet ได้เรียบร้อย

ตอนนี้เรามี 0 KUB ดังนั้นขั้นตอนต่อไปเราจะต้องหา KUB มาใช้ทำธุรกรรมกันครับ

ขอ KUB ฟรี

เนื่องจาก network นี้ใช้สำหรับทดสอบ เราจึงสามารถขอ KUB มาทดลองเขียนโปรแกรมกันได้แบบฟรีๆ โดยให้ copy address ของกระเป๋าเรา ตัวอย่างจากรูปด้านบน address ของผม คือ 0xD8c7...

จากนั้นให้เข้าไปที่ developers.bitkubchain.com > เลือก Get KUB free on Testnet ดังนี้

> เลือก ดำเนินการต่อด้วย Bitkub NEXT

> ระบุเบอร์มือถือ > เลือก ต่อไป

หลังจากยืนยัน OTP เรียบร้อยแล้ว

ต่อมาใส่ address ที่ copy มาจาก metamask จากนั้นกด ผูก Address

กด ยืนยัน

กด รับ 10 KUB

จากนั้นกลับไปดูที่ metamask ของเรา รอประมานไม่กี่วินาทีก็จะได้รับ 10 KUB ดังนี้ครับ

เขียน smart contract helloworld

ผมใช้เครื่องมือในการเขียน คือ Remix ซึ่งเป็น IDE ที่สามารถเขียน compile และ deploy และภาษาที่ใช้ คือ Solidity

โดยให้เข้าไปที่ remix.ethereum.org > เลือก Solidity > เลือก New file > ตั้งชื่อไฟล์ HelloWorldBitkub.sol

จากนั้นใส่โค้ด ดังต่อไปนี้

ขออธิบายโค้ด HelloWorldBitkub ดังนี้

บรรทัด 1: ระบุ License ที่ใช้ ตอนนี้ไม่ได้ใช้เลยกำหนดเป็น UNLICENSED

บรรทัด 2: กำหนด version ของ solidity

บรรทัด 4: contract นี้มีชื่อว่า HelloWorldBitkub

บรรทัด 5: ประกาศตัวแปรชื่อ string message กำหนดค่าเป็น "HelloWorld BitkubChain"

บรรทัด 7-9: สร้างฟังก์ชั่น setMessage สำหรับกำหนดค่าใหม่ให้กับตัวแปร message

บรรทัด 11-13: สร้างฟังก์ชั่น getMessage สำหรับคืนค่าตัวแปร message

Compile โค้ด

จากนั้น compile โดยไปที่หน้า SOLIDITY COMPILE > เลือก 0.8.4+commit > กด Compile HelloWorldBitkub.sol ดังรูป

Deploy ไปที่ BitKub Chain

จากนั้น Deploy ไปที่ BitKub Chain โดยไปที่หน้า DEPLOY & RUN TRANSACTIONS > เลือก Injected Web3 > เลือก Deploy

กด Confirm ค่าธรรมเนียมในการ Deploy โค้ด ซึ่งจ่ายเป็น KUB ดังนี้

ทดลอง Smart Contract

หลังจาก Deploy เรียบร้อยแล้ว จะพบ Deployed Contracts (อยู่ซ้ายล่างของจอ) ซึ่งจะพบฟังก์ชั่นต่างๆที่เราสามารถเรียกใช้งานได้ ดังนี้

ทดลองฟังก์ชั่น getMessage เพื่อคืนค่าตัวแปร message ซึ่งจะพบข้อความ HelloWorld BitkubChain ที่กำหนดไว้ตอนแรก ดังนี้

ซึ่งสังเกตว่าฟังก์ชั่น getMessage นั้นไม่เสียค่าธรรมเนียมเนื่องจากเป็นการดึงข้อมูลออกมาจาก Blockchain อย่างเดียว

ต่อมาเราจะลองกำหนดข้อความใหม่ให้กับตัวแปร message โดยในตัวอย่างนี้ผมลองใส่ Thannob Aribarg > จากนั้นกด setMessage

เนื่องจากขั้นตอนนี้เป็นการบันทึกข้อมูลลงไปใน Blockchain จึงต้องเสียค่าธรรมเนียม > กด Confirm เหมือนเดิม ดังนี้

จากนั้นรอซักครู่จน transtion สำเร็จจากนั้น กลับไปทดลองฟังก์ชั่น getMessage อีกครั้ง จะพบว่าได้ข้อความใหม่ คือ Thannob Aribarg ดังนี้

ดูธุรกรรมต่างๆบน Explorer

ทั้งนี้ธุรกรรมต่างๆที่เกิดขึ้นทั้งหมดจะถูกบันทึกอยู่ใน Bitkub Chain ซึ่งเราสามารถเข้าไปย้อนดูการทำธุรกรรมต่างๆได้ที่ testnet.bkcscan.com จะพบหน้าจอดังนี้

โดยเราสามารถนำเลขของ Contract หรือ Transtion ต่างๆมาค้นหาที่ช่องขวาบน จากนั้นจะพบข้อมูลธุรกรรมต่างๆ ดังนี้

ยินดีด้วยครับ ถ้ามาถึงจุดนี้ได้ เท่ากับว่าสามารถติดตั้ง wallet ตั้งค่า network เขียน compile deploy และทดลอง contract helloworld และสุดท้ายดูธุรกรรมต่างๆบน Bitkub Chain Testnet ได้แล้ว

สุดท้ายนี้หวังว่าบทความนี้จะเป็นจุดเริ่มต้นเล็กๆที่นำไปสู่การเป็นนักพัฒนา Blockchain ในอนาคตครับ

บทความโดย อ.ผศ.ดร.ธรรณพ อารีพรรค

วิทยาลัยนวัตกรรมดิจิทัลเทคโนโลยี มหาวิทยาลัยรังสิต