Ethereum เป็นเทคโนโลยีที่ก้าวล้ำซึ่งทำหน้าที่เป็นรากฐานสำหรับอินเทอร์เน็ตรูปแบบใหม่ที่เรียกว่าเว็บแบบกระจายอำนาจ Ethereum สร้างขึ้นโดย Vitalik Buterin เป็นแพลตฟอร์มโอเพ่นซอร์สบนบล็อกเชนที่ช่วยให้นักพัฒนาสามารถสร้างและปรับใช้แอปพลิเคชันแบบกระจายอำนาจหรือ dApps การใช้สัญญาอัจฉริยะของ Ethereum ช่วยให้ dApps ดำเนินการตรงตามที่วางแผนไว้ ไม่มีการหยุดทำงาน การเซ็นเซอร์ การฉ้อโกง หรือการรบกวนจากบุคคลที่สาม
อ่านเพิ่มเติม: Ethereum คืออะไร?
Ether (ETH) เป็นสกุลเงินดิจิทัลดั้งเดิมของ Ethereum และใช้ภาษาการเขียนโปรแกรม Solidity เทคโนโลยีพื้นฐานของ Ethereum ซึ่งก็คือบล็อคเชนนั้นเป็นบัญชีแยกประเภทแบบกระจายที่เก็บรายการบันทึกอย่างถาวรและป้องกันการงัดแงะ สถาปัตยกรรมแบบกระจายอำนาจนี้ช่วยให้นักพัฒนาสามารถสร้างชุดแอพแบบกระจายอำนาจ (dApps) ที่หลากหลายโดยใช้ประโยชน์จากระบบนิเวศอันทรงพลังและความสามารถในการปรับตัวของแพลตฟอร์ม
สัญญาอัจฉริยะคือสัญญาที่ดำเนินการด้วยตนเองโดยมีเงื่อนไขของข้อตกลงที่เขียนโดยตรงลงในบรรทัดของโค้ด พวกมันคือองค์ประกอบพื้นฐานของ dApps บน Ethereum สัญญาดิจิทัลเหล่านี้ดำเนินธุรกรรมโดยอัตโนมัติและย้ายสกุลเงินท้องถิ่นของ Ethereum นั่นคือ Ether ระหว่างบัญชีเมื่อตรงตามเงื่อนไขที่กำหนดไว้ในสัญญา ระบบอัตโนมัตินี้ช่วยลดความจำเป็นในการมีคนกลาง ซึ่งช่วยเพิ่มประสิทธิภาพและความน่าเชื่อถือในกระบวนการอย่างมาก เนื่องจากโปรแกรมคอมพิวเตอร์ขนาดเล็กถูกจัดเก็บไว้ภายในบล็อกเชน สัญญาอัจฉริยะจึงได้รับการออกแบบให้บังคับใช้ข้อกำหนดและเงื่อนไขโดยอัตโนมัติ นำระบบอัตโนมัติและความแม่นยำระดับใหม่มาสู่ข้อตกลงดิจิทัล
อ่านเพิ่มเติม: Smart Contracts คืออะไร?
ดังที่เราได้พูดคุยไปแล้วในหลักสูตรก่อนหน้าของเราที่นี่: หลักสูตร: Smart Contracts 101: A Basic Introduction มีประโยชน์ที่สำคัญหลายประการของ Smart Contracts ที่ทำให้พวกเขากลายเป็นแนวคิดที่ปฏิวัติวงการในโลกดิจิทัล:
การกำจัดคนกลาง: สัญญาอัจฉริยะช่วยขจัดความจำเป็นในการมีคนกลาง นำไปสู่การทำธุรกรรมที่คุ้มต้นทุนมากขึ้น
การกระจายอำนาจ: ด้วยการสร้างสัญญาอัจฉริยะบนบล็อกเชน จะสามารถสร้างแพลตฟอร์มแบบกระจายอำนาจได้ ซึ่งช่วยลดการพึ่งพาเอนทิตีแบบรวมศูนย์เพียงแห่งเดียว
การพัฒนาที่ง่ายและราคาไม่แพง: แพลตฟอร์มอย่าง Ethereum ช่วยให้นักพัฒนาโครงสร้างพื้นฐานจำเป็นต้องสร้างแอปพลิเคชันที่ใช้ธุรกรรมอย่างง่ายดายและราคาไม่แพง
การรักษาความปลอดภัยและความโปร่งใสที่เพิ่มขึ้น: เนื่องจากสัญญาอัจฉริยะเขียนด้วยรหัส ธุรกรรมจึงไม่สามารถย้อนกลับและติดตามได้ จึงมั่นใจได้ถึงความโปร่งใสและความปลอดภัยที่มากขึ้น
การบังคับใช้ตนเอง: สัญญาอัจฉริยะเป็นการบังคับใช้ตนเอง ซึ่งสร้างสภาพแวดล้อมที่ไม่น่าไว้วางใจสำหรับการทำธุรกรรมกับใครก็ตามในโลก
ภาษาที่ใช้กันทั่วไปในการเขียนสัญญาอัจฉริยะบน Ethereum คือ Solidity Solidity เป็นภาษาที่พิมพ์แบบคงที่ซึ่งได้รับอิทธิพลจาก JavaScript, Python และ C++ ซึ่งออกแบบมาเพื่อการพัฒนาสัญญาอัจฉริยะของ Ethereum มีคุณสมบัติครบถ้วน สมบูรณ์ และได้รับการสนับสนุนจากชุมชนที่แข็งแกร่ง ทำให้เป็นตัวเลือกแรกสำหรับนักพัฒนา Ethereum จำนวนมาก
ในขณะที่ Solidity ได้รับความสนใจในการพัฒนา Ethereum แต่ภาษาทางเลือกที่เรียกว่า Vyper มอบมุมมองที่มีเอกลักษณ์และมีคุณค่า Vyper เป็นภาษา Pythonic ที่เน้นความปลอดภัยและขับเคลื่อนด้วยความเรียบง่าย ออกแบบมาเพื่อการเขียนสัญญาอัจฉริยะใน Ethereum แตกต่างจาก Solidity ตรงที่ Vyper เลือกที่จะสละคุณสมบัติบางอย่างเพื่อให้มั่นใจในความปลอดภัยที่สูงขึ้นและทำความเข้าใจสัญญาได้ง่ายขึ้น
แม้ว่า Solidity จะได้รับความนิยม แต่ความมุ่งมั่นของ Vyper ในเรื่องความปลอดภัยและความสามารถในการอ่านทำให้สิ่งนี้เป็นตัวเลือกที่น่าสนใจสำหรับนักพัฒนาจำนวนมาก มีไวยากรณ์ที่เข้าถึงได้ง่ายกว่าสำหรับผู้ที่คุ้นเคยกับ Python ทำให้เป็นจุดเริ่มต้นที่ดีสำหรับนักพัฒนา Python ที่ต้องการก้าวเข้าสู่โลกของ Ethereum dApps
เพื่อให้มีความเข้าใจที่ดีขึ้นเกี่ยวกับ Solidity และ Vyper เราจะเปรียบเทียบทั้งสองภาษาตามพารามิเตอร์ต่างๆ เช่น ไวยากรณ์ เส้นโค้งการเรียนรู้ ขนาดของอาร์เรย์และสตริง การสนับสนุนชุมชน การจัดการสัญญาและข้อผิดพลาด คำจำกัดความของตัวแปร การสร้างการประมูล ข้อมูลจำเพาะของฟังก์ชัน กระบวนการถอนตัว และการยกเลิกสัญญา
เนื่องจาก Solidity และ Vyper เป็นภาษาระดับสูง ไวยากรณ์จึงเรียบง่าย อย่างไรก็ตาม ไวยากรณ์ของ Solidity นั้นคล้ายกับภาษาที่ใช้กันอย่างแพร่หลาย เช่น C++ และ JavaScript มากกว่า ซึ่งอาจทำให้นักพัฒนาบางคนง่ายขึ้น ในทางกลับกัน Vyper นั้นคล้ายคลึงกับ Python โดยมีไวยากรณ์ที่ผู้ใช้ Python จดจำได้
เนื่องจาก Solidity เป็นภาษาที่ได้รับความนิยมมากกว่า จึงมีเอกสารและสื่อการเรียนรู้เพิ่มเติม ซึ่งอาจช่วยในกระบวนการเรียนรู้ได้ ในทางกลับกัน Vyper นั้นใหม่กว่าและมีสื่อการเรียนรู้น้อยกว่า ในทางกลับกัน รูปแบบที่เรียบง่ายกว่าและความคล้ายคลึงกับ Python ทำให้เป็นภาษาที่ง่ายต่อการเรียนรู้สำหรับนักพัฒนาที่คุ้นเคยกับ Python อยู่แล้ว
Solidity ให้การปรับขนาดสตริงและอาเรย์แบบไดนามิก ช่วยให้นักพัฒนาสามารถเปลี่ยนความยาวของสตริงได้ตามความต้องการ ในทางกลับกัน Vyper จะจำกัดขนาดของอาร์เรย์และสตริงเพื่อลดช่องโหว่ที่อาจเกิดขึ้นในสัญญาอัจฉริยะ
การใช้ Solidity อย่างแพร่หลายส่งผลให้ชุมชนนักพัฒนา ผู้เชี่ยวชาญ และผู้สนใจมีความเจริญรุ่งเรือง Vyper เป็นภาษาใหม่ไม่มีชุมชนขนาดใหญ่ แต่เมื่อดำเนินไป การสนับสนุนจากชุมชนก็มีแนวโน้มที่จะเพิ่มขึ้น
Contracts in Solidity สามารถกำหนดได้โดยใช้เครื่องมือเช่น Brownie และ VSCode เมื่อสร้างสัญญา Vyper เพียงต้องการเวอร์ชันของ Vyper ที่ใช้ในการระบุ นอกจากนี้ Vyper ยังเปิดใช้งานการตรวจจับการพิมพ์ผิดทันที ซึ่งทำให้การดีบักง่ายขึ้น ในขณะที่ Solidity จำเป็นต้องรวบรวมสัญญาก่อนที่จะตรวจพบข้อผิดพลาด
คำจำกัดความของตัวแปรใน Vyper นั้นเรียบง่ายและชวนให้นึกถึงภาษาการเขียนโปรแกรมระดับสูง ในทางกลับกัน Solidity ใช้วิธีการที่ซับซ้อนกว่าในการประกาศตัวแปร นอกจากนี้ Solidity ยังจำเป็นต้องใช้เซมิโคลอน ซึ่งจะเพิ่มความซับซ้อนอีกชั้นหนึ่ง
การสร้างการประมูลใน Vyper เป็นกระบวนการง่ายๆ อนุญาตให้ช่างตกแต่งภายนอกอนุญาตให้สัญญาอื่นเรียกได้ ในทางกลับกัน ความมั่นคงจำเป็นต้องมีการจัดการที่ซับซ้อนมากขึ้น รวมถึงคำจำกัดความข้อผิดพลาดที่อาจเกิดขึ้นและการใช้คำสั่ง 'if'
ฟังก์ชั่น Vyper สามารถตกแต่งด้วยมัณฑนากรภายนอกเพื่อให้สามารถรับชำระเงินสำหรับการทำธุรกรรมได้ ในทางกลับกัน ความแข็งแกร่งจำเป็นต้องผ่านส่วนภายนอกและส่วนที่ต้องชำระภายในฟังก์ชัน นอกจากนี้ Solidity ยังใช้คำสั่ง 'if' ในขณะที่ Vyper ใช้คำสั่ง 'assert'
ตรงกันข้ามกับ Solidity กระบวนการถอนเงินใน Vyper นั้นง่ายกว่า ความแข็งแกร่งจำเป็นต้องกำหนดจำนวนและสร้างคำสั่ง 'if' ในขณะที่ Vyper ใช้วิธีการที่ตรงไปตรงมามากกว่า
Vyper ตรวจสอบเวลาด้วย 'assert' แต่ Solidity ต้องใช้คำสั่ง 'if' ก่อนที่จะตั้งค่าตัวแปรสิ้นสุดเป็น "True" นอกจากนี้ Solidity ยังแตกต่างจาก Vyper ตรงที่เรียกร้องให้มีการสิ้นสุดการประมูลและการโอนเงินสด
ก่อนที่คุณจะเริ่มเขียนโค้ดใน Vyper ได้ คุณต้องแน่ใจว่าคอมพิวเตอร์ของคุณพร้อมสำหรับการพัฒนาก่อน นี่คือสิ่งที่คุณต้องทำ:
ติดตั้ง Python: Vyper ต้องใช้ Python 3.6 หรือสูงกว่า คุณสามารถดาวน์โหลด Python ได้จาก เว็บไซต์ อย่างเป็นทางการ ทำตามคำแนะนำเพื่อติดตั้งลงในเครื่องของคุณ คุณสามารถตรวจสอบการติดตั้งได้โดยพิมพ์python --version
ในเทอร์มินัลของคุณ คุณควรเห็นเวอร์ชัน Python ที่คุณติดตั้งเป็นเอาต์พุต
ติดตั้ง Pip: Pip เป็นตัวจัดการแพ็คเกจสำหรับ Python ใช้เพื่อติดตั้งและจัดการแพ็คเกจเพิ่มเติมที่ไม่ได้เป็นส่วนหนึ่งของไลบรารีมาตรฐาน Python Pip ควรได้รับการติดตั้งโดยอัตโนมัติเมื่อคุณติดตั้ง Python คุณสามารถตรวจสอบการติดตั้งได้โดยพิมพ์ pip --version
ในเทอร์มินัลของคุณ หากไม่ได้ติดตั้ง คุณสามารถดาวน์โหลดได้จากเว็บไซต์ทางการของ Pip และทำตามคำแนะนำที่นั่น
เมื่อสภาพแวดล้อมของคุณพร้อมแล้ว คุณสามารถติดตั้ง Vyper ได้ เปิดเทอร์มินัลของคุณและรันคำสั่งต่อไปนี้:
Python
pip3 ติดตั้ง vyper
คุณจะเห็นว่าในตอนท้ายของโค้ด Terminal จะแนะนำให้เราอัปเดต pip โดยพิมพ์คำสั่ง:
Python
python.exe -m pip ติดตั้ง --อัพเกรด pip
รันคำสั่งนี้เพื่อให้แน่ใจว่ามี pip เวอร์ชันล่าสุด คุณควรเห็นข้อความเช่นนี้หลังจากติดตั้งเวอร์ชันที่อัปเดตแล้ว
หลังจากการติดตั้งเสร็จสมบูรณ์ คุณสามารถตรวจสอบเวอร์ชันของ Vyper ได้โดยการเรียกใช้ vyper --version
คุณควรเห็นเวอร์ชัน Vyper ที่คุณติดตั้งเป็นเอาต์พุต
แม้ว่าคุณจะสามารถเขียนโค้ด Vyper ในโปรแกรมแก้ไขข้อความใดก็ได้ แต่การใช้สภาพแวดล้อมการพัฒนาแบบรวม (IDE) จะทำให้งานของคุณง่ายขึ้นมาก นี่คือสองตัวเลือกสำหรับคุณ:
Remix: Remix เป็น IDE บนเบราว์เซอร์ที่จัดทำโดย Ethereum รองรับทั้ง Solidity และ Vyper และนำเสนอฟีเจอร์ต่างๆ เช่น คอมไพเลอร์ในตัว ดีบักเกอร์ที่แข็งแกร่ง และสภาพแวดล้อมการทดสอบ คุณสามารถเริ่มใช้ Remix ได้โดยไปที่เว็บไซต์ทางการของ Remix ไม่จำเป็นต้องติดตั้ง (เราจะใช้ตัวเลือกนี้ในระหว่างหลักสูตรของเรา)
บราวนี่: บราวนี่เป็นสภาพแวดล้อมการพัฒนาที่ใช้ Python และกรอบการทดสอบสำหรับ Ethereum รองรับทั้ง Solidity และ Vyper ข้อได้เปรียบที่สำคัญประการหนึ่งของ Brownie คือช่วยให้คุณสามารถเขียนการทดสอบด้วย Python ซึ่งเป็นภาษาที่นักพัฒนาหลายคนคุ้นเคยอยู่แล้ว หากต้องการติดตั้ง Brownie ให้เปิดเทอร์มินัลแล้วเรียกใช้ pip3 install eth-brownie
การดำเนินการนี้จะต้องใช้เวลาสักครู่ และจะมีการติดตั้งไลบรารีและแพ็คเกจจำนวนมาก
Ethereum เป็นเทคโนโลยีที่ก้าวล้ำซึ่งทำหน้าที่เป็นรากฐานสำหรับอินเทอร์เน็ตรูปแบบใหม่ที่เรียกว่าเว็บแบบกระจายอำนาจ Ethereum สร้างขึ้นโดย Vitalik Buterin เป็นแพลตฟอร์มโอเพ่นซอร์สบนบล็อกเชนที่ช่วยให้นักพัฒนาสามารถสร้างและปรับใช้แอปพลิเคชันแบบกระจายอำนาจหรือ dApps การใช้สัญญาอัจฉริยะของ Ethereum ช่วยให้ dApps ดำเนินการตรงตามที่วางแผนไว้ ไม่มีการหยุดทำงาน การเซ็นเซอร์ การฉ้อโกง หรือการรบกวนจากบุคคลที่สาม
อ่านเพิ่มเติม: Ethereum คืออะไร?
Ether (ETH) เป็นสกุลเงินดิจิทัลดั้งเดิมของ Ethereum และใช้ภาษาการเขียนโปรแกรม Solidity เทคโนโลยีพื้นฐานของ Ethereum ซึ่งก็คือบล็อคเชนนั้นเป็นบัญชีแยกประเภทแบบกระจายที่เก็บรายการบันทึกอย่างถาวรและป้องกันการงัดแงะ สถาปัตยกรรมแบบกระจายอำนาจนี้ช่วยให้นักพัฒนาสามารถสร้างชุดแอพแบบกระจายอำนาจ (dApps) ที่หลากหลายโดยใช้ประโยชน์จากระบบนิเวศอันทรงพลังและความสามารถในการปรับตัวของแพลตฟอร์ม
สัญญาอัจฉริยะคือสัญญาที่ดำเนินการด้วยตนเองโดยมีเงื่อนไขของข้อตกลงที่เขียนโดยตรงลงในบรรทัดของโค้ด พวกมันคือองค์ประกอบพื้นฐานของ dApps บน Ethereum สัญญาดิจิทัลเหล่านี้ดำเนินธุรกรรมโดยอัตโนมัติและย้ายสกุลเงินท้องถิ่นของ Ethereum นั่นคือ Ether ระหว่างบัญชีเมื่อตรงตามเงื่อนไขที่กำหนดไว้ในสัญญา ระบบอัตโนมัตินี้ช่วยลดความจำเป็นในการมีคนกลาง ซึ่งช่วยเพิ่มประสิทธิภาพและความน่าเชื่อถือในกระบวนการอย่างมาก เนื่องจากโปรแกรมคอมพิวเตอร์ขนาดเล็กถูกจัดเก็บไว้ภายในบล็อกเชน สัญญาอัจฉริยะจึงได้รับการออกแบบให้บังคับใช้ข้อกำหนดและเงื่อนไขโดยอัตโนมัติ นำระบบอัตโนมัติและความแม่นยำระดับใหม่มาสู่ข้อตกลงดิจิทัล
อ่านเพิ่มเติม: Smart Contracts คืออะไร?
ดังที่เราได้พูดคุยไปแล้วในหลักสูตรก่อนหน้าของเราที่นี่: หลักสูตร: Smart Contracts 101: A Basic Introduction มีประโยชน์ที่สำคัญหลายประการของ Smart Contracts ที่ทำให้พวกเขากลายเป็นแนวคิดที่ปฏิวัติวงการในโลกดิจิทัล:
การกำจัดคนกลาง: สัญญาอัจฉริยะช่วยขจัดความจำเป็นในการมีคนกลาง นำไปสู่การทำธุรกรรมที่คุ้มต้นทุนมากขึ้น
การกระจายอำนาจ: ด้วยการสร้างสัญญาอัจฉริยะบนบล็อกเชน จะสามารถสร้างแพลตฟอร์มแบบกระจายอำนาจได้ ซึ่งช่วยลดการพึ่งพาเอนทิตีแบบรวมศูนย์เพียงแห่งเดียว
การพัฒนาที่ง่ายและราคาไม่แพง: แพลตฟอร์มอย่าง Ethereum ช่วยให้นักพัฒนาโครงสร้างพื้นฐานจำเป็นต้องสร้างแอปพลิเคชันที่ใช้ธุรกรรมอย่างง่ายดายและราคาไม่แพง
การรักษาความปลอดภัยและความโปร่งใสที่เพิ่มขึ้น: เนื่องจากสัญญาอัจฉริยะเขียนด้วยรหัส ธุรกรรมจึงไม่สามารถย้อนกลับและติดตามได้ จึงมั่นใจได้ถึงความโปร่งใสและความปลอดภัยที่มากขึ้น
การบังคับใช้ตนเอง: สัญญาอัจฉริยะเป็นการบังคับใช้ตนเอง ซึ่งสร้างสภาพแวดล้อมที่ไม่น่าไว้วางใจสำหรับการทำธุรกรรมกับใครก็ตามในโลก
ภาษาที่ใช้กันทั่วไปในการเขียนสัญญาอัจฉริยะบน Ethereum คือ Solidity Solidity เป็นภาษาที่พิมพ์แบบคงที่ซึ่งได้รับอิทธิพลจาก JavaScript, Python และ C++ ซึ่งออกแบบมาเพื่อการพัฒนาสัญญาอัจฉริยะของ Ethereum มีคุณสมบัติครบถ้วน สมบูรณ์ และได้รับการสนับสนุนจากชุมชนที่แข็งแกร่ง ทำให้เป็นตัวเลือกแรกสำหรับนักพัฒนา Ethereum จำนวนมาก
ในขณะที่ Solidity ได้รับความสนใจในการพัฒนา Ethereum แต่ภาษาทางเลือกที่เรียกว่า Vyper มอบมุมมองที่มีเอกลักษณ์และมีคุณค่า Vyper เป็นภาษา Pythonic ที่เน้นความปลอดภัยและขับเคลื่อนด้วยความเรียบง่าย ออกแบบมาเพื่อการเขียนสัญญาอัจฉริยะใน Ethereum แตกต่างจาก Solidity ตรงที่ Vyper เลือกที่จะสละคุณสมบัติบางอย่างเพื่อให้มั่นใจในความปลอดภัยที่สูงขึ้นและทำความเข้าใจสัญญาได้ง่ายขึ้น
แม้ว่า Solidity จะได้รับความนิยม แต่ความมุ่งมั่นของ Vyper ในเรื่องความปลอดภัยและความสามารถในการอ่านทำให้สิ่งนี้เป็นตัวเลือกที่น่าสนใจสำหรับนักพัฒนาจำนวนมาก มีไวยากรณ์ที่เข้าถึงได้ง่ายกว่าสำหรับผู้ที่คุ้นเคยกับ Python ทำให้เป็นจุดเริ่มต้นที่ดีสำหรับนักพัฒนา Python ที่ต้องการก้าวเข้าสู่โลกของ Ethereum dApps
เพื่อให้มีความเข้าใจที่ดีขึ้นเกี่ยวกับ Solidity และ Vyper เราจะเปรียบเทียบทั้งสองภาษาตามพารามิเตอร์ต่างๆ เช่น ไวยากรณ์ เส้นโค้งการเรียนรู้ ขนาดของอาร์เรย์และสตริง การสนับสนุนชุมชน การจัดการสัญญาและข้อผิดพลาด คำจำกัดความของตัวแปร การสร้างการประมูล ข้อมูลจำเพาะของฟังก์ชัน กระบวนการถอนตัว และการยกเลิกสัญญา
เนื่องจาก Solidity และ Vyper เป็นภาษาระดับสูง ไวยากรณ์จึงเรียบง่าย อย่างไรก็ตาม ไวยากรณ์ของ Solidity นั้นคล้ายกับภาษาที่ใช้กันอย่างแพร่หลาย เช่น C++ และ JavaScript มากกว่า ซึ่งอาจทำให้นักพัฒนาบางคนง่ายขึ้น ในทางกลับกัน Vyper นั้นคล้ายคลึงกับ Python โดยมีไวยากรณ์ที่ผู้ใช้ Python จดจำได้
เนื่องจาก Solidity เป็นภาษาที่ได้รับความนิยมมากกว่า จึงมีเอกสารและสื่อการเรียนรู้เพิ่มเติม ซึ่งอาจช่วยในกระบวนการเรียนรู้ได้ ในทางกลับกัน Vyper นั้นใหม่กว่าและมีสื่อการเรียนรู้น้อยกว่า ในทางกลับกัน รูปแบบที่เรียบง่ายกว่าและความคล้ายคลึงกับ Python ทำให้เป็นภาษาที่ง่ายต่อการเรียนรู้สำหรับนักพัฒนาที่คุ้นเคยกับ Python อยู่แล้ว
Solidity ให้การปรับขนาดสตริงและอาเรย์แบบไดนามิก ช่วยให้นักพัฒนาสามารถเปลี่ยนความยาวของสตริงได้ตามความต้องการ ในทางกลับกัน Vyper จะจำกัดขนาดของอาร์เรย์และสตริงเพื่อลดช่องโหว่ที่อาจเกิดขึ้นในสัญญาอัจฉริยะ
การใช้ Solidity อย่างแพร่หลายส่งผลให้ชุมชนนักพัฒนา ผู้เชี่ยวชาญ และผู้สนใจมีความเจริญรุ่งเรือง Vyper เป็นภาษาใหม่ไม่มีชุมชนขนาดใหญ่ แต่เมื่อดำเนินไป การสนับสนุนจากชุมชนก็มีแนวโน้มที่จะเพิ่มขึ้น
Contracts in Solidity สามารถกำหนดได้โดยใช้เครื่องมือเช่น Brownie และ VSCode เมื่อสร้างสัญญา Vyper เพียงต้องการเวอร์ชันของ Vyper ที่ใช้ในการระบุ นอกจากนี้ Vyper ยังเปิดใช้งานการตรวจจับการพิมพ์ผิดทันที ซึ่งทำให้การดีบักง่ายขึ้น ในขณะที่ Solidity จำเป็นต้องรวบรวมสัญญาก่อนที่จะตรวจพบข้อผิดพลาด
คำจำกัดความของตัวแปรใน Vyper นั้นเรียบง่ายและชวนให้นึกถึงภาษาการเขียนโปรแกรมระดับสูง ในทางกลับกัน Solidity ใช้วิธีการที่ซับซ้อนกว่าในการประกาศตัวแปร นอกจากนี้ Solidity ยังจำเป็นต้องใช้เซมิโคลอน ซึ่งจะเพิ่มความซับซ้อนอีกชั้นหนึ่ง
การสร้างการประมูลใน Vyper เป็นกระบวนการง่ายๆ อนุญาตให้ช่างตกแต่งภายนอกอนุญาตให้สัญญาอื่นเรียกได้ ในทางกลับกัน ความมั่นคงจำเป็นต้องมีการจัดการที่ซับซ้อนมากขึ้น รวมถึงคำจำกัดความข้อผิดพลาดที่อาจเกิดขึ้นและการใช้คำสั่ง 'if'
ฟังก์ชั่น Vyper สามารถตกแต่งด้วยมัณฑนากรภายนอกเพื่อให้สามารถรับชำระเงินสำหรับการทำธุรกรรมได้ ในทางกลับกัน ความแข็งแกร่งจำเป็นต้องผ่านส่วนภายนอกและส่วนที่ต้องชำระภายในฟังก์ชัน นอกจากนี้ Solidity ยังใช้คำสั่ง 'if' ในขณะที่ Vyper ใช้คำสั่ง 'assert'
ตรงกันข้ามกับ Solidity กระบวนการถอนเงินใน Vyper นั้นง่ายกว่า ความแข็งแกร่งจำเป็นต้องกำหนดจำนวนและสร้างคำสั่ง 'if' ในขณะที่ Vyper ใช้วิธีการที่ตรงไปตรงมามากกว่า
Vyper ตรวจสอบเวลาด้วย 'assert' แต่ Solidity ต้องใช้คำสั่ง 'if' ก่อนที่จะตั้งค่าตัวแปรสิ้นสุดเป็น "True" นอกจากนี้ Solidity ยังแตกต่างจาก Vyper ตรงที่เรียกร้องให้มีการสิ้นสุดการประมูลและการโอนเงินสด
ก่อนที่คุณจะเริ่มเขียนโค้ดใน Vyper ได้ คุณต้องแน่ใจว่าคอมพิวเตอร์ของคุณพร้อมสำหรับการพัฒนาก่อน นี่คือสิ่งที่คุณต้องทำ:
ติดตั้ง Python: Vyper ต้องใช้ Python 3.6 หรือสูงกว่า คุณสามารถดาวน์โหลด Python ได้จาก เว็บไซต์ อย่างเป็นทางการ ทำตามคำแนะนำเพื่อติดตั้งลงในเครื่องของคุณ คุณสามารถตรวจสอบการติดตั้งได้โดยพิมพ์python --version
ในเทอร์มินัลของคุณ คุณควรเห็นเวอร์ชัน Python ที่คุณติดตั้งเป็นเอาต์พุต
ติดตั้ง Pip: Pip เป็นตัวจัดการแพ็คเกจสำหรับ Python ใช้เพื่อติดตั้งและจัดการแพ็คเกจเพิ่มเติมที่ไม่ได้เป็นส่วนหนึ่งของไลบรารีมาตรฐาน Python Pip ควรได้รับการติดตั้งโดยอัตโนมัติเมื่อคุณติดตั้ง Python คุณสามารถตรวจสอบการติดตั้งได้โดยพิมพ์ pip --version
ในเทอร์มินัลของคุณ หากไม่ได้ติดตั้ง คุณสามารถดาวน์โหลดได้จากเว็บไซต์ทางการของ Pip และทำตามคำแนะนำที่นั่น
เมื่อสภาพแวดล้อมของคุณพร้อมแล้ว คุณสามารถติดตั้ง Vyper ได้ เปิดเทอร์มินัลของคุณและรันคำสั่งต่อไปนี้:
Python
pip3 ติดตั้ง vyper
คุณจะเห็นว่าในตอนท้ายของโค้ด Terminal จะแนะนำให้เราอัปเดต pip โดยพิมพ์คำสั่ง:
Python
python.exe -m pip ติดตั้ง --อัพเกรด pip
รันคำสั่งนี้เพื่อให้แน่ใจว่ามี pip เวอร์ชันล่าสุด คุณควรเห็นข้อความเช่นนี้หลังจากติดตั้งเวอร์ชันที่อัปเดตแล้ว
หลังจากการติดตั้งเสร็จสมบูรณ์ คุณสามารถตรวจสอบเวอร์ชันของ Vyper ได้โดยการเรียกใช้ vyper --version
คุณควรเห็นเวอร์ชัน Vyper ที่คุณติดตั้งเป็นเอาต์พุต
แม้ว่าคุณจะสามารถเขียนโค้ด Vyper ในโปรแกรมแก้ไขข้อความใดก็ได้ แต่การใช้สภาพแวดล้อมการพัฒนาแบบรวม (IDE) จะทำให้งานของคุณง่ายขึ้นมาก นี่คือสองตัวเลือกสำหรับคุณ:
Remix: Remix เป็น IDE บนเบราว์เซอร์ที่จัดทำโดย Ethereum รองรับทั้ง Solidity และ Vyper และนำเสนอฟีเจอร์ต่างๆ เช่น คอมไพเลอร์ในตัว ดีบักเกอร์ที่แข็งแกร่ง และสภาพแวดล้อมการทดสอบ คุณสามารถเริ่มใช้ Remix ได้โดยไปที่เว็บไซต์ทางการของ Remix ไม่จำเป็นต้องติดตั้ง (เราจะใช้ตัวเลือกนี้ในระหว่างหลักสูตรของเรา)
บราวนี่: บราวนี่เป็นสภาพแวดล้อมการพัฒนาที่ใช้ Python และกรอบการทดสอบสำหรับ Ethereum รองรับทั้ง Solidity และ Vyper ข้อได้เปรียบที่สำคัญประการหนึ่งของ Brownie คือช่วยให้คุณสามารถเขียนการทดสอบด้วย Python ซึ่งเป็นภาษาที่นักพัฒนาหลายคนคุ้นเคยอยู่แล้ว หากต้องการติดตั้ง Brownie ให้เปิดเทอร์มินัลแล้วเรียกใช้ pip3 install eth-brownie
การดำเนินการนี้จะต้องใช้เวลาสักครู่ และจะมีการติดตั้งไลบรารีและแพ็คเกจจำนวนมาก