أصدرت Solana Web3.js النسخة 2.x في نوفمبر من هذا العام، والتي جلبت تغييرات ملحوظة مقارنةً بالنسخة 1.x. ستقوم هذه المقالة بتلخيص هذه التغييرات الرئيسية لمساعدة المطورين على الاستعداد للهجرة في المستقبل.
مقارنة الإصدارات
إن استخدام الإصدار 1.x بسيط نسبيًا، حيث يتطلب حزمة واحدة فقط @solana/web3.js لتغطية جميع الميزات. يعتمد على تصميم يعتمد على الفئات، مثل فئة Connection، ويوفر مجموعة غنية من الطرق لتلبية احتياجات المطورين. ومع ذلك، أدى هذا التصميم أيضًا إلى بعض المشكلات، مثل حجم مكتبة الكود الكبير، حيث يحتاج جهاز المستخدم إلى تنزيل كمية كبيرة من الكود الذي قد لا يحتاجه.
تمتاز النسخة 2.x بتصميم معياري، حيث تم تقسيم قاعدة الشيفرة إلى عدة وحدات صغيرة مثل @solana/accounts و @solana/codecs. النسخة الجديدة تخلت عن التنفيذ القائم على الفئات، واعتمدت بدلاً من ذلك على طريقة الدالة الواحدة، مما يساعد على تحسين بناء الشيفرة في JavaScript. وفقًا للإحصائيات الرسمية، يمكن أن تحقق التطبيقات اللامركزية التي تستخدم النسخة الجديدة عادةً تحسينًا في الحجم بنسبة 30%، أو حتى أكثر.
ومع ذلك، فإن هذا التغيير قد شكل أيضًا تحديًا لفريق Solana في كتابة الوثائق، حيث أصبح من الضروري مساعدة المطورين على العثور بسرعة على الوظائف المطلوبة. حاليًا، فإن تسمية الوحدات تحمل دلالة جيدة، مما يساعد المطورين على فهم استخدامات كل وحدة.
من الجدير بالذكر أن الإصدار 2.x قد حقق عدم الاعتماد على أي شيء، وهذه الميزة مهمة بشكل خاص في تعزيز الأمان، خاصة بعد الأحداث الأخيرة المتعلقة بهجمات سلسلة التوريد.
نقاط التغيير المهمة
الاتصال
اعتمد الإصدار 2.x طريقة أكثر وظيفية للتعامل مع الاتصالات. لم يعد يتم استخدام فئة Connection، بل يتم إنشاء موفر الطلبات من خلال تكوين عنوان طلب RPC.
زوج المفاتيح
في الإصدار الجديد، تم استبدال فئات Keypair و PublicKey بمجموعة من الدوال. على سبيل المثال، استخدم await generateKeyPair() لتوليد زوج المفاتيح. تعيد معظم هذه الدوال Promise، مستفيدة من واجهة برمجة التطبيقات Web Crypto لـ JavaScript.
إرسال المعاملة
لم يعد يتم استخدام فئتي Transaction و VersionedTransaction في الإصدار 2.x. كما يجب استيراد طرق برنامج النظام من أماكن أخرى. يوفر الإصدار الجديد شكل pipe المستخدم بشكل شائع في البرمجة الوظيفية، مما يسمح ببناء معاملات بشكل أكثر مرونة.
أصبح بدء الصفقة وتأكيدها يعتمد أكثر على اتصال WebSocket، مما يفرض متطلبات أعلى على استقرار خدمة مزودي RPC.
دعم React
تتضمن النسخة الجديدة أيضًا مكتبة @solana/react، التي توفر بعض Hooks لـ React، وتحتوي على ميزات مثل signIn.
ملخص
أظهر إصدار الإصدار 2.x من Solana Web3.js التزام فريق Solana بتحسين مستمر. يوفر الإصدار الجديد للمطورين طريقة أكثر كفاءة ومرونة وقابلية للتخصيص للتفاعل مع شبكة Solana، مما يبعث على الأمل في دفع المزيد من التبني والنمو للمنصة.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 10
أعجبني
10
8
مشاركة
تعليق
0/400
PermabullPete
· 07-21 07:13
هذه الموجة حقاً رائعة
شاهد النسخة الأصليةرد0
StakeOrRegret
· 07-21 01:55
واو، الواجهة الأمامية قامت بعمل جديد مرة أخرى
شاهد النسخة الأصليةرد0
ContractFreelancer
· 07-20 17:43
أليس مجرد تغيير غلاف؟
شاهد النسخة الأصليةرد0
LayoffMiner
· 07-18 21:21
المستخدمون القدماء يعرفون، كل شيء يعتمد على Solana لكسب العيش ++
شاهد النسخة الأصليةرد0
GateUser-44a00d6c
· 07-18 21:19
تحتاج شفرة tmd إلى تعديل مرة أخرى
شاهد النسخة الأصليةرد0
OnchainGossiper
· 07-18 21:17
مرة أخرى يتحدث بكلام فارغ~ دعنا نرى إن كانت هذه الموجة ستفشل أم لا
Solana Web3.js 2.x: البرمجة الوظيفية تقود عصر جديد من تحسين الأداء
Solana Web3.js 2.x: عصر البرمجة الوظيفية الجديدة
أصدرت Solana Web3.js النسخة 2.x في نوفمبر من هذا العام، والتي جلبت تغييرات ملحوظة مقارنةً بالنسخة 1.x. ستقوم هذه المقالة بتلخيص هذه التغييرات الرئيسية لمساعدة المطورين على الاستعداد للهجرة في المستقبل.
مقارنة الإصدارات
إن استخدام الإصدار 1.x بسيط نسبيًا، حيث يتطلب حزمة واحدة فقط @solana/web3.js لتغطية جميع الميزات. يعتمد على تصميم يعتمد على الفئات، مثل فئة Connection، ويوفر مجموعة غنية من الطرق لتلبية احتياجات المطورين. ومع ذلك، أدى هذا التصميم أيضًا إلى بعض المشكلات، مثل حجم مكتبة الكود الكبير، حيث يحتاج جهاز المستخدم إلى تنزيل كمية كبيرة من الكود الذي قد لا يحتاجه.
تمتاز النسخة 2.x بتصميم معياري، حيث تم تقسيم قاعدة الشيفرة إلى عدة وحدات صغيرة مثل @solana/accounts و @solana/codecs. النسخة الجديدة تخلت عن التنفيذ القائم على الفئات، واعتمدت بدلاً من ذلك على طريقة الدالة الواحدة، مما يساعد على تحسين بناء الشيفرة في JavaScript. وفقًا للإحصائيات الرسمية، يمكن أن تحقق التطبيقات اللامركزية التي تستخدم النسخة الجديدة عادةً تحسينًا في الحجم بنسبة 30%، أو حتى أكثر.
ومع ذلك، فإن هذا التغيير قد شكل أيضًا تحديًا لفريق Solana في كتابة الوثائق، حيث أصبح من الضروري مساعدة المطورين على العثور بسرعة على الوظائف المطلوبة. حاليًا، فإن تسمية الوحدات تحمل دلالة جيدة، مما يساعد المطورين على فهم استخدامات كل وحدة.
من الجدير بالذكر أن الإصدار 2.x قد حقق عدم الاعتماد على أي شيء، وهذه الميزة مهمة بشكل خاص في تعزيز الأمان، خاصة بعد الأحداث الأخيرة المتعلقة بهجمات سلسلة التوريد.
نقاط التغيير المهمة
الاتصال
اعتمد الإصدار 2.x طريقة أكثر وظيفية للتعامل مع الاتصالات. لم يعد يتم استخدام فئة Connection، بل يتم إنشاء موفر الطلبات من خلال تكوين عنوان طلب RPC.
زوج المفاتيح
في الإصدار الجديد، تم استبدال فئات Keypair و PublicKey بمجموعة من الدوال. على سبيل المثال، استخدم await generateKeyPair() لتوليد زوج المفاتيح. تعيد معظم هذه الدوال Promise، مستفيدة من واجهة برمجة التطبيقات Web Crypto لـ JavaScript.
إرسال المعاملة
لم يعد يتم استخدام فئتي Transaction و VersionedTransaction في الإصدار 2.x. كما يجب استيراد طرق برنامج النظام من أماكن أخرى. يوفر الإصدار الجديد شكل pipe المستخدم بشكل شائع في البرمجة الوظيفية، مما يسمح ببناء معاملات بشكل أكثر مرونة.
أصبح بدء الصفقة وتأكيدها يعتمد أكثر على اتصال WebSocket، مما يفرض متطلبات أعلى على استقرار خدمة مزودي RPC.
دعم React
تتضمن النسخة الجديدة أيضًا مكتبة @solana/react، التي توفر بعض Hooks لـ React، وتحتوي على ميزات مثل signIn.
ملخص
أظهر إصدار الإصدار 2.x من Solana Web3.js التزام فريق Solana بتحسين مستمر. يوفر الإصدار الجديد للمطورين طريقة أكثر كفاءة ومرونة وقابلية للتخصيص للتفاعل مع شبكة Solana، مما يبعث على الأمل في دفع المزيد من التبني والنمو للمنصة.