Solidity เป็นภาษาโปรแกรมที่ใช้โดย smart contract บน Ethereum blockchain เป็นภาษาการเขียนโปรแกรมเชิงวัตถุแบบคงที่
Solidity ใช้รูปแบบการกำหนดเวอร์ชันเชิงความหมาย และในขณะที่เขียน เวอร์ชันล่าสุดคือ 0.8.9 ดังที่คุณเห็น ภาษาใช้รูปแบบการกำหนดเวอร์ชัน XYZ เชิงความหมาย ซึ่งบ่งชี้ว่าการเปลี่ยนแปลงนั้นรวดเร็วเพียงใด
ภาษาการเขียนโปรแกรมเช่น C ++ และ JavaScript เป็นแรงบันดาลใจให้ภาษา Solidity ในคู่มือนี้ คุณจะเห็นวิธีเขียนและรวบรวมสัญญาอัจฉริยะฉบับแรกของคุณ
ตัวแก้ไขรีมิกซ์
มีการแก้ไขข้อความจำนวนมากและคอมไพเลอร์ที่คุณสามารถใช้ในการเขียนโค้ดด้วยความแม่นยำมี แต่ที่ง่ายที่สุดคือโภชนาการ Remix เป็น IDE ออนไลน์ที่ให้คุณเขียนและแก้ไขจุดบกพร่องโค้ด Solidity ของคุณได้ เมื่อคุณไปที่ Remix ครั้งแรก คุณควรเห็นหน้า Landing Page คล้ายกับหน้าด้านล่าง
การเขียนสัญญาอัจฉริยะฉบับแรกของคุณ
ขั้นแรก ให้คลิกไอคอนสร้างไฟล์ใหม่ในแท็บ File Explorers ไอคอนนี้ดูเหมือนหน้ากระดาษที่มีมุมพับอยู่ ชื่อไฟล์ใหม่helloWorld.sol ใช้นามสกุล.solเพื่อแสดงว่าไฟล์นั้นมีรหัส Solidity
ตอนนี้คุณสามารถคัดลอกโค้ดด้านล่างไปยังไฟล์ใหม่ของคุณได้ คำอธิบายสำหรับแต่ละบรรทัดดังต่อไปนี้
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.1; contract FirstContract { uint var1; function set(uint x) public { var1 = x; } function get() public view returns (uint) { return var1; } }
บรรทัดแรกแสดงใบอนุญาตที่ผู้อื่นอาจใช้และแจกจ่ายซอฟต์แวร์ รหัสในตัวอย่างข้างต้นจะใช้รุ่น 3.0 คุณสามารถแทนที่นี้กับใบอนุญาตอื่น ๆ เช่นใบอนุญาตเอ็มไอที
บรรทัดที่สองแสดงคำสั่งPragmaที่บอกให้คอมไพเลอร์ใช้เวอร์ชัน Solidity ตั้งแต่ 0.8.1 ถึง 0.9.0 แต่ไม่รวม 0.9.0 นั่นคือ >= 0.8.1 ถึง < 0.9.0.="">
สิ่งสำคัญคือต้องรวมบรรทัดนี้เพื่อหลีกเลี่ยงความไม่เข้ากันระหว่างโค้ดและเวอร์ชันของคอมไพเลอร์
ที่เกี่ยวข้อง: ความแข็งแกร่งคืออะไรและใช้อย่างไรในการพัฒนาสัญญาอัจฉริยะ?
โดยปกติแล้วจะมีการเปลี่ยนแปลงเล็กน้อยหรือแพตช์ในเวอร์ชันxy Z การเปลี่ยนแปลงที่แตกหักมักมีอยู่ใน x เวอร์ชันY .z นี่คือสาเหตุที่คำสั่งPragmaไม่มีเวอร์ชัน 0.9.0 ในโค้ดด้านบน
Solidity เป็นภาษาเชิงวัตถุ สัญญาคำหลักในบรรทัดสี่จะคล้ายกันในการใช้งานกับระดับคำหลักในภาษาเชิงวัตถุอื่น ๆ
สัญญาสามารถประกอบด้วยฟังก์ชัน ตัวแปรสถานะ และประเภทขั้นสูงอื่นๆ สัญญาFirstContractจำนวนเต็มไม่ได้ลงนาม ( หน่วย ) เรียกว่าvar1
ทั้งสองฟังก์ชั่นชื่อชุด ()และได้รับ ()เป็นหมาและทะเยอทะยานฟังก์ชั่นตามลำดับสำหรับตัวแปรvar1 คุณสามารถกำหนดฟังก์ชั่นที่มีคำหลักที่ฟังก์ชั่นตามด้วยชื่อฟังก์ชั่นและวงเล็บ
ในวงเล็บ คุณสามารถประกาศพารามิเตอร์ที่ฟังก์ชันของคุณจะใช้ได้ คุณควรเขียนในลักษณะเดียวกันกับคำจำกัดความของตัวแปร: ระบุประเภทข้อมูลตามด้วยชื่อพารามิเตอร์
ที่เกี่ยวข้อง: Monero คืออะไรและปกป้องความเป็นส่วนตัวของคุณอย่างไร
ขอให้สังเกตว่าคำจำกัดความของชุด ()และได้รับ ()ฟังก์ชั่นประกอบด้วยคำหลักที่สาธารณะ นี่เป็นการประกาศว่าสัญญาอื่นใดสามารถเรียกพวกเขาได้
รวบรวมและปรับใช้
ในการคอมไพล์โค้ดของคุณ ให้คลิกที่ปุ่มSolidity compiler เมื่อคุณวางเมาส์เหนือปุ่มทางด้านซ้ายของตัวแก้ไข คุณจะสามารถเห็นชื่อปุ่มได้
ตอนนี้คลิกที่ปุ่มที่อ่านคอมไพล์ helloWorld.sol หากคอมไพเลอร์ไม่พบข้อผิดพลาดใดๆ แสดงว่าคุณรวบรวมสัญญาอัจฉริยะฉบับแรกได้สำเร็จ
ในการปรับใช้รหัสของคุณให้คลิกที่การปรับใช้และการทำธุรกรรมการทำงานปุ่ม ปุ่มนี้อยู่ใต้ปุ่มคอมไพเลอร์ Solidityในเมนูด้านซ้ายมือ ขณะอยู่ในหน้านี้ ตรวจสอบให้แน่ใจว่าชื่อสัญญาของคุณแสดงอย่างถูกต้องเหนือปุ่มปรับใช้
เมื่อยืนยันแล้ว คุณสามารถคลิกปรับใช้เพื่อเรียกใช้รหัสของคุณบนเครือข่ายการทดสอบในพื้นที่ปัจจุบัน โดยไม่มีค่าธรรมเนียมการทำธุรกรรม
การสร้าง DApps บนเครือข่าย Ethereum
หลังจากเรียนรู้วิธีสร้างสัญญาอัจฉริยะแล้ว จุดต่อไปของคุณควรเรียนรู้วิธีสร้างแอปแบบกระจายศูนย์ (DApps) เหล่านี้เป็นแอปพลิเคชันที่ใช้บล็อคเชนที่ทำงานบนเครือข่ายที่ไม่ได้รับอนุญาต นี่คือความสวยงามของสัญญาอัจฉริยะของ Ethereum
คุณจะมีความสามารถในการสร้างแอปพลิเคชัน P2P ที่มีประสิทธิภาพบน Ethereum