وثائق سولاناتطوير البرامج

أمثلة البرامج

يقدم مستودع أمثلة برامج سولانا على GitHub العديد من المجلدات الفرعية، كل منها يحتوي على أمثلة برمجية لمساعدة المطورين على التعلم والتجربة في تطوير بلوكتشين سولانا.

يمكنك العثور على الأمثلة في solana-foundation/program-examples مع ملفات README التي تشرح لك كيفية تشغيل الأمثلة المختلفة. معظم الأمثلة مستقلة ومتاحة بواحد أو أكثر من Anchor، وPinocchio، ولغة Rust الأصلية.

داخل المستودع ستجد المجلدات الفرعية التالية، كل منها يحتوي على برامج متنوعة كأمثلة:

توجد أيضاً أمثلة على برامج النظام البيئي

الأساسيات

يحتوي على سلسلة من الأمثلة التي توضح الخطوات الأساسية لبناء برامج سولانا باستخدام مكتبات Rust الأصلية. تم تصميم هذه الأمثلة لمساعدة المطورين على فهم المفاهيم الجوهرية لبرمجة سولانا.

اسم المثالالوصفاللغة
Account Dataحفظ عنوان يتضمن الاسم ورقم المنزل والشارع والمدينة في حساب.أصلي، Anchor، Pinocchio
Checking Accountsدروس أمنية توضح كيفية إجراء فحوصات الحساباتأصلي، Anchor، Pinocchio
Close Accountيوضح لك كيفية إغلاق الحسابات لاسترداد rent الخاص بها.أصلي، Anchor، Pinocchio
Counterبرنامج عداد بسيط بجميع الأنماط المعمارية المختلفة.أصلي، Anchor، Pinocchio، mpl-stack
Create Accountكيفية إنشاء حساب نظام داخل برنامج.أصلي، Anchor، Pinocchio
Cross Program Invocationباستخدام تشبيه اليد والرافعة، يوضح هذا المثال كيفية استدعاء برنامج آخر من داخل برنامج.أصلي، Anchor، Pinocchio
hello solanaمثال "مرحبا بالعالم" الذي يطبع فقط عبارة مرحبا بالعالم في سجلات المعاملات.أصلي، Anchor، Pinocchio
Pda Rent payerيوضح لك كيفية استخدام lamport من PDA لدفع تكلفة حساب جديد.أصلي، Anchor، Pinocchio
Processing Instructionsيوضح لك كيفية التعامل مع instruction data من نوع string و u32.أصلي، Anchor، Pinocchio
Program Derived Addressesيوضح كيفية استخدام البذور للإشارة إلى Program Derived Address وحفظ البيانات فيه.أصلي، Anchor، Pinocchio
Reallocيوضح كيفية تغيير حجم حساب موجود ضمن حدود وقت التشغيل.أصلي، Anchor، Pinocchio
Repository Layoutتوصيات حول كيفية هيكلة تخطيط برنامجك.أصلي، Anchor، Pinocchio
Transfer SOLطرق مختلفة لتحويل SOL لحسابات النظام و PDAs.أصلي، Anchor، Pinocchio، Seahorse

الرموز المميزة (Tokens)

تستخدم معظم الرموز المميزة على سولانا معيار رموز مكتبة برامج سولانا (SPL). هنا يمكنك العثور على أمثلة كثيرة حول كيفية سك الرموز المميزة ونقلها وحرقها، وحتى كيفية التفاعل معها داخل البرامج.

اسم المثالالوصفاللغة
إنشاء رمز مميزكيفية إنشاء رمز مميز وإضافة بيانات Metaplex الوصفية إليه.Anchor، أصلي، Pinocchio
ساك NFTسك كمية واحدة فقط من الرمز المميز ثم إزالة صلاحية السك.Anchor، أصلي، Pinocchio
صلاحية سك PDAيوضح كيفية تغيير صلاحية السك لعملية سك، لسك الرموز المميزة من داخل البرنامج.Anchor، أصلي، Pinocchio
تبادل الرموز المميزةمثال شامل يوضح كيفية بناء تجمع AMM (صانع سوق آلي) لرموز SPL.Anchor
نقل الرموز المميزةيوضح كيفية نقل رمز SPL المميز باستخدام CPIs إلى Token Program.Anchor، أصلي، Pinocchio
Token-2022راجع Token 2022 (Token Extensions).Anchor، أصلي، Pinocchio

Token Extensions (Token 2022)

Token 2022 هو معيار جديد للرموز المميزة على سولانا. إنه أكثر مرونة ويتيح لك إضافة 16 امتداداً مختلفاً إلى عملية سك الرمز المميز لإضافة المزيد من الوظائف إليها. يمكن العثور على قائمة كاملة بالامتدادات في دليل البدء السريع

اسم المثالالوصفاللغة
الأساسياتكيفية إنشاء رمز مميز وسكه ونقله.Anchor
الحالة الافتراضية للحسابيتيح لك هذا الامتداد إنشاء token account بحالة معينة، كالتجميد مثلاً.Anchor، أصلي، Pinocchio
صلاحية إغلاق السكمع Token Program القديم لم يكن بالإمكان إغلاق عملية السك، أما الآن فأصبح ذلك ممكناً.Anchor، أصلي، Pinocchio
امتدادات متعددةيوضح كيف يمكنك إضافة امتدادات متعددة إلى عملية سك واحدة.أصلي، Pinocchio
مؤشر بيانات NFT الوصفيةمن الممكن استخدام امتداد البيانات الوصفية لإنشاء NFTs وإضافة بيانات وصفية ديناميكية على السلسلة.Anchor
غير قابل للنقلمفيد على سبيل المثال للإنجازات وبرامج الإحالة أو أي رموز مميزة مرتبطة بالروح.Anchor، أصلي، Pinocchio
رسوم النقليحتجز كل نقل للرموز المميزة بعض الرموز في token account ويمكن جمعها لاحقاً.Anchor، أصلي، Pinocchio
خطاف النقلأربعة أمثلة لإضافة وظائف إضافية إلى رمزك المميز باستخدام CPI من Token Program إلى برنامجك.Anchor

أمثلة برامج سولانا في النظام البيئي

كثيرًا ما تحتفظ جهات خارجية بمكتباتها الخاصة من أمثلة برامج سولانا. يتولى هؤلاء المزودون صيانة هذه المكتبات بدلًا من مؤسسة سولانا.

Is this page helpful?

جدول المحتويات

تعديل الصفحة