Solana Web3.js 2.x إصدار: تحديث كبير لمكتبة JavaScript الغنية بالميزات
تم إصدار Solana Web3.js ككتاب مكتبة JavaScript غني بالوظائف في نوفمبر من هذا العام، حيث تم إصدار النسخة 2.x رسميًا. بالمقارنة مع النسخة 1.x، فإن النسخة الجديدة جلبت تغييرات ملحوظة. على الرغم من أن معدل استخدام النسخة 2.x لا يزال منخفضًا، إلا أن العديد من المكتبات الشهيرة لم تنتقل بعد، إلا أن فهم هذه التحديثات سيكون مفيدًا للعمل التطويري في المستقبل.
مقارنة الإصدارات
إصدار 1.x سهل الاستخدام نسبيًا، كل ما تحتاجه هو حزمة واحدة لتغطية جميع الوظائف. يعتمد على تصميم الفئات، مثل فئة Connection، التي تغلف عددًا كبيرًا من العمليات الشائعة. ومع ذلك، فإن هذا التصميم يسبب أيضًا بعض المشكلات، مثل حجم مكتبة الكود الكبير، حيث تحتاج أجهزة المستخدمين إلى تنزيل كمية كبيرة من الكود الذي قد لا يحتاجونه.
اعتمد إصدار 2.x أسلوبًا معياريًا، حيث تم تقسيم مكتبة الشيفرة إلى عدة وحدات صغيرة، مثل @solana/accounts و @solana/codecs وغيرها. وقد تخلت النسخة الجديدة عن التنفيذ القائم على الفئات، واعتمدت المزيد على الدوال الفردية، مما يساعد في تحسين بناء الشيفرة في JavaScript. يمكن أن تقلل هذه الطريقة من كمية الشيفرة الفعلية التي يتم تنزيلها على أجهزة المستخدمين، ووفقًا للتقارير الرسمية، فإن التطبيقات التي تستخدم النسخة الجديدة تحصل عادةً على تحسين في الحجم بنسبة 30%.
تتمثل إحدى الميزات المهمة في الإصدار الجديد في عدم الاعتماد على أي شيء. هذه الميزة مهمة بشكل خاص في تقليل مخاطر الأمان، خاصة بالنظر إلى الهجمات التي وقعت مؤخرًا على إصدارات 1.95.5 و 1.95.6.
التغييرات الرئيسية
طريقة الاتصال
تم اعتماد طريقة أكثر وظيفية في التعامل مع الاتصالات في إصدار 2.x. لم يعد يتم استخدام فئة Connection، بل يتم إنشاء مرسل الطلبات من خلال تكوين عنوان طلب RPC.
معالجة مفتاح الزوج
في الإصدار الجديد، تم استبدال فئات Keypair و PublicKey بسلسلة من الدوال. على سبيل المثال، يتم الآن استخدام دالة generateKeyPair() لإنشاء زوج مفاتيح، وتُرجع هذه الدالة Promise. تستفيد هذه التغييرات من واجهة برمجة تطبيقات Web Crypto الخاصة بـ JavaScript، مستخدمةً تنفيذ Ed25519 الأصلي.
إرسال المعاملة
لم يعد إصدار 2.x يستخدم فئات Transaction و VersionedTransaction. كما أن هناك تغييرات في طرق برنامج النظام، والتي تحتاج إلى الاستيراد من وحدات أخرى. يوفر الإصدار الجديد شكل pipe الشائع في البرمجة الوظيفية، مما يزيد من قابلية تخصيص الكود.
React يدعم
من الجدير بالذكر أن المشروع يحتوي أيضًا على مكتبة @solana/react، التي تقدم بعض Hooks لـ React، وتحتوي على ميزات مثل signIn.
ملخص
إن إصدار النسخة 2.x من Solana Web3.js يظهر التزام فريق التطوير بالتحسين المستمر. توفر النسخة الجديدة للمطورين طريقة أكثر كفاءة ومرونة وقابلية للتخصيص للتفاعل مع شبكة Solana، مما يُتوقع أن يعزز من تطوير المنصة وتطبيقاتها.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
إصدار Solana Web3.js 2.x: تصميم معياري يعزز الأداء والأمان
Solana Web3.js 2.x إصدار: تحديث كبير لمكتبة JavaScript الغنية بالميزات
تم إصدار Solana Web3.js ككتاب مكتبة JavaScript غني بالوظائف في نوفمبر من هذا العام، حيث تم إصدار النسخة 2.x رسميًا. بالمقارنة مع النسخة 1.x، فإن النسخة الجديدة جلبت تغييرات ملحوظة. على الرغم من أن معدل استخدام النسخة 2.x لا يزال منخفضًا، إلا أن العديد من المكتبات الشهيرة لم تنتقل بعد، إلا أن فهم هذه التحديثات سيكون مفيدًا للعمل التطويري في المستقبل.
مقارنة الإصدارات
إصدار 1.x سهل الاستخدام نسبيًا، كل ما تحتاجه هو حزمة واحدة لتغطية جميع الوظائف. يعتمد على تصميم الفئات، مثل فئة Connection، التي تغلف عددًا كبيرًا من العمليات الشائعة. ومع ذلك، فإن هذا التصميم يسبب أيضًا بعض المشكلات، مثل حجم مكتبة الكود الكبير، حيث تحتاج أجهزة المستخدمين إلى تنزيل كمية كبيرة من الكود الذي قد لا يحتاجونه.
اعتمد إصدار 2.x أسلوبًا معياريًا، حيث تم تقسيم مكتبة الشيفرة إلى عدة وحدات صغيرة، مثل @solana/accounts و @solana/codecs وغيرها. وقد تخلت النسخة الجديدة عن التنفيذ القائم على الفئات، واعتمدت المزيد على الدوال الفردية، مما يساعد في تحسين بناء الشيفرة في JavaScript. يمكن أن تقلل هذه الطريقة من كمية الشيفرة الفعلية التي يتم تنزيلها على أجهزة المستخدمين، ووفقًا للتقارير الرسمية، فإن التطبيقات التي تستخدم النسخة الجديدة تحصل عادةً على تحسين في الحجم بنسبة 30%.
تتمثل إحدى الميزات المهمة في الإصدار الجديد في عدم الاعتماد على أي شيء. هذه الميزة مهمة بشكل خاص في تقليل مخاطر الأمان، خاصة بالنظر إلى الهجمات التي وقعت مؤخرًا على إصدارات 1.95.5 و 1.95.6.
التغييرات الرئيسية
طريقة الاتصال
تم اعتماد طريقة أكثر وظيفية في التعامل مع الاتصالات في إصدار 2.x. لم يعد يتم استخدام فئة Connection، بل يتم إنشاء مرسل الطلبات من خلال تكوين عنوان طلب RPC.
معالجة مفتاح الزوج
في الإصدار الجديد، تم استبدال فئات Keypair و PublicKey بسلسلة من الدوال. على سبيل المثال، يتم الآن استخدام دالة generateKeyPair() لإنشاء زوج مفاتيح، وتُرجع هذه الدالة Promise. تستفيد هذه التغييرات من واجهة برمجة تطبيقات Web Crypto الخاصة بـ JavaScript، مستخدمةً تنفيذ Ed25519 الأصلي.
إرسال المعاملة
لم يعد إصدار 2.x يستخدم فئات Transaction و VersionedTransaction. كما أن هناك تغييرات في طرق برنامج النظام، والتي تحتاج إلى الاستيراد من وحدات أخرى. يوفر الإصدار الجديد شكل pipe الشائع في البرمجة الوظيفية، مما يزيد من قابلية تخصيص الكود.
React يدعم
من الجدير بالذكر أن المشروع يحتوي أيضًا على مكتبة @solana/react، التي تقدم بعض Hooks لـ React، وتحتوي على ميزات مثل signIn.
ملخص
إن إصدار النسخة 2.x من Solana Web3.js يظهر التزام فريق التطوير بالتحسين المستمر. توفر النسخة الجديدة للمطورين طريقة أكثر كفاءة ومرونة وقابلية للتخصيص للتفاعل مع شبكة Solana، مما يُتوقع أن يعزز من تطوير المنصة وتطبيقاتها.