Rust العقود الذكية养成日记(11): تحليل آلية اقتراحات DAO
تعمل Sputnik-DAO كجزء من بنية NEAR Protocol التحتية، على دفع نظام NEAR البيئي نحو التنمية اللامركزية. حالياً، ساهمت هذه المنصة في إنشاء عدة مشاريع NEAR لمجتمعات ذاتية الحكم، وقدمت حلولاً شاملة ومرنة لحوكمة قرارات المجتمع.
Sputnikdaov2 هو عقد ذكي مخصص للتصويت على حوكمة مجتمع Sputnik-DAO. ستتناول هذه المقالة المفاهيم الأساسية لهذا العقد: الاقتراح (Proposal)، وسيتم شرح نماذج حوكمة مجتمع DAO ذات الصلة حول الاقتراح في المقالات اللاحقة (Policy).
1. إطلاق الاقتراح
يمكن لكل عضو في Sputnik-DAO أن يعبر عن رأيه أو يقدم اقتراحات بشأن إدارة المشروع. يمكن للأعضاء المساهمين التصويت على الاقتراحات. يمكن للأعضاء التأثير على مسار المشروع في المستقبل من خلال التصويت أو تقديم الاقتراحات.
على مستوى العقد، يمكن للأعضاء استدعاء طريقة add_proposal() لعقد sputnikdaov2 لبدء اقتراح جديد:
يجب على المقترح تقديم تفاصيل الاقتراح ( ProposalInput ):
وصف الاقتراح ( Description )
نوع الاقتراح ( نوع )
add_proposal() ستقوم الطريقة بإجراء معالجة التحقق، وتوليد اقتراح(Proposal) مع معلومات أولية كاملة، وترتبط بمعرف الاقتراح الفريد proposal_id، وتضاف إلى خريطة Contract.proposals التي يتم صيانتها عالميًا من قبل العقد.
تشمل معلومات الخصائص الكاملة للاقتراح:
وصف (description)
نوع (kind )
المقترح ( proposer )
الحالة(status)
وقت الإطلاق(submission_time)
حالة التصويت(عدد الأصوات, الأصوات)
تتطلب العقود الذكية من المقترح أن يقوم برهن مبلغ معين من رموز NEAR كضمان عند استدعاء add_proposal(). يتم استرداد هذا الوديعة عند انتهاء الاقتراح بشكل طبيعي من خلال internal_return_bonds().
!
2. حالة الاقتراح
قد تمر الاقتراحات في Sputnik-DAO بالحالات التالية:
InProgress( الحالة الأولية)
معتمد
مرفوض
تم الإزالة
منتهي الصلاحية
تم التحريك
فشل
تغيير حالة الاقتراح مدفوع بطريقة act_proposal(). يمكن للأعضاء تنفيذ الإجراءات التالية على الاقتراح:
تصويتموافقة: تصويتوافق
VoteReject: جدول ضد
VoteRemove: يعتبر غير ذي معنى، يجب إزالته
سيتم استدعاء policy.proposal_status() للقيام بالتصويت، وتغيير حالة الاقتراحات التي تلبي العتبة.
سيتم تنفيذ الاقتراح في حالة الموافقة
حالة مرفوضة أو مُزالة تنفيذ العمليات النهائية
تمت إزالة اقتراح الحالة من مجموعة الاقتراحات، ولا يتم رد الوديعة
تم رفض حالة الاقتراح، ستبقى في حوض الاقتراحات، وسيتم استرداد الوديعة.
!
3. تنفيذ الاقتراح
سيتم تنفيذ محتوى القرار من خلال internal_execute_proposal() للاقتراحات التي حالتها معتمدة. تشمل أنواع الاقتراحات المدعومة:
تغيير التكوين
تغيير السياسة
إضافة عضو إلى الدور
إزالة العضو من الدور
استدعاء الوظيفة
ترقية ذاتية
ترقيةعن بعد
نقل
SetStakingContract
ادباونتي
باونتيdone
تصويت
تحديث معلومات المصنع
ChangePolicyAddOrUpdateRole
ChangePolicyRemoveRole
تغيير سياسة تحديث سياسة التصويت الافتراضية
ChangePolicyUpdateParameters
فيما يلي عرض لعمليات معالجة نوعين نموذجيين من الاقتراحات:
3.1 اقتراح تنفيذ دالة العقد
تم تمرير نوع الاقتراح FunctionCall عند الإنشاء مع العملية الوظيفية (actions). يمكن أن تحتوي الداخلية على عدة كائنات ActionCall، التي تحدد اسم طريقة العقد والمعلمات.
يستخدم Sputnik-DAO شكل إجراءات دفعة الوعد لتنفيذ اقتراحات نوع تنفيذ دالة العقود.
3.2 اقتراح نقل أموال العقد
يتم استخدام اقتراح نوع النقل لنقل الرموز المميزة المتراكمة في حساب العقد إلى receiver_id المحدد.
internal_execute_proposal() معالجة مقترحات من نوع Transfer ستقوم باستدعاء دالة internal_payout()، لتحقيق عمليات تحويل مختلفة لنوع Fungible Token و receiver_id.
!
4. الملخص
تقدم هذه المقالة المفهوم الأساسي لعقود Sputnik DAO الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، تنفيذ التصويت وقواعد تغيير الحالة. سيتم لاحقًا وصف تنفيذ وتكوين نمط حوكمة Sputnik-DAO (Policy) بناءً على الاقتراح.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 12
أعجبني
12
8
إعادة النشر
مشاركة
تعليق
0/400
WhaleMistaker
· 08-06 16:14
هل من الرائع حقًا أن تمتلك dao المال؟
شاهد النسخة الأصليةرد0
RugPullAlarm
· 08-06 10:47
اه، ما يسمى بالحكم الذاتي ليس سوى خدعة لإخفاء صندوق الأموال المستتر. بيانات داخل السلسلة توضح كل شيء.
شاهد النسخة الأصليةرد0
BearMarketSurvivor
· 08-06 08:36
آلية اقتراح Near مثيرة للاهتمام، أليس كذلك؟
شاهد النسخة الأصليةرد0
SleepyValidator
· 08-04 05:57
近几天rust学التصفية القسرية好起来了
شاهد النسخة الأصليةرد0
TestnetScholar
· 08-04 04:35
مرة أخرى في عملية توحيد معيار dao
شاهد النسخة الأصليةرد0
AirdropHunter007
· 08-04 04:34
هذه الـ dao الخاصة بـ near ليست مثيرة للاهتمام، سأبيعها بمجرد أن أتمكن من ذلك.
شاهد النسخة الأصليةرد0
rekt_but_vibing
· 08-04 04:34
هناك الكثير من الاقتراحات، لا يمكن التصويت عليها، ماذا نفعل؟
تحليل آلية اقتراح العقود الذكية Sputnik DAO: من الإطلاق إلى التنفيذ الكامل
Rust العقود الذكية养成日记(11): تحليل آلية اقتراحات DAO
تعمل Sputnik-DAO كجزء من بنية NEAR Protocol التحتية، على دفع نظام NEAR البيئي نحو التنمية اللامركزية. حالياً، ساهمت هذه المنصة في إنشاء عدة مشاريع NEAR لمجتمعات ذاتية الحكم، وقدمت حلولاً شاملة ومرنة لحوكمة قرارات المجتمع.
Sputnikdaov2 هو عقد ذكي مخصص للتصويت على حوكمة مجتمع Sputnik-DAO. ستتناول هذه المقالة المفاهيم الأساسية لهذا العقد: الاقتراح (Proposal)، وسيتم شرح نماذج حوكمة مجتمع DAO ذات الصلة حول الاقتراح في المقالات اللاحقة (Policy).
1. إطلاق الاقتراح
يمكن لكل عضو في Sputnik-DAO أن يعبر عن رأيه أو يقدم اقتراحات بشأن إدارة المشروع. يمكن للأعضاء المساهمين التصويت على الاقتراحات. يمكن للأعضاء التأثير على مسار المشروع في المستقبل من خلال التصويت أو تقديم الاقتراحات.
على مستوى العقد، يمكن للأعضاء استدعاء طريقة add_proposal() لعقد sputnikdaov2 لبدء اقتراح جديد:
صدأ حانة fn add_proposal( & mut self ، اقتراح: ProposalInput) -> u64
يجب على المقترح تقديم تفاصيل الاقتراح ( ProposalInput ):
add_proposal() ستقوم الطريقة بإجراء معالجة التحقق، وتوليد اقتراح(Proposal) مع معلومات أولية كاملة، وترتبط بمعرف الاقتراح الفريد proposal_id، وتضاف إلى خريطة Contract.proposals التي يتم صيانتها عالميًا من قبل العقد.
تشمل معلومات الخصائص الكاملة للاقتراح:
تتطلب العقود الذكية من المقترح أن يقوم برهن مبلغ معين من رموز NEAR كضمان عند استدعاء add_proposal(). يتم استرداد هذا الوديعة عند انتهاء الاقتراح بشكل طبيعي من خلال internal_return_bonds().
!
2. حالة الاقتراح
قد تمر الاقتراحات في Sputnik-DAO بالحالات التالية:
تغيير حالة الاقتراح مدفوع بطريقة act_proposal(). يمكن للأعضاء تنفيذ الإجراءات التالية على الاقتراح:
سيتم استدعاء policy.proposal_status() للقيام بالتصويت، وتغيير حالة الاقتراحات التي تلبي العتبة.
!
3. تنفيذ الاقتراح
سيتم تنفيذ محتوى القرار من خلال internal_execute_proposal() للاقتراحات التي حالتها معتمدة. تشمل أنواع الاقتراحات المدعومة:
فيما يلي عرض لعمليات معالجة نوعين نموذجيين من الاقتراحات:
3.1 اقتراح تنفيذ دالة العقد
تم تمرير نوع الاقتراح FunctionCall عند الإنشاء مع العملية الوظيفية (actions). يمكن أن تحتوي الداخلية على عدة كائنات ActionCall، التي تحدد اسم طريقة العقد والمعلمات.
يستخدم Sputnik-DAO شكل إجراءات دفعة الوعد لتنفيذ اقتراحات نوع تنفيذ دالة العقود.
3.2 اقتراح نقل أموال العقد
يتم استخدام اقتراح نوع النقل لنقل الرموز المميزة المتراكمة في حساب العقد إلى receiver_id المحدد.
internal_execute_proposal() معالجة مقترحات من نوع Transfer ستقوم باستدعاء دالة internal_payout()، لتحقيق عمليات تحويل مختلفة لنوع Fungible Token و receiver_id.
!
4. الملخص
تقدم هذه المقالة المفهوم الأساسي لعقود Sputnik DAO الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، تنفيذ التصويت وقواعد تغيير الحالة. سيتم لاحقًا وصف تنفيذ وتكوين نمط حوكمة Sputnik-DAO (Policy) بناءً على الاقتراح.
!