มารู้จัก Smart Contract ด้วยภาษา Solidity เบื้องต้นกัน

Kaseres
Under Ledger
Published in
Mar 25, 2022

Smart Contract คืออะไร?

ถ้าจะแปลให้ตรงตัวนั้น Smart Contract คือ “สัญญาอัจฉริยะ” ที่จะมาช่วยให้เรา แลกเปลี่ยนเงินหรือสิ่งของที่มีมูลค่าได้ โดยหลีกเลี่ยงพ่อค้าคนกลาง Blockchain สามารถดำเนินการบันทึกข้อตกลงสัญญาได้ด้วยตัวเอง โดยไม่จำเป็นต้องผ่านคนกลาง หรือมีพนักงานมานั่งตรวจสอบเอกสาร

Smart Contract สามารถเขียนได้หลายภาษาโดยอิงตาม Blockchain นั้นๆ ว่าจะสนับสนุนภาษาอะไรบ้าง แต่ในบทความนี้ ผมจะขอยกตัวอย่างของ Ethereum ที่จะใช้ภาษา Solidity เป็นหลักครับ ซึ่งภาษา Solidity จะคล้ายๆ Javascript เป็นภาษาที่เรียนรู้ไม่ยากครับ

ทำไมเราถึงต้องเชื่อ Smart Contract ?

อย่างที่กล่าวไว้ว่า Smart Contract ทำงานบนระบบของ Blockchain อีกทีหนึ่งทำให้มีคุณสมบัติบางอย่างของ Blockchain

  • Immutable : เปลี่ยนรูปไม่ได้ ซึ่งหมายความว่าสัญญาไม่สามารถเปลี่ยนแปลงได้และไม่มีใครสามารถเข้าไปแก้ไขหรือทำลายสัญญาได้
  • Distributed : สัญญาถูกกระจายออกไปซึ่งหมายความว่าผลลัพธ์ของสัญญาก็จะได้รับการตรวจสอบจากทุกคนในเครือข่าย หากมีผู้ไม่หวังดีทำการเปลี่ยนแปลงผลลัพธ์ก็จะถูกตรวจพบ และทำเครื่องหมายไว้ว่าไม่ถูกต้อง

ทีนี้เรามารู้จักภาษา Solidity บ้าง

Solidity เป็นภาษาที่ออกแบบมาเพื่อใช้ในการพัฒนา Smart Contract บน Ethereum network บนแพลตฟอร์ม blockchain ซึ่งในปัจจุบันสำหรับผู้ที่สนใจในการพัฒนา มีแหล่งเรียนรู้และทดลองเขียนมากมาย ไม่ว่าจะเป็น

Crypto Zombie

Crypto Zombie

Dapp University

Dapp University

Youtube

Youtube

Remix Ethereum

Remix Ethereum เป็นเครื่องมือใช้เขียน Code ,Compile ,Deploy. MetaMask บน Browser

จากตัวอย่างทั้ง 4 ที่ทางผมแนะนำแล้ว จริงๆยังมีที่ให้เราศึกษาค้นคว้าอีกมากมายผ่าน Google หรือถ้ามีทุนหน่อย ทุกคนอาจไปซื้อคอร์สเรียนออนไลน์ก็ได้ครับ

เกริ่นมาซะเยอะ ทีนี้เรามาดูรูปแบบการเขียน(Syntax ) ของภาษา Solidity บางตัวกันบ้าง

  • การประกาศ Contract : เป็นส่วนสำคัญของภาษาเลยก็ว่าได้ เพราะทุกครั้งที่เรามีการสร้างไฟล์ .sol ขึ้นมาจะต้องมีการประกาศ contract มาใช้ทุกครั้ง
  • การประกาศตัวแปร State Variables : จะช่วยใช้เรารู้ชนิดข้อมูลของตัวแปรนั้นๆ
  • การประกาศ Structs : จะทำให้เราสามารถสร้างชนิดข้อมูลที่มีความซับซ้อนขึ้นได้
  • การประกาศ Function : จะใช้ Keyword ว่า function แล้วตามด้วยชื่อฟังก์ชัน จากนั้นตามด้วย parameter ใน ฟังก์ชันนั้น

จากที่ยกตัวอย่างรูปแบบการเขียน(Syntax)เบื้องต้นมานั้นจริงๆยังมีอีกหลายตัวที่ยังไม่ได้ใส่มาให้ดู ในโอกาสหน้าผมจะขอลงลึกเกี่ยวกับวิธีการใช้งานแต่ละตัวครับ ส่วนวันนี้ก็ขอจบเพียงเท่านี้ครับ

--

--