วันนี้ผมจะมาทดลองใช้เขียนโปรแกรมง่ายๆอย่าง Hello World จากนั้น deploy ไปบน Bitkub Chain โดยเนื้อหาของบทความนี้ประกอบไปด้วย
● Bitkub Chain คือ?
● ติดตั้ง METAMASK
● ตั้งค่า Network ของ Bitkub Chain - Testnet
● ขอ KUB ฟรี
● เขียน compile deploy และทดลองใช้ smart contract helloworld บน Remix
● ดูธุรกรรมต่างๆบน Explorer
ขอเล่าถึง Bitkub Chain ซักเล็กน้อยนะครับ Bitkub Chain เป็นเครือข่าย Blockchain ที่พัฒนาขึ้นโดย บริษัท bitkub ซึ่งเป็นบริษัทที่ให้บริการตลาดแลกเปลี่ยน Cryptocurrency สัญชาติไทยที่ได้รับใบอนุญาตจาก ก.ล.ต. โดย Bitkub Chain ถูกพัฒนาขึ้นมีวัตถุประสงค์เพื่อให้นักพัฒนาสามารถเข้ามาสร้างสรรค์แอปพลิเคชันต่างๆบน Bitkub Chain ได้ โดยที่มี Bitkub Coin (KUB) เป็น Native Coin ที่มีหน้าที่ใช้เป็น Utility Coin บน Bitkub Chain สรุปง่ายๆ คือ KUB มีไว้ใช้จ่ายค่าธรรมเนียมในการทำธุรกรรมต่างๆบน Bitkub Chain ครับ
ผมจะใช้ Metamask เป็นกระเป๋า (wallet) สำหรับบริหารจัดการ KUB coin บน Bitkub Chain โดยสามารถติดตั้งได้ที่ metamask.io จากนั้นติดตั้งตามขั้นตอน
เมื่อได้ 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 มาใช้ทำธุรกรรมกันครับ
เนื่องจาก 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 ดังนี้ครับ
ผมใช้เครื่องมือในการเขียน คือ 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 โดยไปที่หน้า SOLIDITY COMPILE > เลือก 0.8.4+commit > กด Compile HelloWorldBitkub.sol ดังรูป
จากนั้น Deploy ไปที่ BitKub Chain โดยไปที่หน้า DEPLOY & RUN TRANSACTIONS > เลือก Injected Web3 > เลือก Deploy
กด Confirm ค่าธรรมเนียมในการ Deploy โค้ด ซึ่งจ่ายเป็น KUB ดังนี้
หลังจาก Deploy เรียบร้อยแล้ว จะพบ Deployed Contracts (อยู่ซ้ายล่างของจอ) ซึ่งจะพบฟังก์ชั่นต่างๆที่เราสามารถเรียกใช้งานได้ ดังนี้
ทดลองฟังก์ชั่น getMessage เพื่อคืนค่าตัวแปร message ซึ่งจะพบข้อความ HelloWorld BitkubChain ที่กำหนดไว้ตอนแรก ดังนี้
ซึ่งสังเกตว่าฟังก์ชั่น getMessage นั้นไม่เสียค่าธรรมเนียมเนื่องจากเป็นการดึงข้อมูลออกมาจาก Blockchain อย่างเดียว
ต่อมาเราจะลองกำหนดข้อความใหม่ให้กับตัวแปร message โดยในตัวอย่างนี้ผมลองใส่ Thannob Aribarg > จากนั้นกด setMessage
เนื่องจากขั้นตอนนี้เป็นการบันทึกข้อมูลลงไปใน Blockchain จึงต้องเสียค่าธรรมเนียม > กด Confirm เหมือนเดิม ดังนี้
จากนั้นรอซักครู่จน transtion สำเร็จจากนั้น กลับไปทดลองฟังก์ชั่น getMessage อีกครั้ง จะพบว่าได้ข้อความใหม่ คือ Thannob Aribarg ดังนี้
ทั้งนี้ธุรกรรมต่างๆที่เกิดขึ้นทั้งหมดจะถูกบันทึกอยู่ใน Bitkub Chain ซึ่งเราสามารถเข้าไปย้อนดูการทำธุรกรรมต่างๆได้ที่ testnet.bkcscan.com จะพบหน้าจอดังนี้
โดยเราสามารถนำเลขของ Contract หรือ Transtion ต่างๆมาค้นหาที่ช่องขวาบน จากนั้นจะพบข้อมูลธุรกรรมต่างๆ ดังนี้
ยินดีด้วยครับ ถ้ามาถึงจุดนี้ได้ เท่ากับว่าสามารถติดตั้ง wallet ตั้งค่า network เขียน compile deploy และทดลอง contract helloworld และสุดท้ายดูธุรกรรมต่างๆบน Bitkub Chain Testnet ได้แล้ว
สุดท้ายนี้หวังว่าบทความนี้จะเป็นจุดเริ่มต้นเล็กๆที่นำไปสู่การเป็นนักพัฒนา Blockchain ในอนาคตครับ
บทความโดย อ.ผศ.ดร.ธรรณพ อารีพรรค
วิทยาลัยนวัตกรรมดิจิทัลเทคโนโลยี มหาวิทยาลัยรังสิต