মাল্টিচেইন 2.1: ভেরিয়েবল এবং লাইব্রেরি

উত্স নোড: 1587135

স্মার্ট ফিল্টারকে অনেক বেশি স্মার্ট করে তোলা

আজ, আমরা মাল্টিচেইন ডেভেলপারদের জন্য দুটি গুরুত্বপূর্ণ নতুন বৈশিষ্ট্য সহ MultiChain 2.1 প্রকাশ করতে পেরে আনন্দিত।

দেড় বছর আগে, মাল্টিচেইন 2.0 চালু হয়েছিল স্মার্ট ফিল্টার, যা লেনদেন এবং ডেটা যাচাই করার জন্য একটি ব্লকচেইনে এমবেড করা কাস্টম লজিক সক্ষম করে। স্মার্ট ফিল্টারগুলি ধারণাগতভাবে অন্যান্য ব্লকচেইন প্ল্যাটফর্মের দ্বারা প্রদত্ত "স্মার্ট চুক্তির" অনুরূপ, তবে মাল্টিচেইনের দ্রুত লেনদেন মডেলের সাথে মানানসই একটি ভিন্ন ডিজাইন রয়েছে৷

স্মার্ট ফিল্টার দুটি প্রকারে আসে - লেনদেন ফিল্টার এবং স্ট্রিম ফিল্টার। একটি লেনদেন ফিল্টার তাদের ইনপুট, আউটপুট এবং মেটাডেটা পরীক্ষা করে অন-চেইন লেনদেনগুলিকে সম্পূর্ণরূপে বৈধ করে। যদি একটি লেনদেন ফিল্টার পাস না করে, এটি নেটওয়ার্কের প্রতিটি নোড দ্বারা প্রত্যাখ্যান করা হয়। একটি স্ট্রিম ফিল্টার a এ লেখা পৃথক আইটেমগুলিকে যাচাই করে৷ মাল্টিচেইন স্ট্রীম, তাদের কী(গুলি), প্রকাশক(গুলি) এবং অন-চেইন বা অফ-চেইন ডেটা, JSON, টেক্সট বা বাইনারি ফর্ম্যাটে দেখছেন৷ যদি একটি আইটেম ফিল্টার পাস না করে, তাহলে এটি অবৈধ হিসাবে চিহ্নিত করা হয় এবং স্ট্রীমের সদস্যতা নেওয়া প্রতিটি নোড দ্বারা এর ডেটা লুকানো হয়৷

উভয় ধরণের স্মার্ট ফিল্টার জাভাস্ক্রিপ্টে লেখা হয় এবং Google এর একটি নির্ধারক সংস্করণের মধ্যে চলে V8, অতি দ্রুত জাভাস্ক্রিপ্ট ইঞ্জিন যা Chrome, Node.js এবং অন্যান্য অনেক প্ল্যাটফর্মকে শক্তি দেয়৷ সাধারণ ফিল্টারগুলি কোড করা এবং বোঝা সহজ - উদাহরণস্বরূপ, এখানে একটি স্ট্রিম ফিল্টার রয়েছে যা যাচাই করে যে আইটেমগুলিতে কমপক্ষে দুটি কী রয়েছে:

ফাংশন filterstreamitem() { var item=getfilterstreamitem(); // কলব্যাক ফাংশন যদি (item.keys.length2) ফেরত দেয় "অন্তত দুটি কী আবশ্যক"; }

সামগ্রিকভাবে, আমরা স্মার্ট ফিল্টারগুলিতে দুর্দান্ত প্রতিক্রিয়া পেয়েছি, তবে আমরা সেগুলিকে আরও ভাল করে তোলার দুটি উপায় সম্পর্কে বারবার শুনেছি। প্রথমত, অনেক ব্যবহারকারী এমন ফিল্টার চান যা ব্লকচেইনে থাকা তথ্য পড়তে পারে কিন্তু লেনদেন বা স্ট্রীম আইটেম যাচাই করা হয় না। ব্যবহারের ক্ষেত্রে অনুমোদিত দেশগুলির একটি পরিবর্তনের তালিকা, একটি বহিরাগত "ওরাকল" দ্বারা প্রদত্ত বিনিময় হার বা নির্দিষ্ট নিয়ম টগল করার জন্য একটি সুইচ অন্তর্ভুক্ত রয়েছে।

দ্বিতীয়ত, কিছু ডেভেলপার কোড নকল না করে একাধিক ফিল্টারে জাভাস্ক্রিপ্ট ফাংশনের একটি সেট ব্যবহার করতে চায়। তারা তাদের বিদ্যমান ফিল্টারগুলিকে নিষ্ক্রিয় না করে এবং তাদের জায়গায় নতুনগুলি তৈরি না করে এই ফাংশনগুলিকে আপডেট করতে, একটি বাগ ঠিক করতে বা কিছু নতুন পরিস্থিতি কভার করতে সক্ষম হতে চায়৷ উদাহরণস্বরূপ, ভাগ করা কোডে অ্যাপ্লিকেশন-নির্দিষ্ট যুক্তি থাকতে পারে, JSON যাচাই করার জন্য বা PDF এর বিষয়বস্তু পার্স করার জন্য একটি তৃতীয় পক্ষের লাইব্রেরি।

মাল্টিচেইন 2.1 দুটি নতুন ধরনের অন-চেইন সত্তা প্রবর্তন করে, ভেরিয়েবল এবং লাইব্রেরি, এই চাহিদার উত্তর দিতে.

ভেরিয়েবল

মাল্টিচেইন ভেরিয়েবল দিয়ে শুরু করা যাক। এগুলি নিয়মিত প্রোগ্রামিং ভাষার মতো কাজ করে, তবে ব্লকচেইন টুইস্ট সহ। ব্লকচেইনে যেকোন সংখ্যক ভেরিয়েবল তৈরি করা যেতে পারে। প্রতিটি ভেরিয়েবলের ঠিকানাগুলির একটি গতিশীল সেট থাকে যা তার মান আপডেট করার অনুমতি দেয় এবং এই সেটটি এক বা একাধিক পরিবর্তনশীল প্রশাসক দ্বারা পরিচালিত হয় (ডিফল্টরূপে, শুধুমাত্র ভেরিয়েবলের সৃষ্টিকর্তা)। একটি ব্লকচেইন লেনদেনে ভেরিয়েবল তৈরি বা আপডেট করা হয়, যা একটি সাধারণ উচ্চ-স্তরের API কমান্ড ব্যবহার করে পাঠানো যেতে পারে। বিকল্পভাবে, নিম্ন-স্তরের APIগুলি জটিল লেনদেন তৈরি করতে ব্যবহার করা যেতে পারে যা পারমাণবিকভাবে এক বা একাধিক ভেরিয়েবল সেট করে, স্ট্রিম আইটেম লিখতে, সম্পদ স্থানান্তর, অনুমতি পরিবর্তন করে ইত্যাদি।

পরিবর্তনশীল মান নিজেই সংখ্যা, স্ট্রিং, বুলিয়ান, নেস্টেড অবজেক্ট এবং অ্যারে সহ যেকোন JSON কাঠামো ধারণ করতে পারে এবং কার্যকরীতে অন-চেইন সংরক্ষণ করা হয় UBJSON ক্রমিক বিন্যাস। অবশ্যই, স্মার্ট ফিল্টার একটি সাধারণ কলব্যাক ফাংশন ব্যবহার করে একটি ভেরিয়েবলের বর্তমান মান অনুসন্ধান করতে পারে। কিন্তু যেহেতু এটি একটি ব্লকচেইন, তাই ভেরিয়েবলের মান এবং লেখকের সম্পূর্ণ ইতিহাসও পাওয়া যায় এবং অন্য একটি কলব্যাক ফাংশন ব্যবহার করে আংশিক বা সম্পূর্ণরূপে পুনরুদ্ধার করা যেতে পারে। উন্নয়ন সহজ করতে, এই কলব্যাকগুলি অ্যাপ্লিকেশন-মুখী API-এর মাধ্যমেও উপলব্ধ।

লাইব্রেরি

চলুন চলুন লাইব্রেরি, যা ভেরিয়েবল 'বড় ভাইবোন. ভেরিয়েবলের মতো, ব্লকচেইনে যে কোনো সংখ্যক নামযুক্ত লাইব্রেরি তৈরি করা যেতে পারে। কিন্তু লাইব্রেরিতে তিনটি উপলব্ধ মোড সহ আপডেট করার জন্য একটি সমৃদ্ধ মডেল রয়েছে - অপরিবর্তনীয়, তাত্ক্ষণিক, এবং অনুমোদন সাপেক্ষে.

একবার অপরিবর্তনীয় লাইব্রেরি তৈরি হয়, এর কোড কখনই পরিবর্তন করা যায় না। সঙ্গে একটি লাইব্রেরি তাত্ক্ষণিক আপডেটগুলি পরিবর্তনশীলের মতো পরিবর্তন করা যেতে পারে, ঠিকানাগুলির একটি সেট সহ যা পৃথকভাবে এর কোড প্রতিস্থাপন করতে পারে। কিন্তু সঙ্গে একটি লাইব্রেরিতে অনুমোদন সাপেক্ষে আপডেট, ব্লকচেইনের গ্লোবাল অ্যাডমিনিস্ট্রেটরদের একটি নির্দিষ্ট অনুপাত দ্বারা অনুমোদিত হওয়ার পরেই একটি আপডেট প্রয়োগ করা হয়। এই শেষ মোড নিরাপত্তা এবং নমনীয়তার মধ্যে একটি দুর্দান্ত ট্রেড-অফ প্রদান করে।

একটি লাইব্রেরির কোড নিয়মিত জাভাস্ক্রিপ্টে লেখা হয় এবং স্মার্ট ফিল্টার ব্যবহারের জন্য এক বা একাধিক ফাংশন সংজ্ঞায়িত করে। ভেরিয়েবলের মতো, লাইব্রেরিগুলি একটি বিশেষ লেনদেনে তৈরি বা আপডেট করা হয়, API ব্যবহার করে সহজেই পাঠানো হয়। যখন একটি স্মার্ট ফিল্টার তৈরি করা হয়, তখন এর প্রয়োজনীয় লাইব্রেরিগুলি একটি ঐচ্ছিক প্যারামিটারে প্রদান করা হয়। একটি লাইব্রেরি সর্বদা ফিল্টারের প্রেক্ষাপটে চলে যার জন্য এটি প্রয়োজন, তাই এটি উপযুক্ত যেখানে স্মার্ট ফিল্টার কলব্যাক ব্যবহার করতে পারে৷ ব্লকচেইনে পরিবর্তন করার আগে মাল্টিচেইন লাইব্রেরি এবং স্থানীয়ভাবে তাদের আপডেটগুলি পরীক্ষা করার জন্য (এবং ফিরে আসা) ব্যাপক কার্যকারিতা প্রদান করে।

এক নজরে সবকিছু

ব্লকচেইনের নিয়মগুলির সাথে সম্পর্কিত সমস্ত বৈশিষ্ট্যগুলির মতো, ভেরিয়েবল এবং লাইব্রেরিগুলি মাল্টিচেইন 2.1-এর কমিউনিটি এবং এন্টারপ্রাইজ উভয় সংস্করণেই উপলব্ধ। আমাদের ডেভেলপার ডকুমেন্টেশন নতুন একটি বিস্তারিত বিবরণ প্রদান করে JSON-RPC API এবং স্মার্ট ফিল্টার কলব্যাক উপলব্ধ ইতিমধ্যে চলমান ব্লকচেইনে নতুন বৈশিষ্ট্যগুলি ব্যবহার করতে, প্রথমে নোডগুলিকে মাল্টিচেইন 2.1-এ স্থানান্তর করুন, তারপরে আপগ্রেড 20012 সংস্করণে চেইনের প্রোটোকল।

তো এরপর কি? আগামী মাসগুলিতে, আমরা মাল্টিচেইনের কার্যকারিতা এবং সঙ্গতি উন্নত করার জন্য কিছু বিশদ এবং তীব্র আন্ডার-দ্য-হুড কাজের উপর দৃষ্টি নিবদ্ধ করব, যখন এটি উল্লেখযোগ্য লোডের অধীনে থাকবে। এটি প্রতি সেকেন্ডে শত শত বা হাজার হাজার নতুন লেনদেনের প্রক্রিয়া চালিয়ে যাওয়ার সময় একটি নোডকে জিজ্ঞাসা করার জন্য অ্যাপ্লিকেশনগুলির প্রতিক্রিয়াশীলতা বৃদ্ধি করবে।

ইতিমধ্যে, মাল্টিচেইন টিমের আমরা সবাই আমাদের ব্যবহারকারী এবং গ্রাহকদের আগামী বছরের জন্য স্বাস্থ্য এবং বিচক্ষণতা কামনা করি। আমরা জানি যে এই সময়গুলি প্রত্যেকের জন্যই কঠিন, এবং আমরা নিরাপদ হওয়ার সাথে সাথে মিটিং এবং কনফারেন্সের স্বাভাবিক ছন্দে ফিরে আসার অপেক্ষায় আছি।

কোন মন্তব্য পোস্ট করুন লিঙ্কডইন উপর.

সময় স্ট্যাম্প:

থেকে আরো মাল্টিচেইন