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

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

Rust العقود الذكية养成日记(11): تفسير آلية اقتراحات DAO

يعد Sputnik-DAO كأحد البنى التحتية لـ NEAR Protocol، يدفع بقوة نحو تطوير "اللامركزية" في نظام 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، وستُضاف إلى مجموعة الاقتراحات التي تحتفظ بها العقود الذكية على مستوى عالمي.

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

  • وصف (description)
  • نوع ( نوع )
  • المقترح ( proposer )
  • الحالة ( status )
  • وقت الإرسال(submission_time)
  • حالة التصويت(عدد الأصوات، الأصوات)

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

!

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

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

  • InProgress: الحالة الأولية للاقتراح الجديد
  • Approved: تمت الموافقة
  • مرفوض:被否决
  • Removed: تم الإزالة
  • Expired: منتهية الصلاحية
  • تم النقل:已转移
  • فشل: تنفيذ فاشل

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

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

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

  • سيتم تنفيذ الاقتراحات ذات حالة الموافقة
  • سيتم تنفيذ العمليات النهائية للاقتراحات في حالة Rejected أو Removed

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

!

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

إذا تغيرت حالة الاقتراح إلى Approved، ستقوم act_proposal() باستدعاء internal_execute_proposal() لتنفيذ محتوى الاقتراح.

يدعم Sputnik-DAO أنواعًا متعددة من المقترحات، مثل ChangeConfig وChangePolicy وFunctionCall وTransfer وغيرها. كل نوع له فرع معالجة خاص به.

فيما يلي كيفية معالجة نوعين نموذجيين من المقترحات:

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

يمكن تنفيذ اقتراح من نوع FunctionCall لطرق العقود المحددة. يتضمن الاقتراح عمليات الدالة (actions)، حيث يمكن تحديد اسم طريقة العقد والمعلمات لكل عملية.

تمت العملية النهائية من خلال تنفيذ الوظائف على شكل إجراءات دفعة Promise.

3.2 اقتراح تحويل أموال العقد(Transfer)

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

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

!

4. الملخص

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

!

ACT8.83%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 5
  • إعادة النشر
  • مشاركة
تعليق
0/400
Layer2Arbitrageurvip
· منذ 5 س
مه، تنفيذ آخر لحكومة داو... لكنني تفقدت أرقام الغاز - في الواقع، هو أكثر كفاءة بنسبة 47% من تصويت الإيث.
شاهد النسخة الأصليةرد0
RektButSmilingvip
· منذ 5 س
هذا جيد جدًا يا عزيزي
شاهد النسخة الأصليةرد0
MaticHoleFillervip
· منذ 5 س
فهم لاعبو الداو ما يفهمونه
شاهد النسخة الأصليةرد0
UnluckyLemurvip
· منذ 5 س
اللاعبين في البنية التحتية بالقرب من الانطلاق!
شاهد النسخة الأصليةرد0
AirdropHarvestervip
· منذ 5 س
هل يمكن أيضًا استخدام near؟
شاهد النسخة الأصليةرد0
  • تثبيت