يعمل 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، وإضافته إلى مجموعة الاقتراحات التي تديرها العقود الذكية على مستوى العالم.
معلومات الخصائص الكاملة للاقتراح تشمل:
الوصف: الوصف
kind: نوع
proposer: مقدم الاقتراح
status: الحالة
submission_time: وقت التقديم
vote_counts: عدد الأصوات
votes: سجلات التصويت
من المهم ملاحظة أن هناك مفهوم وديعة الاقتراح (proposal_bond) في Sputnik-DAO، حيث يجب على مقدم الاقتراح إيداع مبلغ معين من رموز NEAR كضمان عند استدعاء add_proposal(). ستُعاد هذه الوديعة عند انتهاء الاقتراح بشكل طبيعي.
!
2. حالة الاقتراح
قد تمر مقترحات Sputnik-DAO بعدة حالات:
InProgress: قيد التنفيذ
Approved: تمت الموافقة
Rejected: تم الرفض
Removed: تم الإزالة
تغيير حالة الاقتراح مدفوع بطريقة act_proposal(). يمكن لأعضاء DAO استدعاء هذه الطريقة لتنفيذ العمليات التالية على الاقتراح:
VoteApprove: موافقة
VoteReject: معارضة
VoteRemove: إزالة
بعد التصويت، ستتم استدعاء policy.proposal_status() لإجراء العد. ستتغير حالة الاقتراح التي تلبي الشروط إلى Approved أو Rejected أو Removed.
سيتم تنفيذ الاقتراحات التي في حالة موافقة، بينما ستتم عمليات إنهاء للاقتراحات في حالة الرفض والإزالة. سيتم إزالة الاقتراحات في حالة الإزالة من مجموعة الاقتراحات، ولن يتم استرداد الوديعة.
!
3. تنفيذ الاقتراح
بالنسبة للاقتراحات التي في حالة Approved، سيتم استدعاء act_proposal() لتنفيذ محتوى الاقتراح باستخدام internal_execute_proposal().
يدعم Sputnik-DAO أنواعًا متعددة من الاقتراحات، والتي تتعلق بشكل أساسي بتحديث تكوين نماذج حوكمة DAO. تركز هذه المقالة على عمليتي معالجة نوعين نموذجيين من الاقتراحات:
3.1 اقتراح تنفيذ دالة العقد (FunctionCall)
تم تمرير نوع الاقتراح FunctionCall عند إنشائه مع العمليات الوظيفية التي سيتم تنفيذها (actions). ستقوم internal_execute_proposal() بتنفيذ هذه الاستدعاءات الوظيفية على شكل إجراءات دفعة Promise.
3.2 اقتراح تحويل أموال العقود الذكية (Transfer )
اقتراح من نوع التحويل يُستخدم لنقل الرموز المتراكمة في حساب العقد إلى حساب محدد. سيقوم internal_execute_proposal() باستدعاء دالة internal_payout()، لتنفيذ عمليات التحويل للرموز المختلفة وحساب الاستلام.
!
4. الملخص
تقدم هذه المقالة المفاهيم الأساسية لعقد Sputnik DAO - الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، وتغير الحالة، وعمليات التنفيذ. ستقوم المقالات اللاحقة بوصف آلية الاقتراح، ونمط الحوكمة لـ Sputnik-DAO (Policy) بشكل أكثر تفصيلاً.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تحليل العقود الذكية Sputnik DAO: شرح آلية الاقتراح وعملية التنفيذ
Rustالعقود الذكية养成日记(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):
ستستخدم هذه المعلومات كمعاملات في طريقة add_proposal()، حيث ستقوم هذه الطريقة بتنفيذ معالجة التحقق، وإنشاء اقتراح كامل (Proposal)، وارتباطه بمعرف الاقتراح الفريد proposal_id، وإضافته إلى مجموعة الاقتراحات التي تديرها العقود الذكية على مستوى العالم.
معلومات الخصائص الكاملة للاقتراح تشمل:
من المهم ملاحظة أن هناك مفهوم وديعة الاقتراح (proposal_bond) في Sputnik-DAO، حيث يجب على مقدم الاقتراح إيداع مبلغ معين من رموز NEAR كضمان عند استدعاء add_proposal(). ستُعاد هذه الوديعة عند انتهاء الاقتراح بشكل طبيعي.
!
2. حالة الاقتراح
قد تمر مقترحات Sputnik-DAO بعدة حالات:
تغيير حالة الاقتراح مدفوع بطريقة act_proposal(). يمكن لأعضاء DAO استدعاء هذه الطريقة لتنفيذ العمليات التالية على الاقتراح:
بعد التصويت، ستتم استدعاء policy.proposal_status() لإجراء العد. ستتغير حالة الاقتراح التي تلبي الشروط إلى Approved أو Rejected أو Removed.
سيتم تنفيذ الاقتراحات التي في حالة موافقة، بينما ستتم عمليات إنهاء للاقتراحات في حالة الرفض والإزالة. سيتم إزالة الاقتراحات في حالة الإزالة من مجموعة الاقتراحات، ولن يتم استرداد الوديعة.
!
3. تنفيذ الاقتراح
بالنسبة للاقتراحات التي في حالة Approved، سيتم استدعاء act_proposal() لتنفيذ محتوى الاقتراح باستخدام internal_execute_proposal().
يدعم Sputnik-DAO أنواعًا متعددة من الاقتراحات، والتي تتعلق بشكل أساسي بتحديث تكوين نماذج حوكمة DAO. تركز هذه المقالة على عمليتي معالجة نوعين نموذجيين من الاقتراحات:
3.1 اقتراح تنفيذ دالة العقد (FunctionCall)
تم تمرير نوع الاقتراح FunctionCall عند إنشائه مع العمليات الوظيفية التي سيتم تنفيذها (actions). ستقوم internal_execute_proposal() بتنفيذ هذه الاستدعاءات الوظيفية على شكل إجراءات دفعة Promise.
3.2 اقتراح تحويل أموال العقود الذكية (Transfer )
اقتراح من نوع التحويل يُستخدم لنقل الرموز المتراكمة في حساب العقد إلى حساب محدد. سيقوم internal_execute_proposal() باستدعاء دالة internal_payout()، لتنفيذ عمليات التحويل للرموز المختلفة وحساب الاستلام.
!
4. الملخص
تقدم هذه المقالة المفاهيم الأساسية لعقد Sputnik DAO - الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، وتغير الحالة، وعمليات التنفيذ. ستقوم المقالات اللاحقة بوصف آلية الاقتراح، ونمط الحوكمة لـ Sputnik-DAO (Policy) بشكل أكثر تفصيلاً.
!