ترقية كبيرة في Solana Web3.js 2.x: تصميم معياري يعزز الأداء والأمان

Solana Web3.js 2.x: تحديث كبير لمكتبة JavaScript الغنية بالميزات

تم إصدار Solana Web3.js كأحد مكتبات JavaScript القوية في نوفمبر من هذا العام بإصدار 2.x. مقارنة بالإصدار 1.x، جاء الإصدار الجديد مع العديد من التغييرات الكبيرة. ستقوم هذه المقالة بإعطاء لمحة عامة عن هذه التغييرات الرئيسية، لتحضير المطورين لعملية الانتقال المستقبلية.

سلسلة مبتدئين Web3: الآن قم بترقية @solana/web3.js 2.x لبدء البرمجة الوظيفية

مقارنة الإصدارات

تستخدم النسخة 1.x بشكل نسبي بسيط، حيث تحتوي فقط على حزمة @solana/web3.js، وتعتمد على تصميم قائم على الفئات، وتغلف العديد من العمليات الشائعة. ومع ذلك، فإن هذا التصميم يجلب أيضًا بعض المشكلات، مثل حجم مكتبة الكود الكبير، حيث تحتاج أجهزة المستخدمين إلى تنزيل ملف المكتبة الكامل.

تم تصميم الإصدار 2.x بطريقة نموذجية، حيث تم تقسيم مكتبة الشفرات الأصلية إلى عدة وحدات صغيرة، مثل @solana/accounts و @solana/codecs و @solana/rpc وغيرها. وقد تخلت النسخة الجديدة عن التنفيذ القائم على الفئات، واعتمدت بشكل أكبر على الدوال الفردية، مما يساعد في تحسين بناء الشيفرة في JavaScript. ووفقًا للإحصاءات، فإن التطبيقات التي تستخدم النسخة الجديدة عادةً ما تحقق تحسينًا في الحجم بنسبة 30%، وإذا تم استخدام عدد قليل فقط من الوظائف، فقد تكون نسبة التحسين أعلى.

الخاصية المهمة الأخرى في الإصدار 2.x هي عدم الاعتماد على أي شيء. بالنظر إلى الهجمات التي حدثت مؤخرًا على إصدارات 1.95.5 و 1.95.6، يمكن أن يقلل تقليل الاعتماد الخارجي بشكل كبير من مخاطر الأمان. حاليًا، قام الإصدار 2.x بإزالة جميع الاعتماديات الخارجية.

نقاط التغيير المهمة

الاتصال

تمتاز النسخة 2.x بتنفيذ وظيفة الاتصال بطريقة أكثر وظيفية. على سبيل المثال، عند إرسال عملية، سيتم تلقائيًا بدء طلب HTTPS، وإنشاء اتصال WSS للاشتراك في حالة المعاملة، وبعد تأكيد المعاملة، سيتم إرجاع تجزئة المعاملة.

زوج المفاتيح

في الإصدار الجديد، لم تعد فئات Keypair وPublicKey موجودة، وتم استبدالها ببعض الدوال. على سبيل المثال، يمكنك استخدام await generateKeyPair() لتوليد زوج المفاتيح. تم تصميم التنفيذ الجديد للاستفادة من واجهة برمجة تطبيقات Web Crypto الخاصة بـ JavaScript قدر الإمكان، باستخدام تنفيذ Ed25519 الأصلي.

إرسال المعاملة

لم يعد هناك فئة Transaction وVersionedTransaction في إصدار 2.x. كما يجب استيراد طرق النظام البرمجي من أماكن أخرى. على سبيل المثال، تحتاج تعليمات التحويل إلى استدعاء دالة getTransferSolInstruction من @solana-program/system.

تقدم النسخة الجديدة شكل pipe الشائع استخدامه في البرمجة الوظيفية. لم يعد يتم بدء الصفقة من خلال Connection، بل يتم بدء الصفقة من خلال توليد دالة محددة بواسطة مزود RPC المعرفة. على الرغم من أن كمية الكود قد زادت، إلا أنها توفر تخصيصًا أقوى.

دعم React

يتضمن مشروع @solana/web3.js أيضًا مكتبة @solana/react، التي توفر بعض Hooks لـ React، وتحتوي على ميزات مثل signIn وغيرها.

ملخص

أظهر إصدار @solana/web3.js من النسخة 2.x التزام فريق Solana بالتحسين المستمر. يوفر الإصدار الجديد للمطورين طريقة فعالة ومرنة وقابلة للتخصيص للتفاعل مع شبكة Solana، مما قد يدفع نحو مزيد من التطور والتطبيقات على المنصة.

Web3 المبتدئين سلسلة: الآن ترقية @solana/web3.js 2.x لفتح البرمجة الوظيفية

SOL3.41%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 7
  • مشاركة
تعليق
0/400
RugResistantvip
· منذ 4 س
أصبح أقوى مرة أخرى، سحق سحق سحق
شاهد النسخة الأصليةرد0
MemecoinResearchervip
· 07-21 17:27
بصراحة، سول ويب 3.0 رائع حقًا حقًا
شاهد النسخة الأصليةرد0
SelfSovereignStevevip
· 07-21 17:27
تمت ترقية sol مرة أخرى
شاهد النسخة الأصليةرد0
GweiWatchervip
· 07-21 17:25
تحسن الأداء كبير جدًا، لنبدأ!
شاهد النسخة الأصليةرد0
LiquiditySurfervip
· 07-21 17:22
لقد أصبحت سولا قوية أخيرًا!!!
شاهد النسخة الأصليةرد0
SerNgmivip
· 07-21 17:15
هذه الموجة حقاً ثورp了
شاهد النسخة الأصليةرد0
BankruptcyArtistvip
· 07-21 17:10
这么靠谱 有望 استعادة رأس المال المستثمر了
شاهد النسخة الأصليةرد0
  • تثبيت