ทรัฟเฟิลสวีทคืออะไร? คุณสมบัติ วิธีการติดตั้ง วิธีรัน Smart Contracts
เผยแพร่แล้ว: 2020-03-24ในช่วงแรกๆ เมื่อ Blockchain เพิ่งเริ่มเข้าสู่โดเมนเทคโนโลยีหลัก คุณต้องพัฒนา Smart Contracts โดยใช้ภาษาโปรแกรม Solidity และปรับใช้โดยเรียกฟังก์ชัน geth หรือ solc
เพื่อให้กระบวนการนี้ง่ายขึ้นเล็กน้อย คุณต้องเขียนสคริปต์ทุบตีที่จะคอมไพล์ก่อนแล้วจึงปรับใช้สัญญา ถึงตอนนี้ แม้ว่าวิธีหลังจะดีกว่าแบบเดิม แต่ก็ค่อนข้างเป็นพื้นฐาน เนื่องจากการเขียนสคริปต์ทุบตีมักจะทำให้ขาดมาตรฐาน
ความจำเป็นในการสร้างกรอบการพัฒนาและการทดสอบที่ราบรื่นและเหมาะสมที่สุดสำหรับ Blockchain Smart Contracts คือสิ่งที่ให้กำเนิด Truffle Etheruem
เรียนรู้หลักสูตรวิศวกรรมซอฟต์แวร์ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม Executive PG โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
สารบัญ
ทรัฟเฟิลสวีทคืออะไร?
ตาม Truffle Suite Truffle เป็น “สภาพแวดล้อมการพัฒนาระดับโลก กรอบการทดสอบ และท่อส่งทรัพย์สินสำหรับบล็อคเชนโดยใช้ Ethereum Virtual Machine (EVM) โดยมีเป้าหมายเพื่อทำให้ชีวิตในฐานะนักพัฒนาง่ายขึ้น”
กล่าวง่ายๆ ว่าทรัฟเฟิลคือสภาพแวดล้อมการพัฒนา เฟรมเวิร์กการทดสอบ และไปป์ไลน์สินทรัพย์ทั้งหมดรวมกันเป็นหนึ่งเดียว มันขึ้นอยู่กับ Ethereum Blockchain และออกแบบมาเพื่ออำนวยความสะดวกในการพัฒนา DApps (แอพพลิเคชั่นแบบกระจาย) ที่ราบรื่นและราบรื่น ด้วย Truffle คุณสามารถรวบรวมและปรับใช้ Smart Contracts แทรกลงในเว็บแอป และพัฒนาส่วนหน้าสำหรับ DApps วันนี้ Truffle เป็นหนึ่งใน IDE ที่ใช้กันอย่างแพร่หลายมากที่สุดสำหรับ Ethereum Blockchain

Truffle Suite ประกอบด้วยองค์ประกอบหลักสามประการ:
- Truffle – สภาพแวดล้อมการพัฒนาจริงที่รวมการรวบรวม การทดสอบ และการใช้งาน Smart Contracts
- Ganache - เป็นโปรแกรมจำลอง Blockchain ที่ติดตั้งในเครื่อง Ganache มีส่วนติดต่อผู้ใช้แบบกราฟิกที่สามารถจำลองเครือข่าย Blockchain และทดสอบสัญญาอัจฉริยะแบบสดโดยที่คุณไม่ต้องตั้งค่าเครือข่ายทดสอบจริงหรือใช้กับเครือข่ายระยะไกล
- Drizzle – เป็นไลบรารีส่วนหน้าที่มีส่วนประกอบที่เป็นประโยชน์สำหรับการพัฒนาเว็บแอปพลิเคชันที่สามารถเชื่อมต่อกับ Smart Contracts ได้อย่างราบรื่น
อ่าน: วิธีการเป็นนักพัฒนาบล็อกเชน – คู่มือสำหรับผู้เริ่มต้น
คุณสมบัติของทรัฟเฟิลคืออะไร?
คุณสมบัติที่ทำให้ Truffle Etheruem เป็นหนึ่งใน IDE ที่ใช้กันอย่างแพร่หลายมากที่สุดสำหรับ Ethereum Blockchain คือ:
- มีการสนับสนุนในตัวสำหรับการคอมไพล์ การปรับใช้ และการเชื่อมโยง Smart Contracts
- อนุญาตให้ทำการทดสอบสัญญาอัตโนมัติกับ Mocha และ Chai
- Truffle Console ช่วยให้คุณสามารถทำงานกับสัญญาที่รวบรวมไว้ได้ในลักษณะที่ไม่ยุ่งยาก
- มีไปป์ไลน์บิลด์ที่กำหนดค่าได้ซึ่งรองรับทั้งแอปคอนโซลและเว็บแอป
- มาพร้อมกับการสนับสนุน JavaScript, CoffeeScript, SASS, ES6 และ JSX ในตัว
- มีเครื่องกำเนิดไฟฟ้าที่ช่วยในการสร้างสัญญาและการทดสอบใหม่ (เช่น สร้างราง)
- มีตัวเรียกใช้สคริปต์ที่ให้คุณเรียกใช้ไฟล์ JS/Coffee รวมถึง Smart Contracts ของคุณ
- ช่วยให้สามารถสร้างสินทรัพย์ขึ้นใหม่ได้ทันทีในระหว่างขั้นตอนการพัฒนา
- เปิดใช้งานการรวบรวมสัญญาและการปรับใช้โดยใช้ตัวเลือกไคลเอนต์ RPC ที่คุณต้องการ
- รองรับทั้งการจัดการเครือข่ายและแพ็คเกจ
จะติดตั้ง Truffle Ethereum ได้อย่างไร?
คุณสามารถติดตั้ง Truffle Ethereum ได้โดยใช้ Node Package Manager (npm) ขั้นแรก คุณต้อง ตั้งค่า NPM บนคอมพิวเตอร์ของคุณ แล้วติดตั้ง Truffle ในการทำเช่นนั้น คุณต้องเปิดเทอร์มินัลแล้วพิมพ์ดังต่อไปนี้:
npm install -g ทรัฟเฟิล
อย่างไรก็ตาม ในเครื่อง Linux คุณอาจต้องเพิ่มคำนำหน้า “sudo” ในคำสั่งด้านบน เมื่อคุณติดตั้ง Truffle framework แล้ว อย่าลืมดาวน์โหลดและติดตั้งโปรแกรมจำลอง Ganache blockchain คุณสามารถเยี่ยมชม เว็บไซต์ทางการของ Ganache ได้ ซึ่งมีตัวติดตั้งสำหรับแพลตฟอร์มยอดนิยมส่วนใหญ่
เมื่อคุณติดตั้ง Truffle สำเร็จแล้ว คุณสามารถเริ่มโครงการ Truffle ได้สองวิธี ในการสร้างโครงการเปล่า คุณสามารถพิมพ์คำสั่งต่อไปนี้:
เห็ดทรัฟเฟิล
อย่างไรก็ตาม คุณยังสามารถใช้คำสั่ง Truffle unbox เพื่อสร้างโครงการด้วยรหัสที่มีอยู่ ตัวอย่างเช่น คุณสามารถสร้างโทเค็นได้ดังนี้:
ทรัฟเฟิลแกะกล่อง metacoin
ในการรันคำสั่งนี้ โครงการจะถูกสร้างขึ้นจากกล่องทรัฟเฟิล คุณสามารถหา กล่องทรัฟเฟิล ได้มากมาย บนเว็บไซต์ทางการ ประกอบด้วยรหัสต้นแบบและการกำหนดค่าที่จำเป็นทั้งหมดสำหรับโครงการก่อสร้างและเปิดใช้ได้อย่างรวดเร็ว
โครงสร้างโครงการเห็ดทรัฟเฟิล
โฟลเดอร์ Truffle ที่คุณสร้างจะมีลักษณะดังนี้:
├── สัญญา
│ ├── ConvertLib.sol
│ ├── MetaCoin.sol
│ └── Migrations.sol
├── การอพยพ
│ ├── 1_initial_migration.js
│ └── 2_deploy_contracts.js
├── ทดสอบ
│ ├── TestMetacoin.sol
│ └── metacoin.js
├── ทรัฟเฟิล-config.js
└── ทรัฟเฟิล.js
ตอนนี้ เราจะพูดถึงรายละเอียดเกี่ยวกับโฟลเดอร์ย่อยต่างๆ ที่อยู่ในโฟลเดอร์ Truffle ของคุณ
โฟลเดอร์สัญญา
โฟลเดอร์ Contracts เป็นโฟลเดอร์ที่จัดเก็บ Smart Contracts ทั้งหมดของคุณ ในโฟลเดอร์นี้ ยังมีไฟล์พิเศษที่เรียกว่าไฟล์ Migrations.sol โดยปกติ เมื่อทรัฟเฟิลรวบรวมโครงการของคุณ โปรแกรมจะเรียกดูโฟลเดอร์สัญญาเพื่อรวบรวมไฟล์ที่เข้ากันได้ทั้งหมด
โฟลเดอร์การย้ายข้อมูล
Truffle Migration หมายถึงสคริปต์ที่กำหนดวิธีการใช้งาน Smart Contracts ของคุณกับ Ethereum Blockchain การโยกย้ายมีความสำคัญเนื่องจากโครงการของคุณมีความซับซ้อนมากขึ้น ความซับซ้อนของการปรับใช้ของคุณก็เพิ่มขึ้นเช่นกัน ขอบคุณ Truffle Migrations คุณสามารถทำให้กระบวนการปรับใช้ Smart Contracts เป็นไปโดยอัตโนมัติในลักษณะที่ต่อเนื่องกัน

หากคุณมองย้อนกลับไปที่โครงสร้างโฟลเดอร์ Truffle คุณจะเห็นไฟล์ ชื่อ 1_initial_migration.js ไฟล์นี้ปรับใช้สัญญา Migrations.sol กับ Ethereum Blockchain
การย้ายถิ่นช่วยให้คุณ:
- กำหนดขีดจำกัดก๊าซสูงสุดสำหรับการใช้งาน
- แก้ไขหรือเปลี่ยนจากที่อยู่ของการปรับใช้
- เรียกใช้ฟังก์ชันสัญญาโดยพลการ
- ปรับใช้ไลบรารี
โฟลเดอร์ทดสอบ
เมื่อพูดถึง Smart Contracts การทดสอบเป็นสิ่งจำเป็น! โชคดีที่ Truffle มีเฟรมเวิร์กการทดสอบในตัวที่ให้คุณเขียนการทดสอบใน Solidity หรือ JavaScript หากคุณเขียนการทดสอบใน Solidity คุณต้องนำเข้า Smart Contracts เข้าสู่การทดสอบด้วยคำสั่งการนำเข้า Solidity เช่น:
นำเข้า “../contracts/MetaCoin.sol”;
อย่างไรก็ตาม หากคุณกำลังเขียนการทดสอบใน JavaScript คุณต้องนำเข้าโดยใช้ฟังก์ชันตัว ช่วย artifacts.require() เช่น:
var MetaCoin = artifacts.require(“./MetaCoin.sol”);
ไฟล์กำหนดค่า
ไฟล์การกำหนดค่า หรือที่เรียกว่า truffle.js หรือ truffle-config.js กำหนดวิธีที่ Truffle สามารถเชื่อมต่อกับเครือข่าย Ethereum พร้อมกับสิ่งต่อไปนี้:
- สภาพแวดล้อม – ช่วยให้คุณสามารถกำหนดที่อยู่ของบันทึกย่อ geth, network_id, ขีดจำกัดก๊าซสูงสุดสำหรับการปรับใช้ และราคาก๊าซที่คุณยินดีจ่าย
- โครงสร้างโครงการ – คุณสามารถเปลี่ยนตำแหน่งที่สร้างและจัดเก็บไฟล์ได้
- เวอร์ชันและการตั้งค่าของคอมไพเลอร์ – คุณสามารถแก้ไขเวอร์ชัน solc และตั้งค่าพารามิเตอร์ -O (การเพิ่มประสิทธิภาพ) ได้
- การจัดการแพ็คเกจ – ทรัฟเฟิลเข้ากันได้กับ EthPM (Ethereum Package Manager) คุณสามารถตั้งค่าการพึ่งพา EthPM สำหรับโครงการ Truffle ของคุณได้
- คำอธิบายโครงการ – ระบุว่าใครเป็นผู้พัฒนาโครงการ ระบุชื่อโครงการ ที่อยู่ติดต่อ และอื่นๆ
อ่านเพิ่มเติม: แนวคิดโครงการบล็อคเชนสำหรับผู้เริ่มต้น
จะเรียกใช้สัญญาอัจฉริยะได้อย่างไร
ต่อไปนี้คือวิธีต่างๆ ในการรัน Smart Contracts -
- สำหรับการรวบรวม Smart Contracts คุณต้องเรียกใช้รหัสต่อไปนี้:
ทรัฟเฟิลคอมไพล์
- สำหรับการย้ายข้อมูล คุณต้องใช้รหัสต่อไปนี้:
ทรัฟเฟิลอพยพ
คุณยังสามารถทำได้โดยกล่าวถึงสภาพแวดล้อมเฉพาะ:
ทรัฟเฟิลอพยพ – เครือข่ายสด

- สำหรับการทดสอบ Smart Contracts คุณสามารถเรียกใช้รหัสต่อไปนี้:
ทดสอบทรัฟเฟิล
คุณยังสามารถเรียกใช้การทดสอบเฉพาะโดยใช้รหัสต่อไปนี้:
ทดสอบทรัฟเฟิล ./path/to/FileTest.sol
ในโพสต์นี้ เรามุ่งที่จะให้แนวคิดพื้นฐานของ Truffle Etheruem แก่คุณและวิธีทำงานของ Truffle Truffle เป็นเครื่องมือที่ทรงพลังที่ทำให้การพัฒนา DApps และ Smart Contracts สะดวกยิ่งขึ้น โดยนำแนวทางการพัฒนามาตรฐานมาสู่ภาพ Blockchain
ห่อ
มีอาชีพเพิ่มขึ้นในเทคโนโลยี blockchain และ blockchain ได้เปลี่ยนโฉมหน้าของอุตสาหกรรมเทคโนโลยีอย่างมากตลอดไป หากคุณสนใจที่จะเป็นนักพัฒนาบล็อกเชนและสร้างสัญญาอัจฉริยะและรหัสลูกโซ่ ให้ชำระเงิน โปรแกรมใบรับรองขั้นสูง IIIT-B & upGrad ในเทคโนโลยี บล็อกเชน
Vyper บน Ethereum คืออะไร?
Vyper เป็นภาษาการเขียนโปรแกรม pythonic เชิงสัญญาที่เน้นการพิมพ์ทางสถิติซึ่งกำหนดเป้าหมายไปยัง Ethereum Virtual World ได้รับการออกแบบให้มีการปรับปรุงเหนือความเป็นปึกแผ่น หลักการและเป้าหมายหลักของ Vyper คือความปลอดภัย ภาษาและความเรียบง่ายของคอมไพเลอร์ และความสามารถในการตรวจสอบ Vyper เป็นภาษาที่มีการพิมพ์สูง ดังนั้นจึงไม่อนุญาตให้ใช้ข้อมูลประเภทหนึ่งเป็นอีกประเภทหนึ่ง มันมาพร้อมกับคุณสมบัติเพิ่มเติมมากมาย เช่น การตรวจสอบขอบเขตและโอเวอร์โฟลว์ การพิมพ์ที่รัดกุม ด้านคอมไพเลอร์ขนาดเล็กและเข้าใจได้ การสนับสนุนอย่างจำกัดสำหรับฟังก์ชันบริสุทธิ์ รองรับจำนวนเต็มที่ลงนามและตัวเลขจุดคงที่ทศนิยม และความสามารถในการตัดสินใจ นอกจากนี้ยังมีไวยากรณ์ที่เรียบง่ายซึ่งทำให้นักพัฒนาไม่สามารถเขียนโค้ดโปรแกรมที่คลุมเครือได้
ข้อเสียของสัญญาอัจฉริยะคืออะไร?
สัญญาที่ชาญฉลาด แม้ว่าจะมีการใช้งานมากมายและความนิยมในวงกว้างขึ้น แต่ก็มีข้อจำกัดมากมาย มีข้อบังคับทางกฎหมายที่มั่งคั่งสำหรับการบังคับใช้สัญญาอัจฉริยะ ซึ่งทำให้มีแนวโน้มที่จะถูกโจมตีทางไซเบอร์มากขึ้น การเปลี่ยนกระบวนการสัญญาอัจฉริยะแทบจะเป็นไปไม่ได้เลย เนื่องจากข้อผิดพลาดของโค้ดใช้เวลานานและต้องเสียค่าใช้จ่ายในการแก้ไข แม้ว่าการมีส่วนร่วมของบุคคลที่สามจะลดลงอย่างมาก แต่ก็ไม่สามารถกำจัดได้อย่างสมบูรณ์ ตัวอย่างเช่น นักพัฒนาซอฟต์แวร์ต้องการทนายความเพื่อทำความเข้าใจเงื่อนไขในการสร้างรหัสสำหรับสัญญาอัจฉริยะ สัญญาอัจฉริยะยังต้องพึ่งพาโปรแกรมเมอร์และการเปิดรับข้อบกพร่องซึ่งเป็นข้อเสียที่สำคัญ
การจัดการเครือข่ายและแพ็คเกจในบล็อคเชนคืออะไร?
ตัวจัดการแพ็คเกจช่วยให้คุณทำการติดตั้ง การอัพเดต การกำหนดค่า และการนำแอปพลิเคชันออกโดยอัตโนมัติ ใช้ในระบบปฏิบัติการและสภาพแวดล้อมการเขียนโปรแกรมและช่วยหลีกเลี่ยงการพึ่งพานรก หน้าที่หลักของตัวจัดการแพ็คเกจ ได้แก่ การรับรองความถูกต้องของแพ็คเกจ การดาวน์โหลดซอฟต์แวร์จากที่เก็บออนไลน์ การอัปเดตซอฟต์แวร์ที่มีอยู่ ฯลฯ ตัวจัดการแพ็คเกจมีหลายประเภท แพ็คเกจไบนารี แพ็คเกจที่ใช้ซอร์สโค้ด ระบบไฮบริด ตัวจัดการแพ็คเกจเมตา แอปพลิเคชัน ผู้จัดการตามฐาน ฯลฯ นอกจากนี้ยังมีตัวจัดการแพ็คเกจที่เกี่ยวข้องกับบล็อคเชนอีกด้วย หนึ่งในผู้จัดการดังกล่าวคือผู้จัดการแพ็คเกจโหนด NPM คือรีจิสตรีซอฟต์แวร์ที่ใหญ่ที่สุดในโลกที่ช่วยให้บุคคลสามารถใช้ทรัพยากรที่ใช้ร่วมกันผ่านที่เก็บโอเพ่นซอร์สได้
