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

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

سلسلة Rust للعقود الذكية: تحليل المفاهيم الأساسية لـ Sputnik DAO

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

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

!

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

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

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

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

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

المعلومات الكاملة عن الخصائص الموجودة في الاقتراح هي:

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

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

!

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

قد تمر الاقتراحات في Sputnik-DAO بعدة حالات، والحالة الأولية هي InProgress. تتغير الحالة بدافع من طريقة act_proposal().

يمكن لأعضاء DAO استدعاء act_proposal() لتنفيذ إجراء على الاقتراح:

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

بعد التصويت، سيتم استدعاء policy.proposal_status() لإجراء العد. ستتغير حالة الاقتراح التي تحقق عتبة التصويت:

  • معتمد: استدعاء internal_execute_proposal() للتنفيذ
  • تم الرفض/الإزالة: استدعاء internal_reject_proposal() المعالجة

سيتم إزالة الاقتراحات في حالة Removed من مجموعة الاقتراحات ولن يتم استرداد الوديعة، بينما ستبقى الاقتراحات في حالة Rejected في مجموعة الاقتراحات وسيتم استرداد الوديعة.

!

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

سيتم استدعاء الاقتراحات التي في حالة الموافقة internal_execute_proposal() لتنفيذ محتوى القرار. يدعم Sputnik-DAO أنواعًا متعددة من الاقتراحات، وتستعرض هذه المقالة نوعين نموذجيين:

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

تتم تمرير اقتراحات من نوع FunctionCall عبر معلمة ProposalInput لتحديد العملية الوظيفية التي يجب تنفيذها (actions). يمكن لكل ActionCall تحديد اسم طريقة العقد والمعلمات. يستخدم Sputnik-DAO شكل Promise Batch Actions لإتمام تنفيذ دالة العقد.

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

يُستخدم اقتراح نوع النقل لنقل الرموز المميزة المتراكمة في حساب العقد إلى receiver_id المحدد. يتم استدعاء الدالة internal_payout() الأساسية لتنفيذ عمليات نقل الرموز المميزة المختلفة وأنواع receiver_id.

!

ACT4.67%
BATCH-0.44%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • إعادة النشر
  • مشاركة
تعليق
0/400
RamenDeFiSurvivorvip
· 08-09 18:37
قريباً العمل سريع جداً
شاهد النسخة الأصليةرد0
DefiPlaybookvip
· 08-09 18:36
استنادًا إلى تحليل البيانات داخل السلسلة، ارتفع TVL بنسبة 25.6%
شاهد النسخة الأصليةرد0
SerLiquidatedvip
· 08-09 18:34
ماذا أفعل إذا كنت مخمورًا عند التصويت؟ إذا كنت تفهم، قل لي.
شاهد النسخة الأصليةرد0
fork_in_the_roadvip
· 08-09 18:32
إدارة dao تضييع للوقت...
شاهد النسخة الأصليةرد0
BoredApeResistancevip
· 08-09 18:24
متى سيكون لدى NEAR DAO موثوق أكثر...
شاهد النسخة الأصليةرد0
BoredRiceBallvip
· 08-09 18:18
هل هذا الاقتراح لا يبدو جيدًا عند النظر مباشرة إلى الكود؟
شاهد النسخة الأصليةرد0
  • تثبيت