Smart Contract (Solidity) Developer #2 — Intro Solidity

Krucamper
2 min readJan 29, 2019

Hello world สวัสดีชาวโลก จากยานแม่ Solidity

Smart Contract นี้จะเป็นโปรแกรมสุด Classic ที่ทุกภาษาแวะต้องมาเขียนกันก่อนโดยโปรแกรมนี้จะ เป็นการศึกษา การกำหนดค่าเริ่มต้นให้ข้อมูล และทำการเปลี่ยนข้อมูล เพื่อทำความเข้าใจกับโครงสร้างพื้นฐานของโปรแกรม

อธิบายการทำงานของโปรแกรม

  • บันทัดที่ 1 Version PragmaSolidity จะเริ่มต้นด้วย การประกาศเวอร์ชั่นคอมไพล์เลอร์ของ Solidity ไว้ที่ส่วนบนสุดของโค้ด เพื่อป้องกันปัญหาที่เกิดจาก Compiler มีการ Update Version ใหม่
  • บันทัดที่ 3 contractโค้ดในส่วนของ Solidity ทั้งหมดจากถูกเขียน ภายใน contract เปรียบเสมือน Class ข้างใน Class ก็จะมี Method Function ต่างๆ ที่ต้องการให้โปรแกรมทำงาน โดยทั้งหมดนี้ต้องเขียนไว้ใน contract
  • บันทัดที่ 5 State Variables เป็นการประกาศตัวแปร ประเภทข้อความ (string) และเพิ่มความสามารถให้เข้าถึงตัวแปรจากข้างนอกได้ (public)
  • บันทัดที่ 7 constructorเป็นการ Method Function ที่ทำการกำหนดเริ่มต้นให้กับโปรแกรม โดยจะทำการกำหนดค่าตั้งต้นให้ข้อมูล
  • บันทัดที่ 11 Functionเป็น Method Function สำหรับทำหน้าที่กำหนดค่าใหม่ให้กับข้อมูลของเรา

สำหรับ Smart Contract ตัวนี้
เป็นการประยุกต์ให้เห็นถึงการเขียนโปรแกรม แต่ไม่ได้ทำการกำหนดค่าตั้งต้นให้กับโปรแกรม และการเข้าถึงข้อมลต้องเรียกผ่าน Method Function

ขั้นตอนทดสอบโปรแกรมให้เข้าไปที่ >> Solidity IDE <<
หลังจากนั้นพิมพ์โปรแกรมตามตัวอย่างด้านบนครับ

ภาพแสดงการเขียนโปรแกรม Solidity

ทำการเลือก Version Pragma ถ้าเลือกผิดชีวิตเปลี่ยนเลยนะครับ ถ้าทำถึงจุดนี้จะเข้าใจว่าทำไมต้องมีการกำหนด Compiler

ภาพแสดงการ Deploy Code

กดมาที่แถบ Run เพื่อ ทดสอบ Deploy Code โดย Environment จะมี

  • JavaScript VM เป็นตัวที่ทำการ Run ระบบภายในตัวเอง
  • Injected Web3 เป็นตัวที่ทำเชื่อมต่อกับกับ Network ของ Ethereum ถ้าเลือกตัวนี้ต้องใช้คู่กับ Wallet อย่าง Metamask
  • Web3 Provider เป็นตัวที่ใช้เชื่อมตัวกับ Node ที่เรามีการสร้างขึ้นไว้ หรือ Node ที่ต้องการใช้งาน
ภาพแสดงผลลัพธ์ หลังจากการ Run Code ทดสอบ

หลังจากนี้ก็ลอง ทดสอบการกำหนดค่าของข้อมูล การเรียกข้อมูลมาใช้งาน หรือจะพัฒนาระบบเพิ่มก็แล้วแต่สะดวกเลยนะครับ

โอกาสหน้าจะเป็นการแนะนำการเรียกข้อมูล ของ Smart Contract มาใช้งานกันครับ

--

--