تحليل العقود الذكية Sputnik DAO: تصميم وتنفيذ آلية الاقتراحات

robot
إنشاء الملخص قيد التقدم

مذكرات زراعة العقد الذكي للصدأ (11) تحليل آلية اقتراح سبوتنيك DAO

تدفع Sputnik-DAO كجزء من بنية تحتية لبروتوكول NEAR ، نحو تطوير النظام البيئي لـ NEAR في اتجاه اللامركزية. حاليًا ، ساهمت هذه المنصة في إنشاء العديد من المشاريع في NEAR المجتمعات ذات الحكم الذاتي اللامركزي، وقدمت حلولًا كاملة ومرنة وفعالة لصنع القرار المجتمعي.

Sputnikdaov2 هو العقد الذكي المستخدم في تصويت إدارة مجتمع Sputnik-DAO. ستتناول هذه المقالة المفاهيم الأساسية لهذا العقد: الاقتراح (Proposal)، وستتناول المقالات اللاحقة نماذج إدارة مجتمع DAO ذات الصلة (Policy).

1. بدء الاقتراح

يمكن لأعضاء مجتمع Sputnik-DAO التعبير عن آرائهم أو تقديم مقترحات بشأن حوكمة المشروع أو إدارته. يمكن لأعضاء المساهمات التصويت ومراجعة المقترحات، مما يؤثر على اتجاه المشروع في المستقبل.

على مستوى العقد، يمكن لأعضاء DAO استدعاء طريقة add_proposal() لعقد sputnikdaov2 لبدء اقتراح جديد:

صدأ حانة fn add_proposal( & mut self ، اقتراح: ProposalInput) -> u64

يجب على المقترح تقديم تفاصيل الاقتراح ( ProposalInput ):

  • الوصف النصي للاقتراح (Description)
  • نوع الاقتراح ( kind )

add_proposal() ستقوم الطريقة بإجراء معالجة التحقق، وتوليد اقتراح مبدئي كامل (Proposal)، وترابطه مع proposal_id الفريد، وإضافته إلى عقد Contract.proposals المدعوم عالمياً.

تتضمن الاقتراحات المعلومات الكاملة التالية عن الخصائص:

  • description: وصف الاقتراح
  • النوع: نوع الاقتراح
  • proposer: مقدم الاقتراح
  • الحالة: حالة الاقتراح
  • submission_time: وقت التقديم
  • vote_counts: عدد الأصوات
  • votes: تفاصيل الاقتراع

من المهم ملاحظة أن Sputnik-DAO يحتوي على مفهوم إيداع الاقتراح (proposal_bond) الذي تديره أنماط الحوكمة المجتمعية المحددة (Policy). يجب على مقدم الاقتراح أن يودع كمية معينة من رموز NEAR كضمان عند استدعاء add_proposal(). سيتم رد هذا الإيداع عند انتهاء الاقتراح بشكل طبيعي.

!

2. حالة الاقتراح

قد تمر الاقتراحات في Sputnik-DAO بعدة حالات:

  • InProgress: الحالة الأولية، التصويت جارٍ
  • موافق: تم التصويت بنجاح
  • مرفوض: لم يتم تمرير التصويت
  • Removed: تم الإزالة
  • انتهت صلاحيتها: 过期
  • تم النقل
  • فشل: تنفيذ فشل

تغيير حالة الاقتراح مدفوع بطريقة act_proposal(). يمكن لأعضاء DAO استدعاء هذه الطريقة للتصويت على الاقتراحات وغيرها من العمليات:

  • VoteApprove: موافقة
  • VoteReject: ضد
  • VoteRemove: إزالة

بعد التصويت، سيتم استدعاء policy.proposal_status() لعملية العد، وعند استيفاء الشروط، سيتم تحديث حالة الاقتراح.

!

3. تنفيذ الاقتراح

سيتم استدعاء الدالة internal_execute_proposal() لتنفيذ محتوى القرار المقترح الذي تم التصويت عليه والموافقة عليه (.

يقدم Sputnik-DAO دعماً لمجموعة متنوعة من أنواع المقترحات، تركز بشكل أساسي على تحديث تكوين نماذج حوكمة DAO. هنا نقدم نوعين نموذجيين من معالجة المقترحات:

) 3.1 تنفيذ اقتراح دالة العقد

تسمح اقتراحات نوع FunctionCall بتنفيذ دالة عقد محددة. يتضمن الاقتراح عمليات الدالة التي يجب تنفيذها ###actions(، ويمكن تحديد عدة استدعاءات دالة متتالية.

يستخدم Sputnik-DAO شكل إجراءات الدفعة التنبؤية لإكمال تنفيذ دالة العقد.

) 3.2 اقتراح نقل أموال العقد

يتم استخدام اقتراح نوع النقل لنقل الرموز المتراكمة في حساب العقد إلى حساب محدد.

internal_execute_proposal###( ستقوم باستدعاء دالة internal_payout)(، لتنفيذ عمليات تحويل بين أنواع مختلفة من الرموز القابلة للتداول وحسابات الاستلام.

! [])https://img-cdn.gateio.im/webp-social/moments-ef0b959c42e1f5fc6263cd4a86fd078e.webp(

4. خلاصة

تقدم هذه المقالة المفاهيم الأساسية لعقد Sputnik DAO - الاقتراح )Proposal(، بما في ذلك إنشاء الاقتراح، والتصويت، وتغير الحالة، وعملية التنفيذ. ستتبع ذلك وصفًا أكثر تفصيلًا لنموذج الحوكمة لـ Sputnik-DAO بناءً على آلية الاقتراح )Policy(.

! [])https://img-cdn.gateio.im/webp-social/moments-eb73d5e15f6161f0a4b442cd4b99a91e.webp(

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • تثبيت