ภาพรวมของอีเธอเรียม
Ethereum เป็นแพลตฟอร์มซอฟต์แวร์แบบโอเพ่นซอร์สที่ใช้บล็อกเชน ซึ่งกลายเป็นผู้ท้าชิงรายใหญ่ของ Bitcoin Ethereum ได้รับการเสนอครั้งแรกในปี 2013 โดย Vitalik Buterin นักวิจัยด้านสกุลเงินดิจิทัล ซึ่งแนะนำให้เพิ่มภาษาสคริปต์สำหรับการเขียนโปรแกรมไปยัง Bitcoin เปิดตัวครั้งแรกเมื่อวันที่ 30 กรกฎาคม 2015 การพัฒนาของ Ethereum ได้รับการสนับสนุนจากการขายมวลชนออนไลน์ ซึ่งเป็นการระดมทุนประเภทหนึ่งที่มีการออกโทเค็นสกุลเงินดิจิทัล
อ่านเพิ่มเติม: Ethereum คืออะไร?
สกุลเงินดิจิทัลดั้งเดิมของ Ethereum เรียกว่า Ether (ETH) และมีภาษาการเขียนโปรแกรมที่เรียกว่า Solidity Blockchain ซึ่งเป็นเทคโนโลยีพื้นฐานของ Ethereum เป็นบัญชีแยกประเภทแบบกระจายที่รักษารายการบันทึกอย่างถาวรและป้องกันการงัดแงะ สถาปัตยกรรมแบบกระจายอำนาจนี้ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันแบบกระจายอำนาจ (dApps) ได้หลากหลาย โดยใช้ประโยชน์จากระบบนิเวศที่แข็งแกร่งและความสามารถรอบด้านของแพลตฟอร์ม
หนึ่งในคุณสมบัติหลักของ Ethereum คือ การรองรับสัญญาอัจฉริยะ ซึ่งเป็นสัญญาดิจิทัลที่ดำเนินการโดยอัตโนมัติตามเงื่อนไขที่กำหนดไว้ล่วงหน้าดังที่เรากล่าวถึงในบทที่ 1 สัญญาอัจฉริยะเหล่านี้ทำให้เกิดสภาพแวดล้อมที่ไร้ความน่าเชื่อถือ ซึ่งการทำธุรกรรมสามารถดำเนินการได้อย่างปลอดภัยและโปร่งใสโดยไม่จำเป็นต้องใช้ตัวกลาง นักขุดบนเครือข่าย Ethereum กำลังผลิตโทเค็น Ether ซึ่งไม่เพียงแต่ทำหน้าที่เป็นสกุลเงินเท่านั้น แต่ยังเป็นวิธีในการชำระค่าธรรมเนียมการใช้งานบนแพลตฟอร์มอีกด้วย หลังจาก "การผสาน" Ethereum ได้เปลี่ยนไปใช้กลไก Proof-of-Stake (PoS) ซึ่งผู้ตรวจสอบความถูกต้อง (ไม่ใช่นักขุด) จะตรวจสอบธุรกรรมและสร้างบล็อกใหม่ แทนที่จะผลิตโทเค็น Ether ผู้ตรวจสอบความถูกต้องจะได้รับค่าธรรมเนียมการทำธุรกรรมและบล็อกรางวัลใน Ether สำหรับการเข้าร่วมในเครือข่าย Ether ยังคงทำหน้าที่เป็นวิธีการชำระค่าธรรมเนียมการใช้งานบนแพลตฟอร์ม แต่การออกและการจัดจำหน่ายนั้นแตกต่างจากกลไก Proof-of-Work (PoW) ก่อนหน้านี้
ความสามารถของ Ethereum ในการโฮสต์ dApps และสัญญาอัจฉริยะได้รับความสนใจอย่างมากจากนักพัฒนาและองค์กรต่างๆ ทำให้กลายเป็นแพลตฟอร์มชั้นนำสำหรับการสร้างโซลูชันที่เป็นนวัตกรรมในอุตสาหกรรมต่างๆ รวมถึงการเงิน ห่วงโซ่อุปทาน และเกม และอื่นๆ อีกมากมาย ในขณะที่ระบบนิเวศ Ethereum ยังคงพัฒนาต่อไป มันยังคงอยู่ในแถวหน้าของเทคโนโลยีบล็อกเชน ขับเคลื่อนนวัตกรรมและส่งเสริมชุมชนที่เจริญรุ่งเรืองของนักพัฒนาและผู้ใช้
อ่านเพิ่มเติม: The Merge คืออะไร?
อ่านเพิ่มเติม: DApp คืออะไร?
รู้เบื้องต้นเกี่ยวกับภาษาโปรแกรม Solidity
Solidity เป็นภาษาโปรแกรมระดับสูงที่พิมพ์แบบคงที่ ซึ่งออกแบบมาเพื่อการเขียนสัญญาอัจฉริยะบนบล็อกเชน Ethereum โดยเฉพาะ พัฒนาโดยทีมงานหลักของ Ethereum ไวยากรณ์ของ Solidity ได้รับอิทธิพลจาก JavaScript ทำให้นักพัฒนาในวงกว้างคุ้นเคยและเข้าถึงได้ ภาษานี้เป็นภาษาทัวริงที่สมบูรณ์ ช่วยให้นักพัฒนาสามารถสร้างตรรกะที่ซับซ้อนและใช้งานฟังก์ชันต่างๆ ในสัญญาอัจฉริยะของตนได้ Solidity คอมไพล์เป็นโค้ดไบต์ Ethereum Virtual Machine (EVM) ซึ่งดำเนินการบนเครือข่าย Ethereum
ใน Solidity นักพัฒนาสามารถกำหนดโครงสร้างข้อมูลที่กำหนดเอง สร้างฟังก์ชันที่ผู้ใช้กำหนด และใช้กลไกการควบคุมการเข้าถึง รวมถึงคุณสมบัติอื่นๆ ด้วย Solidity คุณสามารถสร้างแอปพลิเคชันแบบกระจายอำนาจได้หลากหลาย รวมถึงแพลตฟอร์มการเงินแบบกระจายอำนาจ (DeFi) โทเค็นที่ไม่สามารถเข้ากันได้ (NFT) องค์กรอิสระแบบกระจายอำนาจ (DAO) และอื่นๆ อีกมากมาย
โครงสร้างของสัญญา Solidity: ตัวอย่าง
Solidity Contract คือส่วนของโค้ดในตัวเองที่ประกอบด้วยตัวแปร ฟังก์ชัน เหตุการณ์ และตัวแก้ไข รวมถึงองค์ประกอบอื่นๆ โครงสร้างพื้นฐานของสัญญา Solidity มีดังนี้:
คำสั่ง Pragma: บรรทัดนี้ระบุเวอร์ชันคอมไพเลอร์ Solidity ที่เข้ากันได้สำหรับสัญญาอัจฉริยะ ตัวอย่างเช่น:
ความมั่นคง
ความมั่นคงของแพรกมา ^0.8.0;
ข้อกำหนดของสัญญา: บรรทัดนี้ประกาศสัญญาและชื่อสัญญา \
ตัวอย่างเช่น:
ความแข็งแกร่ง
สัญญา SimpleToken {
ตัวแปรสถานะ: เหล่านี้เป็นตัวแปรที่เก็บสถานะของสัญญาบนบล็อกเชน ตัวอย่างเช่น คุณสามารถจัดเก็บอุปทานทั้งหมดของโทเค็นได้:
ความแข็งแกร่ง
uint256 สาธารณะรวมอุปทาน;
ฟังก์ชั่น: ฟังก์ชั่นกำหนดพฤติกรรมของสัญญาและสามารถเรียกโดยผู้ใช้ภายนอกหรือสัญญาอื่น ๆ ต่อไปนี้เป็นฟังก์ชันง่ายๆ ในการโอนโทเค็น:
การถ่ายโอนฟังก์ชัน Solidity
(ผู้รับที่อยู่ จำนวน uint256) สาธารณะ {
// ... transfer logic ...
}
เหตุการณ์: เหตุการณ์ใช้เพื่อบันทึกการดำเนินการเฉพาะในสัญญา และสามารถตรวจสอบได้โดยผู้ใช้ภายนอกหรือสัญญา ตัวอย่างเช่น เหตุการณ์การโอนในสัญญาโทเค็น:
การถ่ายโอนเหตุการณ์ Solidity
(ที่อยู่จัดทำดัชนีจาก, ที่อยู่ที่จัดทำดัชนีเป็น, ค่า uint256);
ตัวแก้ไข: ตัวแก้ไขใช้เพื่อแก้ไขพฤติกรรมของฟังก์ชัน โดยปกติแล้วสำหรับการควบคุมการเข้าถึงหรือการตรวจสอบเงื่อนไขเบื้องต้น ตัวอย่างเช่น ตัวแก้ไขเพื่อตรวจสอบว่าผู้ส่งมีโทเค็นเพียงพอที่จะถ่ายโอนหรือไม่:
ตัวแก้ไข JavaScript
hasEnoughTokens (จำนวน uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
ตัวสร้าง: ตัวสร้างเป็นฟังก์ชันพิเศษที่เริ่มต้นตัวแปรสถานะของสัญญาเมื่อมีการปรับใช้ ตัวอย่างเช่น การเริ่มต้นการจัดหาโทเค็นทั้งหมด:
ตัวสร้าง JavaScript
(uint256 _totalSupply) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
เมื่อรวมทุกอย่างเข้าด้วยกัน Solidity Contract แบบธรรมดาสำหรับโทเค็นอาจมีลักษณะดังนี้:
ความแข็งแกร่งของ TypeScript
pragma ^0.8.0;
สัญญา SimpleToken {
uint256 สาธารณะ TotalSupply;
การทำแผนที่ (ที่อยู่ => uint256) สมดุลสาธารณะ;
การถ่ายโอนเหตุการณ์ (ที่อยู่จัดทำดัชนีจาก, ที่อยู่ที่จัดทำดัชนีเป็น, ค่า uint256); ตัวแก้ไข
ตัว hasEnoughTokens(จำนวน uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
ไฮไลท์
Ethereum เป็นแพลตฟอร์มบนบล็อกเชนที่รองรับสัญญาอัจฉริยะและแอปพลิเคชันแบบกระจายอำนาจ (dApps)
สกุลเงินดิจิตอลดั้งเดิมของ Ethereum คือ Ether (ETH)
Solidity เป็นภาษาการเขียนโปรแกรมระดับสูงที่ใช้สำหรับการเขียนสัญญาอัจฉริยะบน Ethereum
สัญญาอัจฉริยะบน Ethereum ดำเนินการโดยอัตโนมัติตามเงื่อนไขที่กำหนดไว้ล่วงหน้า
Ethereum ได้เปลี่ยนไปใช้กลไก Proof-of-Stake (PoS) สำหรับตรวจสอบธุรกรรมและสร้างบล็อกใหม่
Solidity ช่วยให้นักพัฒนาสามารถกำหนดโครงสร้างข้อมูล สร้างฟังก์ชัน ใช้การควบคุมการเข้าถึง และอื่นๆ อีกมากมาย
ระบบนิเวศของ Ethereum ดึงดูดนักพัฒนาและองค์กรจากอุตสาหกรรมต่างๆ
Solidity Contract ประกอบด้วย Pragmas คำจำกัดความของสัญญา ตัวแปรสถานะ ฟังก์ชัน เหตุการณ์ ตัวแก้ไข และตัวสร้าง
Solidity Contract สามารถใช้ในการสร้างแพลตฟอร์ม DeFi, NFT, DAO และอื่นๆ อีกมากมาย
ภาพรวมของอีเธอเรียม
Ethereum เป็นแพลตฟอร์มซอฟต์แวร์แบบโอเพ่นซอร์สที่ใช้บล็อกเชน ซึ่งกลายเป็นผู้ท้าชิงรายใหญ่ของ Bitcoin Ethereum ได้รับการเสนอครั้งแรกในปี 2013 โดย Vitalik Buterin นักวิจัยด้านสกุลเงินดิจิทัล ซึ่งแนะนำให้เพิ่มภาษาสคริปต์สำหรับการเขียนโปรแกรมไปยัง Bitcoin เปิดตัวครั้งแรกเมื่อวันที่ 30 กรกฎาคม 2015 การพัฒนาของ Ethereum ได้รับการสนับสนุนจากการขายมวลชนออนไลน์ ซึ่งเป็นการระดมทุนประเภทหนึ่งที่มีการออกโทเค็นสกุลเงินดิจิทัล
อ่านเพิ่มเติม: Ethereum คืออะไร?
สกุลเงินดิจิทัลดั้งเดิมของ Ethereum เรียกว่า Ether (ETH) และมีภาษาการเขียนโปรแกรมที่เรียกว่า Solidity Blockchain ซึ่งเป็นเทคโนโลยีพื้นฐานของ Ethereum เป็นบัญชีแยกประเภทแบบกระจายที่รักษารายการบันทึกอย่างถาวรและป้องกันการงัดแงะ สถาปัตยกรรมแบบกระจายอำนาจนี้ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันแบบกระจายอำนาจ (dApps) ได้หลากหลาย โดยใช้ประโยชน์จากระบบนิเวศที่แข็งแกร่งและความสามารถรอบด้านของแพลตฟอร์ม
หนึ่งในคุณสมบัติหลักของ Ethereum คือ การรองรับสัญญาอัจฉริยะ ซึ่งเป็นสัญญาดิจิทัลที่ดำเนินการโดยอัตโนมัติตามเงื่อนไขที่กำหนดไว้ล่วงหน้าดังที่เรากล่าวถึงในบทที่ 1 สัญญาอัจฉริยะเหล่านี้ทำให้เกิดสภาพแวดล้อมที่ไร้ความน่าเชื่อถือ ซึ่งการทำธุรกรรมสามารถดำเนินการได้อย่างปลอดภัยและโปร่งใสโดยไม่จำเป็นต้องใช้ตัวกลาง นักขุดบนเครือข่าย Ethereum กำลังผลิตโทเค็น Ether ซึ่งไม่เพียงแต่ทำหน้าที่เป็นสกุลเงินเท่านั้น แต่ยังเป็นวิธีในการชำระค่าธรรมเนียมการใช้งานบนแพลตฟอร์มอีกด้วย หลังจาก "การผสาน" Ethereum ได้เปลี่ยนไปใช้กลไก Proof-of-Stake (PoS) ซึ่งผู้ตรวจสอบความถูกต้อง (ไม่ใช่นักขุด) จะตรวจสอบธุรกรรมและสร้างบล็อกใหม่ แทนที่จะผลิตโทเค็น Ether ผู้ตรวจสอบความถูกต้องจะได้รับค่าธรรมเนียมการทำธุรกรรมและบล็อกรางวัลใน Ether สำหรับการเข้าร่วมในเครือข่าย Ether ยังคงทำหน้าที่เป็นวิธีการชำระค่าธรรมเนียมการใช้งานบนแพลตฟอร์ม แต่การออกและการจัดจำหน่ายนั้นแตกต่างจากกลไก Proof-of-Work (PoW) ก่อนหน้านี้
ความสามารถของ Ethereum ในการโฮสต์ dApps และสัญญาอัจฉริยะได้รับความสนใจอย่างมากจากนักพัฒนาและองค์กรต่างๆ ทำให้กลายเป็นแพลตฟอร์มชั้นนำสำหรับการสร้างโซลูชันที่เป็นนวัตกรรมในอุตสาหกรรมต่างๆ รวมถึงการเงิน ห่วงโซ่อุปทาน และเกม และอื่นๆ อีกมากมาย ในขณะที่ระบบนิเวศ Ethereum ยังคงพัฒนาต่อไป มันยังคงอยู่ในแถวหน้าของเทคโนโลยีบล็อกเชน ขับเคลื่อนนวัตกรรมและส่งเสริมชุมชนที่เจริญรุ่งเรืองของนักพัฒนาและผู้ใช้
อ่านเพิ่มเติม: The Merge คืออะไร?
อ่านเพิ่มเติม: DApp คืออะไร?
รู้เบื้องต้นเกี่ยวกับภาษาโปรแกรม Solidity
Solidity เป็นภาษาโปรแกรมระดับสูงที่พิมพ์แบบคงที่ ซึ่งออกแบบมาเพื่อการเขียนสัญญาอัจฉริยะบนบล็อกเชน Ethereum โดยเฉพาะ พัฒนาโดยทีมงานหลักของ Ethereum ไวยากรณ์ของ Solidity ได้รับอิทธิพลจาก JavaScript ทำให้นักพัฒนาในวงกว้างคุ้นเคยและเข้าถึงได้ ภาษานี้เป็นภาษาทัวริงที่สมบูรณ์ ช่วยให้นักพัฒนาสามารถสร้างตรรกะที่ซับซ้อนและใช้งานฟังก์ชันต่างๆ ในสัญญาอัจฉริยะของตนได้ Solidity คอมไพล์เป็นโค้ดไบต์ Ethereum Virtual Machine (EVM) ซึ่งดำเนินการบนเครือข่าย Ethereum
ใน Solidity นักพัฒนาสามารถกำหนดโครงสร้างข้อมูลที่กำหนดเอง สร้างฟังก์ชันที่ผู้ใช้กำหนด และใช้กลไกการควบคุมการเข้าถึง รวมถึงคุณสมบัติอื่นๆ ด้วย Solidity คุณสามารถสร้างแอปพลิเคชันแบบกระจายอำนาจได้หลากหลาย รวมถึงแพลตฟอร์มการเงินแบบกระจายอำนาจ (DeFi) โทเค็นที่ไม่สามารถเข้ากันได้ (NFT) องค์กรอิสระแบบกระจายอำนาจ (DAO) และอื่นๆ อีกมากมาย
โครงสร้างของสัญญา Solidity: ตัวอย่าง
Solidity Contract คือส่วนของโค้ดในตัวเองที่ประกอบด้วยตัวแปร ฟังก์ชัน เหตุการณ์ และตัวแก้ไข รวมถึงองค์ประกอบอื่นๆ โครงสร้างพื้นฐานของสัญญา Solidity มีดังนี้:
คำสั่ง Pragma: บรรทัดนี้ระบุเวอร์ชันคอมไพเลอร์ Solidity ที่เข้ากันได้สำหรับสัญญาอัจฉริยะ ตัวอย่างเช่น:
ความมั่นคง
ความมั่นคงของแพรกมา ^0.8.0;
ข้อกำหนดของสัญญา: บรรทัดนี้ประกาศสัญญาและชื่อสัญญา \
ตัวอย่างเช่น:
ความแข็งแกร่ง
สัญญา SimpleToken {
ตัวแปรสถานะ: เหล่านี้เป็นตัวแปรที่เก็บสถานะของสัญญาบนบล็อกเชน ตัวอย่างเช่น คุณสามารถจัดเก็บอุปทานทั้งหมดของโทเค็นได้:
ความแข็งแกร่ง
uint256 สาธารณะรวมอุปทาน;
ฟังก์ชั่น: ฟังก์ชั่นกำหนดพฤติกรรมของสัญญาและสามารถเรียกโดยผู้ใช้ภายนอกหรือสัญญาอื่น ๆ ต่อไปนี้เป็นฟังก์ชันง่ายๆ ในการโอนโทเค็น:
การถ่ายโอนฟังก์ชัน Solidity
(ผู้รับที่อยู่ จำนวน uint256) สาธารณะ {
// ... transfer logic ...
}
เหตุการณ์: เหตุการณ์ใช้เพื่อบันทึกการดำเนินการเฉพาะในสัญญา และสามารถตรวจสอบได้โดยผู้ใช้ภายนอกหรือสัญญา ตัวอย่างเช่น เหตุการณ์การโอนในสัญญาโทเค็น:
การถ่ายโอนเหตุการณ์ Solidity
(ที่อยู่จัดทำดัชนีจาก, ที่อยู่ที่จัดทำดัชนีเป็น, ค่า uint256);
ตัวแก้ไข: ตัวแก้ไขใช้เพื่อแก้ไขพฤติกรรมของฟังก์ชัน โดยปกติแล้วสำหรับการควบคุมการเข้าถึงหรือการตรวจสอบเงื่อนไขเบื้องต้น ตัวอย่างเช่น ตัวแก้ไขเพื่อตรวจสอบว่าผู้ส่งมีโทเค็นเพียงพอที่จะถ่ายโอนหรือไม่:
ตัวแก้ไข JavaScript
hasEnoughTokens (จำนวน uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
ตัวสร้าง: ตัวสร้างเป็นฟังก์ชันพิเศษที่เริ่มต้นตัวแปรสถานะของสัญญาเมื่อมีการปรับใช้ ตัวอย่างเช่น การเริ่มต้นการจัดหาโทเค็นทั้งหมด:
ตัวสร้าง JavaScript
(uint256 _totalSupply) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
เมื่อรวมทุกอย่างเข้าด้วยกัน Solidity Contract แบบธรรมดาสำหรับโทเค็นอาจมีลักษณะดังนี้:
ความแข็งแกร่งของ TypeScript
pragma ^0.8.0;
สัญญา SimpleToken {
uint256 สาธารณะ TotalSupply;
การทำแผนที่ (ที่อยู่ => uint256) สมดุลสาธารณะ;
การถ่ายโอนเหตุการณ์ (ที่อยู่จัดทำดัชนีจาก, ที่อยู่ที่จัดทำดัชนีเป็น, ค่า uint256); ตัวแก้ไข
ตัว hasEnoughTokens(จำนวน uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
ไฮไลท์
Ethereum เป็นแพลตฟอร์มบนบล็อกเชนที่รองรับสัญญาอัจฉริยะและแอปพลิเคชันแบบกระจายอำนาจ (dApps)
สกุลเงินดิจิตอลดั้งเดิมของ Ethereum คือ Ether (ETH)
Solidity เป็นภาษาการเขียนโปรแกรมระดับสูงที่ใช้สำหรับการเขียนสัญญาอัจฉริยะบน Ethereum
สัญญาอัจฉริยะบน Ethereum ดำเนินการโดยอัตโนมัติตามเงื่อนไขที่กำหนดไว้ล่วงหน้า
Ethereum ได้เปลี่ยนไปใช้กลไก Proof-of-Stake (PoS) สำหรับตรวจสอบธุรกรรมและสร้างบล็อกใหม่
Solidity ช่วยให้นักพัฒนาสามารถกำหนดโครงสร้างข้อมูล สร้างฟังก์ชัน ใช้การควบคุมการเข้าถึง และอื่นๆ อีกมากมาย
ระบบนิเวศของ Ethereum ดึงดูดนักพัฒนาและองค์กรจากอุตสาหกรรมต่างๆ
Solidity Contract ประกอบด้วย Pragmas คำจำกัดความของสัญญา ตัวแปรสถานะ ฟังก์ชัน เหตุการณ์ ตัวแก้ไข และตัวสร้าง
Solidity Contract สามารถใช้ในการสร้างแพลตฟอร์ม DeFi, NFT, DAO และอื่นๆ อีกมากมาย