Get started with blockchain development — Blockchain dev เริ่มยังไงดี?
ปฏิเสธไม่ได้เลยว่าตอนนี้ Blockchain development เป็นอีกหนึ่งศาสตร์ เป็นอีกหนึ่ง Topic ที่ชาว dev กำลังให้ความสนใจ
เนื่องจากกระแสของ DeFi, GameFi หรือการนำเทคโนโลยีของ Blockchain เข้ามาใช้ในการขยาย limitation และเพิ่ม Security ของ Application ให้ยิ่งดีขึ้น อีกทั้งยังเป็นเทคโนโลยีที่มีอนาคตอีกไกลแน่ๆ
(สามารถอ่านเพิ่มเติมได้ที่ The Future of Blockchain Technology in 2022)
แต่อยู่ๆ จะให้เริ่มศึกษาด้วยการเปิด Smart Contract ขึ้นมาอ่านเลย บางคนก็อาจจะจับประเด็นไม่ได้ หรืออาจจะไม่ได้เข้าใจการทำงานทั้งหมดรึเปล่า?
.
.
.
ไม่เป็นไรทุกคน เราไปงงและหายงงล่วงหน้ามาให้แล้ว!
ก่อนอื่นเลย พื้นฐาน programming language ก็คือสำคัญมาก
เริ่มต้นจากทำความเข้าใจเบสิก HTML ก่อน เพื่อเข้าใจพื้นฐานการสร้าง Web Application ซึ่งใช้เวลาไม่นานรับรองเกท จากนั้นต่อเลยที่ JavaScript กับ Solidity
ศึกษาการเขียน HTML และ JavaScript แนะนำเว็บ W3Schools เลย
ซึ่งอันที่จริงแล้ว Solidity ก็เป็นแค่หนึ่ง option ยอดฮิตเท่านั้น (สำหรับ chain ที่เป็น EVM-Based) แต่ว่าแต่ละ chain ก็มีภาษาที่ใช้เขียนแตกต่างกันไป ทั้งนี้อาจจะลองตั้งเป้าก่อน ว่าเราอยากจะเริ่มต้นกับ chain ไหน
ซึ่งในบทความนี้จะเน้นไปที่ EVM-Based ก่อนนะคะ
Environment, Steps และ Tools
- Truffle Framework - ใช้เขียน smart contract และติดต่อกับ Blockchain ได้ง่ายขึ้น มี library ไว้ช่วยเขียนเยอะ
- Ganache - Truffle suite ใช้สำหรับเป็น blockchain simulator
- Remix IDE - อีกหนึ่ง tool ไว้สำหรับ code, compile และ deploy Smart Contract และสามารถใช้งานผ่าน browser ได้เลย ไม่ต้องติดตั้ง
- Metamask - เอาไว้เก็บ Key ที่จะใช้ในการ Deploy Smart Contract
- Blockchain Explorer - ใช้ monitor ธุรกรรมที่เกิดขึ้น เช่น EtherScan, BscScan หรือ PolygonScan แล้วแต่ว่าธุรกรรมเกิดบน chain ไหนเลย
โดยการติดตั้งโปรแกรมต่าง ๆ ที่ใช้ในการเขียน Smart Contract สามารถศึกษาเพิ่มเติมได้จากบทความ ติดตั้งเครื่องให้พร้อมเขียนภาษา Solidity ด้วย VSCode, Truffle, Infura และ Ganache อธิบายเข้าใจง่ายอยู่นะ
จากภาพด้านล่าง เป็นตัวอย่างของ DApp project diagram ซึ่งทำให้เห็นการใช้งานของแต่ละ tool ได้ชัดเจนมากขึ้น
แหล่งรวบรวมบทความและ website อ้างอิงที่ใช้ในการ สร้าง DeFi หรือ Blockchain โดยรวมเอาบทความ, skill ที่เกี่ยวข้อง, tool รวมถึง practice ที่น่าสนใจ
ทั้งนี้เจ้าของ GitHub เองเปิดโอกาสให้เราสามารถ Submit pull request เพื่อเสนอสิ่งที่น่าสนใจเพิ่มได้
ขอบอกเลยว่า Link ข้อมูลเยอะมากกกก ก.ไก่ล้านตัว มีหลายพาร์ทเลย ทั้งที่เป็น Smart Contract, Frontend รวมถึงการ Test Blockchain ด้วย
★ Master Solidity for Blockchain: Step-by-Step Guide:
บทความในตำนาน ที่บอกต่อกันรุ่นสู่รุ่น!
อธิบายการพัฒนา Smart contract ด้วยภาษา Solidity อธิบายไว้ละเอียดพอสมควรเลย โดยแบ่งออกเป็น 6 พาร์ทหลักๆ เริ่มตั้งแต่การแนะนำ Tool ที่ใช้ไปถึงการเขียน function พื้นฐานที่จำเป็น
และถ้าใครไม่อยากอ่านก็ดูใน YouTube channel ได้เลย นอกจากนี้ “Dapp University Channel” เขายังทำคลิปที่เกี่ยวกับ Blockchain อีกเพียบ แนะนำให้กด Subscribe ไว้รับรองมีประโยชน์แน่นอน
ตัวช่วยในการเริ่มศึกษา “การเขียน Smart Contract ด้วยภาษา Solidity” ที่คนไม่ใช่เนิร์ดหรือเชี่ยวชาญ programming ก็สามารถเข้าใจได้อย่างง่าย มีการให้ลอง coding ด้วยตัวเอง และอธิบายการเขียนหรือ method ทีละสเตปๆ ตามลำดับที่ควรรู้
โดยสอนตั้งแต่พื้นฐานการเริ่มต้นเขียน smart contract ด้วยภาษา Solidity ผ่านการยกตัวอย่างการเขียน smart contact สร้างเกม NFT ซอมบี้
แถมๆ
- Facebook เพจ “ลุงวิศวกร สอนคำนวณ” - มีคอร์สสอนเขียนโปรแกรม แนะนำลายแทงดีๆ และอัพเดทข่าว เทรนด์ เทคโนโลยีใหม่ๆ อยู่เรื่อยๆ
- Facebook เพจ “Blockchain Developer Thailand” - Community ของ Blockchain developer คนไทยขนาดใหญ่ มีเทพๆ คอยมาแลกเปลี่ยนความรู้กันเพียบ เพจเน้น develop โดยเฉพาะ ไม่เน้นลงทุน
- ตัวอย่างระบบ Vote ด้วย Smart Contract บน Ethereum Blockchain
ทั้งนี้ทั้งนั้น Blockchain ปัจจุบันก็มี Chain ใหม่ๆ ผุดขึ้นมามากมาย (เพื่ออุดรูรั่วและเพิ่มประสิทธิภาพให้ตัวก่อนๆ) ซึ่งบางตัวก็อาจจะมีภาษา หรือ Tool ที่เกิดมาเพื่อ Chain นั้นๆ จึงอาจจะต้องศึกษาและอัพเดทเจาะไปเป็นตัวๆ ไป