ในปัจจุบัน โซลูชันสำหรับการทดสอบและการเปรียบเทียบบล็อคเชนได้รับการปรับแต่งให้เหมาะกับบล็อคเชนเฉพาะหรือทางแยกของมัน แต่ยังมีโซลูชันทั่วไปอีกมากมายที่แตกต่างกันในด้านฟังก์ชันการทำงาน: บางโซลูชันเป็นโครงการโอเพ่นซอร์ส ส่วนโซลูชันอื่น ๆ จัดทำเป็น SaaS แต่ส่วนใหญ่เป็นโซลูชันภายในที่สร้างขึ้นโดยทีมพัฒนาบล็อกเชน อย่างไรก็ตาม พวกเขาทั้งหมดสามารถแก้ไขปัญหาที่คล้ายกันได้ ในบทความนี้ ฉันพยายามทบทวนผลิตภัณฑ์หลายอย่างที่ออกแบบมาเพื่อการทดสอบบล็อกเชนโดยเฉพาะ
การทำงานของเครือข่ายบล็อกเชนคล้ายคลึงกับการทำงานของฐานข้อมูลแบบกระจาย ดังนั้นจึงสามารถใช้เครื่องมือและวิธีการที่คล้ายกันในการทดสอบได้ เพื่อให้เข้าใจได้ดียิ่งขึ้นถึงวิธีทดสอบฐานข้อมูลแบบกระจาย โปรดดูแหล่งข้อมูลและบทความดีๆ ที่คัดสรรมา
ฉันจะอธิบายโซลูชันยอดนิยมหลายประการสำหรับการทดสอบและเปรียบเทียบบล็อกเชน ฉันจะดีใจถ้าในความคิดเห็นที่คุณอธิบายผลิตภัณฑ์ซอฟต์แวร์ที่มีประโยชน์อื่น ๆ สำหรับการแก้ปัญหาเดียวกัน
ฉันจะเริ่มต้นด้วยเครื่องมือที่แม้ว่าจะไม่ได้สร้างขึ้นสำหรับบล็อกเชนโดยเฉพาะ แต่ก็ช่วยให้คุณสามารถทดสอบการทำงานของมันได้อย่างมีประสิทธิภาพ โดยมีเงื่อนไขว่ามีเครือข่ายที่ทำงานอยู่แล้วซึ่งคุณสามารถทดลองได้ ปัจจัยที่สำคัญที่สุดในความน่าเชื่อถือของระบบแบบกระจายคือความสามารถในการทำงานต่อไปในกรณีที่เกิดปัญหากับเซิร์ฟเวอร์และเครือข่าย นี่อาจเป็นความล่าช้าของเครือข่าย ความเต็มของดิสก์ บริการภายนอก (DNS) ไม่พร้อมใช้งาน ความล้มเหลวของฮาร์ดแวร์ และเหตุผลอื่นๆ อีกหลายร้อยประการ คุณสามารถใช้เพื่อตรวจสอบความเสถียรของระบบใด ๆ ที่ทำงานพร้อมกันบนเครื่องระบบจำนวนมาก
Gremlin ใช้เอเจนต์เครือข่ายของตัวเองสร้างปัญหาหลายประเภทในจำนวนเครื่องที่ต้องการ: เครือข่ายล่าช้า การโอเวอร์โหลดทรัพยากรใดๆ (CPU, ดิสก์, หน่วยความจำ, เครือข่าย), ปิดการใช้งานแต่ละโปรโตคอล ฯลฯ สำหรับบล็อกเชน สามารถใช้ Gremlin บนเซิร์ฟเวอร์ทดสอบเน็ต จำลองปัญหาในชีวิตจริง และสังเกตพฤติกรรมของเครือข่าย ด้วยเครื่องมือนี้ นักพัฒนาและผู้ดูแลระบบสามารถสังเกตในสภาพแวดล้อมที่มีการควบคุมว่าจะเกิดอะไรขึ้นหากระบบล่มหรือเมื่อมีการอัปเดตโค้ด ในกรณีนี้ เครือข่ายจะต้องได้รับการกำหนดค่าและใช้งานล่วงหน้า รวมถึงกำหนดค่าให้รวบรวมตัวชี้วัดที่จำเป็น
Gremlin เป็นเครื่องมือที่สะดวกสำหรับสถาปนิก นักพัฒนาซอฟต์แวร์ และผู้เชี่ยวชาญด้านความปลอดภัย และเป็นโซลูชันสากลสำหรับการทดสอบระบบแบบกระจายทั้งแบบสำเร็จรูปและที่ทำงานอยู่ รวมถึงบล็อกเชน
Hyperledger Caliper เป็นโซลูชันที่พิเศษกว่ามาก
เมื่อใช้ Caliper คุณสามารถตั้งค่าโทโพโลยีของเครือข่ายบล็อกเชนและสัญญาสำหรับการทดสอบ รวมทั้งอธิบายการกำหนดค่าของโหนดได้ โหนดบล็อคเชนถูกยกขึ้นในคอนเทนเนอร์นักเทียบท่าบนเครื่องเดียว จากนั้นคุณสามารถเลือกสิ่งที่จำเป็นได้
Hyperledger Caliper เป็นเครื่องมือที่มุ่งเป้าไปที่นักพัฒนาและสถาปนิกระบบ เนื่องจากให้ความสามารถในการทำซ้ำการทดสอบและการทดสอบและการวัดประสิทธิภาพแบบอัตโนมัติ มันถูกใช้ในการพัฒนาแกนหลักของบล็อกเชน: อัลกอริธึมที่เป็นเอกฉันท์, เครื่องเสมือนสำหรับการประมวลผลสัญญาอัจฉริยะ, เลเยอร์แบบเพียร์ทูเพียร์ และกลไกของระบบอื่น ๆ
MixBytes Tank ใช้บริการคลาวด์หลายอย่าง (Digital Ocean, Google Cloud Engine ฯลฯ) ซึ่งสามารถเปิดใช้งานโหนดจำนวนมาก ดำเนินขั้นตอนการกำหนดค่าเบื้องต้น รันการวัดประสิทธิภาพหลายรายการพร้อมกันบนเครื่องที่แตกต่างกัน รวบรวมตัวชี้วัดที่จำเป็น และปิดระบบโดยอัตโนมัติ เครือข่าย
MixBytes Tank ช่วยให้คุณประหยัดเงินบนเซิร์ฟเวอร์คลาวด์โดยการลดทรัพยากรที่ไม่จำเป็นให้เหลือน้อยที่สุดโดยอัตโนมัติหลังการทดสอบ คุณสมบัติที่โดดเด่นอีกประการหนึ่งคือการใช้แพ็คเกจ Molecule ซึ่งช่วยให้นักพัฒนาสามารถทดสอบการใช้งานบล็อกเชนที่ต้องการภายในเครื่องได้
MixBytes Tank ช่วยให้คุณตรวจพบคอขวดและข้อผิดพลาดในอัลกอริทึมที่เกิดขึ้นในเครือข่ายจริงได้ตั้งแต่เนิ่นๆ โดยมีเซิร์ฟเวอร์และไคลเอนต์ที่กระจายตามพื้นที่จำนวนมาก ถังจะช่วยให้คุณเข้าใจว่าจะเกิดอะไรขึ้นบนโหนดหากลูกค้าส่งธุรกรรมด้วย tps ที่กำหนดในเงื่อนไขที่สามารถทำซ้ำได้สูงและมีจำนวนโหนดจริงที่กระจายไปทั่วทวีปต่างๆ หากจำเป็น
Whiteblock Genesis เป็นแพลตฟอร์มทดสอบสำหรับบล็อกเชนที่ใช้ Ethereum เครื่องมือนี้มีฟังก์ชันการทำงานที่ค่อนข้างกว้าง: ช่วยให้คุณสามารถเปิดใช้งานเครือข่าย, สร้างบัญชีตามจำนวนที่ต้องการ, เพิ่มจำนวนไคลเอ็นต์ที่ต้องการ, กำหนดค่าโทโพโลยีเครือข่าย, ระบุพารามิเตอร์แบนด์วิดท์และ packetloss และทำการทดสอบ
Whiteblock Genesis มีสิ่งอำนวยความสะดวกในการทดสอบของตนเอง นักพัฒนาเพียงแค่ต้องระบุพารามิเตอร์การทดสอบ รันโดยใช้ API สำเร็จรูป และรับผลลัพธ์โดยใช้แดชบอร์ดที่สะดวกสบาย
Whiteblock Genesis ช่วยให้คุณสามารถกำหนดค่าการทดสอบที่มีรายละเอียดพอสมควรซึ่งแพลตฟอร์มจะดำเนินการโดยอัตโนมัติสำหรับการเปลี่ยนแปลงโค้ดที่สำคัญทุกครั้ง ซึ่งจะช่วยให้คุณสามารถตรวจจับข้อผิดพลาดได้ตั้งแต่ระยะเริ่มต้น และประเมินผลกระทบของการเปลี่ยนแปลงในพารามิเตอร์เครือข่ายที่สำคัญได้ทันที เช่น ความเร็วของธุรกรรมและทรัพยากรที่ใช้โดยโหนด
แมตต์
ผลิตภัณฑ์ใหม่ที่น่าสนใจอีกอย่างหนึ่งสำหรับการทดสอบระบบแบบกระจายคือ
Madt เพิ่งปรากฏตัวเมื่อไม่นานมานี้ แต่ด้วยสถาปัตยกรรมที่ยืดหยุ่นมาก จึงสามารถพัฒนาเป็นผลิตภัณฑ์ที่ใช้งานได้จริง
โซลูชั่นอื่นๆ
การทดสอบส่วนระบบของบล็อคเชนเกือบทั้งหมดจำเป็นต้องมีการรันสคริปต์เบื้องต้น การจัดเตรียมบัญชีและเงื่อนไขสำหรับการทดสอบ (ซึ่งอาจเป็นการทดสอบข้อผิดพลาดที่เป็นเอกฉันท์ที่สามารถสร้างการ fork of chains จำนวนมาก การทดสอบสถานการณ์การ hard fork การเปลี่ยนแปลงพารามิเตอร์ของระบบ เป็นต้น) การจัดการทั้งหมดนี้ดำเนินการแตกต่างกันในบล็อกเชนที่แตกต่างกัน ดังนั้นจึงเป็นเรื่องง่ายสำหรับทีมที่จะค่อยๆ ปรับการทดสอบผลิตภัณฑ์และการเปรียบเทียบมาตรฐานกับ CI/CD ภายใน และใช้การพัฒนาของตนเอง ซึ่งจะค่อยๆ ซับซ้อนมากขึ้นเมื่อฟังก์ชันการทำงานของบล็อกเชนพัฒนาขึ้น
อย่างไรก็ตาม การใช้โซลูชันสำเร็จรูปสามารถลดเวลาการทดสอบสำหรับทีมเหล่านี้ได้อย่างมาก ดังนั้นฉันคิดว่าซอฟต์แวร์นี้จะได้รับการพัฒนาอย่างแข็งขันในปีต่อๆ ไป
ข้อสรุป
เพื่อสรุปการทบทวนสั้นๆ นี้ ฉันจะแสดงรายการคุณลักษณะที่สำคัญหลายประการของเครื่องมือทดสอบบล็อคเชน:
- ความสามารถในการปรับใช้เครือข่ายบล็อกเชนโดยอัตโนมัติภายใต้เงื่อนไขที่ทำซ้ำได้ ปัจจัยนี้มีความสำคัญในการพัฒนาส่วนต่างๆ ของระบบของบล็อกเชน: อัลกอริธึมที่เป็นเอกฉันท์, ขั้นสุดท้าย, สัญญาอัจฉริยะของระบบ
- ค่าใช้จ่ายในการเป็นเจ้าของระบบ ทรัพยากรที่ใช้ และความสะดวกในการใช้งานอย่างต่อเนื่อง ปัจจัยนี้ทำให้โครงการได้รับการทดสอบคุณภาพสูงด้วยเงินเพียงเล็กน้อย
- ความยืดหยุ่นและความเรียบง่ายของการกำหนดค่าการทดสอบ ปัจจัยนี้เพิ่มโอกาสในการระบุปัญหาของระบบ - มีโอกาสน้อยที่จะพลาดบางสิ่งที่สำคัญ
- การปรับแต่งสำหรับบล็อกเชนประเภทเฉพาะ การพัฒนาโซลูชันจากโซลูชันที่มีอยู่สามารถปรับปรุงคุณภาพและลดต้นทุนด้านเวลาได้อย่างมาก
- ความสะดวกและการเข้าถึงผลลัพธ์ที่ได้รับและประเภทของผลลัพธ์ (รายงาน ตัวชี้วัด กราฟ บันทึก ฯลฯ) นี่เป็นสิ่งจำเป็นอย่างยิ่งหากคุณต้องการติดตามประวัติการพัฒนาผลิตภัณฑ์ หรือหากคุณต้องการการวิเคราะห์เชิงลึกเกี่ยวกับพฤติกรรมของเครือข่ายบล็อกเชน
ขอให้โชคดีกับการทดสอบของคุณและขอให้บล็อกเชนของคุณรวดเร็วและทนทานต่อข้อผิดพลาด!
ที่มา: will.com