MultiChain 2.1: ตัวแปรและไลบรารี

โหนดต้นทาง: 1587135

ทำให้ตัวกรองอัจฉริยะฉลาดขึ้นมาก

วันนี้ เรามีความยินดีที่จะเปิดตัว MultiChain 2.1 ด้วยสองคุณสมบัติใหม่ที่สำคัญสำหรับนักพัฒนา MultiChain

หนึ่งปีครึ่งที่แล้ว MultiChain 2.0 เปิดตัว ตัวกรองอัจฉริยะซึ่งช่วยให้ฝังตรรกะที่กำหนดเองในบล็อกเชนเพื่อตรวจสอบความถูกต้องของธุรกรรมและข้อมูล ตัวกรองอัจฉริยะมีแนวคิดคล้ายกับ "สัญญาอัจฉริยะ" ที่จัดหาโดยแพลตฟอร์มบล็อกเชนอื่น แต่มีการออกแบบที่แตกต่างกันเพื่อให้เหมาะกับรูปแบบธุรกรรมที่เร็วกว่าของ MultiChain

ตัวกรองอัจฉริยะมี XNUMX แบบ ได้แก่ ตัวกรองธุรกรรมและตัวกรองสตรีม ตัวกรองธุรกรรมตรวจสอบความถูกต้องของธุรกรรมในสายโซ่อย่างครบถ้วน โดยตรวจสอบอินพุต เอาต์พุต และข้อมูลเมตา หากธุรกรรมไม่ผ่านตัวกรอง ทุกโหนดในเครือข่ายจะถูกปฏิเสธ ตัวกรองกระแสจะตรวจสอบแต่ละรายการที่เขียนไปยังa สตรีม MultiChainโดยดูที่คีย์ ผู้เผยแพร่ และข้อมูลในสายโซ่หรือนอกเครือข่าย ในรูปแบบ JSON ข้อความหรือไบนารี หากรายการไม่ผ่านตัวกรอง รายการนั้นจะถูกทำเครื่องหมายว่าไม่ถูกต้องและข้อมูลของรายการนั้นจะถูกซ่อนโดยทุกโหนดที่สมัครรับข้อมูลสตรีม

ตัวกรองอัจฉริยะทั้งสองประเภทเขียนด้วย JavaScript และทำงานภายในเวอร์ชันที่กำหนดของ Google V8ซึ่งเป็นเอ็นจิ้น JavaScript ที่เร็วสุดซึ่งขับเคลื่อน Chrome, Node.js และแพลตฟอร์มอื่นๆ อีกมากมาย ตัวกรองอย่างง่ายนั้นเขียนโค้ดและเข้าใจได้ง่าย ตัวอย่างเช่น นี่คือตัวกรองสตรีมที่ตรวจสอบว่ารายการมีคีย์อย่างน้อยสองคีย์:

ฟังก์ชั่น filterstreamitem() { var item=getfilterstreamitem(); // ฟังก์ชั่นโทรกลับถ้า (item.keys.length2) ส่งคืน "ต้องมีคีย์อย่างน้อยสองคีย์"; }

โดยรวมแล้ว เรามีความคิดเห็นที่ดีเกี่ยวกับตัวกรองอัจฉริยะ แต่เราได้ยินมาหลายครั้งเกี่ยวกับสองวิธีที่เราสามารถปรับปรุงตัวกรองให้ดียิ่งขึ้นไปอีก ประการแรก ผู้ใช้จำนวนมากต้องการตัวกรองที่สามารถอ่านข้อมูลที่อยู่ในบล็อคเชนแต่ไม่อยู่ในรายการธุรกรรมหรือสตรีมที่กำลังตรวจสอบ กรณีการใช้งานรวมถึงการเปลี่ยนแปลงรายชื่อประเทศที่อนุญาต อัตราแลกเปลี่ยนที่มาจาก "oracle" ภายนอก หรือสวิตช์เพื่อสลับกฎบางอย่าง

ประการที่สอง นักพัฒนาบางรายต้องการใช้ชุดฟังก์ชัน JavaScript ในตัวกรองหลายตัว โดยไม่ต้องสร้างโค้ดซ้ำ พวกเขายังต้องการที่จะสามารถอัปเดตฟังก์ชันเหล่านี้ เพื่อแก้ไขข้อผิดพลาดหรือครอบคลุมสถานการณ์ใหม่ ๆ โดยไม่ต้องปิดการใช้งานตัวกรองที่มีอยู่และสร้างตัวกรองใหม่แทน ตัวอย่างเช่น รหัสที่ใช้ร่วมกันอาจมีตรรกะเฉพาะแอปพลิเคชัน ไลบรารีของบุคคลที่สามสำหรับตรวจสอบ JSON หรือแยกวิเคราะห์เนื้อหาของ PDF

มัลติเชน 2.1 แนะนำเอนทิตี on-chain ใหม่สองประเภท ตัวแปร และ ห้องสมุดเพื่อตอบสนองความต้องการเหล่านี้

ตัวแปร

มาเริ่มกันที่ตัวแปร MultiChain สิ่งเหล่านี้ทำงานเหมือนกับภาษาโปรแกรมทั่วไป แต่มีความบิดเบี้ยวของบล็อคเชน สามารถสร้างตัวแปรที่มีชื่อได้จำนวนเท่าใดก็ได้บนบล็อคเชน ตัวแปรแต่ละตัวมีชุดที่อยู่แบบไดนามิกซึ่งได้รับอนุญาตให้อัปเดตค่า และชุดนี้ได้รับการจัดการโดยผู้ดูแลระบบตัวแปรอย่างน้อยหนึ่งราย (โดยค่าเริ่มต้น เฉพาะผู้สร้างของตัวแปรเท่านั้น) ตัวแปรถูกสร้างขึ้นหรืออัปเดตในธุรกรรมบล็อคเชน ซึ่งสามารถส่งได้โดยใช้คำสั่ง API ระดับสูงอย่างง่าย อีกทางหนึ่ง สามารถใช้ API ระดับล่างเพื่อสร้างธุรกรรมที่ซับซ้อน ซึ่งตั้งค่าตัวแปรตั้งแต่หนึ่งตัวขึ้นไป เขียนรายการสตรีม โอนสินทรัพย์ เปลี่ยนการอนุญาต และอื่นๆ

ค่าตัวแปรเองสามารถมีโครงสร้าง JSON ใดๆ ก็ได้ รวมถึงตัวเลข สตริง บูลีน ออบเจ็กต์ที่ซ้อนกัน และอาร์เรย์ และถูกเก็บไว้บนเชนอย่างมีประสิทธิภาพ ยูบีสัน รูปแบบการจัดลำดับ แน่นอน ตัวกรองอัจฉริยะสามารถสอบถามค่าปัจจุบันของตัวแปรได้โดยใช้ฟังก์ชันเรียกกลับอย่างง่าย แต่เนื่องจากนี่คือบล็อกเชน ประวัติทั้งหมดของค่าและตัวเขียนของตัวแปรจึงพร้อมใช้งาน และสามารถดึงข้อมูลบางส่วนหรือทั้งหมดได้โดยใช้ฟังก์ชันเรียกกลับอื่น เพื่อให้การพัฒนาง่ายขึ้น การเรียกกลับเหล่านี้ยังพร้อมใช้งานผ่าน API ที่เผชิญกับแอปพลิเคชันอีกด้วย

ห้องสมุด

ไปที่ห้องสมุดซึ่งเป็นพี่น้องที่ใหญ่กว่าของตัวแปร เช่นเดียวกับตัวแปร สามารถสร้างไลบรารีที่มีชื่อจำนวนเท่าใดก็ได้บนบล็อคเชน แต่ไลบรารี่มีรูปแบบที่สมบูรณ์ยิ่งขึ้นสำหรับการอัปเดต โดยมีสามโหมดที่ใช้งานได้ – ไม่เปลี่ยนรูป, ด่วนและ ขึ้นอยู่กับการอนุมัติ.

เมื่อ ไม่เปลี่ยนรูป สร้างห้องสมุดแล้ว รหัสไม่สามารถเปลี่ยนได้ ห้องสมุดกับ ด่วน การอัปเดตสามารถเปลี่ยนแปลงได้เหมือนตัวแปร โดยมีชุดที่อยู่ซึ่งสามารถแทนที่โค้ดแต่ละรายการได้ แต่ในห้องสมุดด้วย ขึ้นอยู่กับการอนุมัติ การอัปเดต การอัปเดตจะใช้ได้ก็ต่อเมื่อได้รับการอนุมัติจากผู้ดูแลระบบทั่วโลกของบล็อกเชนในสัดส่วนที่แน่นอนแล้วเท่านั้น โหมดสุดท้ายนี้ให้การแลกเปลี่ยนที่ดีระหว่างความปลอดภัยและความยืดหยุ่น

โค้ดสำหรับไลบรารีเขียนด้วย JavaScript ปกติ และกำหนดฟังก์ชันอย่างน้อยหนึ่งฟังก์ชันสำหรับตัวกรองอัจฉริยะที่จะใช้ เช่นเดียวกับตัวแปร ไลบรารีจะถูกสร้างขึ้นหรืออัปเดตในธุรกรรมพิเศษ ซึ่งส่งอย่างง่ายดายโดยใช้ API เมื่อมีการสร้างตัวกรองอัจฉริยะ ไลบรารีที่จำเป็นของตัวกรองจะถูกจัดเตรียมไว้ในพารามิเตอร์ทางเลือก ไลบรารีทำงานในบริบทของตัวกรองที่ต้องการเสมอ ดังนั้นจึงสามารถใช้การเรียกกลับของตัวกรองอัจฉริยะได้ตามความเหมาะสม MultiChain มีฟังก์ชันมากมายสำหรับการทดสอบ (และย้อนกลับ) ไลบรารีและการอัปเดตในเครื่อง ก่อนที่จะทำการเปลี่ยนแปลงในบล็อกเชน

สรุป

เช่นเดียวกับคุณสมบัติทั้งหมดที่เกี่ยวข้องกับกฎของบล็อคเชน ตัวแปรและไลบรารีมีให้ใช้งานทั้งในรุ่น Community และ Enterprise ของ MultiChain 2.1 เอกสารสำหรับนักพัฒนาซอฟต์แวร์ของเรามีคำอธิบายโดยละเอียดของไฟล์ใหม่ JSON-RPC API และ การโทรกลับตัวกรองอัจฉริยะ มีอยู่. หากต้องการใช้คุณสมบัติใหม่บนบล็อคเชนที่ทำงานอยู่แล้ว ขั้นแรกให้ย้ายโหนดไปยัง MultiChain 2.1 จากนั้น อัพเกรด โปรโตคอลของ chain เป็นเวอร์ชัน 20012

แล้วยังไงต่อ? ในอีกไม่กี่เดือนข้างหน้า เราจะมุ่งเน้นไปที่การทำงานภายใต้ประทุนที่มีรายละเอียดและเข้มข้น เพื่อปรับปรุงประสิทธิภาพและการทำงานพร้อมกันของ MultiChain ในขณะที่มันอยู่ภายใต้ภาระที่สำคัญ สิ่งนี้จะเพิ่มการตอบสนองของแอปพลิเคชันที่จำเป็นต้องสืบค้นโหนดในขณะที่ยังคงประมวลผลธุรกรรมใหม่นับร้อยหรือพันรายการต่อวินาที

ในระหว่างนี้ พวกเราทุกคนในทีม MultiChain ขออวยพรให้ผู้ใช้และลูกค้าของเรามีสุขภาพและสุขภาพจิตที่ดีในปีหน้า เรารู้ว่านี่เป็นช่วงเวลาที่ยากลำบากสำหรับทุกคน และเราตั้งตารอที่จะกลับสู่จังหวะปกติของการประชุมและการประชุมโดยเร็วที่สุดเท่าที่จะปลอดภัย

กรุณาโพสต์ความคิดเห็นใด ๆ ใน LinkedIn.

ประทับเวลา:

เพิ่มเติมจาก มัลติเชน