مذكرات زراعة العقد الذكي للصدأ (10-3) سبوتنيك DAO:: تحليل آلية الاقتراح
تعمل Sputnik-DAO كجزء من بنية NEAR Protocol على دفع نظام NEAR البيئي نحو اتجاه "اللامركزية". وقد ساهمت هذه المنصة بالفعل في إنشاء العديد من المجتمعات المستقلة "اللامركزية" لمشاريع NEAR، بينما تقدم حلولا شاملة ومرنة وفعالة لحوكمة قرارات المجتمع.
Sputnikdaov2 هو عقد ذكي مخصص للتصويت على إدارة مجتمع Sputnik-DAO. ستتناول هذه المقالة المفاهيم الأساسية لهذا العقد: الاقتراح (Proposal)، وفي المقالات اللاحقة سنستعرض نماذج إدارة مجتمع DAO المتعلقة بـ"الاقتراح" (Policy).
!
1. بدء الاقتراح ( إضافة اقتراح )
يمكن لأعضاء مجتمع Sputnik-DAO التعبير عن آرائهم أو تقديم مقترحات بشأن إدارة المشروع أو حوكمة المشروع. يمكن لكل عضو في المجتمع يمتلك أسهماً مراجعة الاقتراحات والتصويت عليها. يمكن لأعضاء المجتمع التأثير على اتجاه المشروع المستقبلي من خلال التصويت أو تقديم مقترحات إدارة جديدة.
على مستوى العقد، يمكن لأعضاء مجتمع DAO استدعاء طريقة add_proposal() لعقد sputnikdaov2 لبدء اقتراح جديد:
يجب على المقترح تقديم تفاصيل الاقتراح ( ProposalInput ):
وصف الاقتراح (Description)
نوع الاقتراح ( نوع )
add_proposal() ستقوم الطريقة بإجراء معالجة للتحقق، وإنشاء اقتراح كامل (Proposal)، وترتبط بمعرف الاقتراح الفريد، وتضاف إلى مجموعة الاقتراحات التي يتم صيانتها عالميًا بواسطة العقد.
تتضمن المعلومات الكاملة لخصائص الاقتراح:
وصف (description)
نوع (kind )
مقدم الاقتراح ( proposer )
الحالة (status)
وقت الإطلاق(submission_time)
حالة التصويت(عدد الأصوات, الأصوات)
من المهم ملاحظة أن Sputnik-DAO يتطلب من مقدمي الاقتراحات إيداع مبلغ معين من رموز NEAR كضمان عند تقديم الاقتراح. سيتم إعادة هذا الإيداع إلى مقدم الاقتراح عند انتهاء الاقتراح بشكل طبيعي.
!
2. حالة الاقتراح(Proposal Status)
قد تمر الاقتراحات في Sputnik-DAO بعدة حالات، وتكون الحالة الأولية هي InProgress. يتم تحريك تغييرات حالة الاقتراح بواسطة طريقة act_proposal().
يمكن لأعضاء المجتمع تنفيذ العمليات التالية على الاقتراح:
VoteApprove: تعني الموافقة
VoteReject: تعني الاعتراض
VoteRemove: يعتقد أن هذا الاقتراح بلا معنى، ويجب إزالته
بعد التصويت، سيتم احتساب الأصوات، وستتغير حالة المقترحات التي تلبي عتبة التصويت.
Approved: تمت الموافقة على الاقتراح من خلال استدعاء internal_execute_proposal()
مرفوض/محذوف: تنفيذ عمليات الإنهاء من خلال استدعاء internal_reject_proposal()
الفرق بين حالة Rejected و Removed هو أن الاقتراح في حالة Removed سيتم إزالته مباشرة من حوض الاقتراحات، ولن يتم استرداد الإيداع.
!
3. تنفيذ الاقتراح ( تنفيذ الاقتراح )
بالنسبة للاقتراحات في حالة الموافقة، سيتم استدعاء دالة internal_execute_proposal() لتنفيذ محتوى الاقتراح.
يدعم Sputnik-DAO أنواعًا متعددة من الاقتراحات، وتركز هذه المقالة على نوعين نموذجيين:
3.1 تنفيذ وظيفة الاقتراح(ProposalKind::FunctionCall)
يمكن لمقترحات نوع FunctionCall تنفيذ دالة عقد محددة. يحتوي الاقتراح على عمليات الدالة التي يجب تنفيذها (actions)، ويمكن تحديد عدة كائنات ActionCall، كل منها يحدد اسم دالة العقد والوسائط ذات الصلة.
تم إكمال تنفيذ دالة العقد في النهاية من خلال شكل إجراءات دفعة الوعد.
3.2 اقتراح نقل أموال العقد ( ProposalKind::Transfer )
يمكن لمقترحات من نوع Transfer نقل الرموز المميزة المتراكمة في حساب العقد (NEAR أو الرموز المميزة بمعيار NEP-141 ) إلى الحساب المحدد.
internal_execute_proposal()ستقوم باستدعاء دالة internal_payout()، لتنفيذ عمليات التحويل للرموز المختلفة وحسابات الاستلام.
!
4. الخلاصة
تستعرض هذه المقالة المفاهيم الأساسية لعقد Sputnik DAO - الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، وتنفيذ التصويت، وقواعد تغيير الحالة. ستتناول المقالات اللاحقة وصفًا أكثر تفصيلًا لنموذج حوكمة Sputnik-DAO بناءً على الاقتراح (Policy).
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 18
أعجبني
18
6
مشاركة
تعليق
0/400
RugResistant
· منذ 8 س
همم، وجدت بعض أنماط التنفيذ المشبوهة... تحتاج إلى تدقيق شامل، بصراحة.
تحليل جوهري لعقود الذكية في Sputnik DAO: شرح آلية الاقتراحات
مذكرات زراعة العقد الذكي للصدأ (10-3) سبوتنيك 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 ):
add_proposal() ستقوم الطريقة بإجراء معالجة للتحقق، وإنشاء اقتراح كامل (Proposal)، وترتبط بمعرف الاقتراح الفريد، وتضاف إلى مجموعة الاقتراحات التي يتم صيانتها عالميًا بواسطة العقد.
تتضمن المعلومات الكاملة لخصائص الاقتراح:
من المهم ملاحظة أن Sputnik-DAO يتطلب من مقدمي الاقتراحات إيداع مبلغ معين من رموز NEAR كضمان عند تقديم الاقتراح. سيتم إعادة هذا الإيداع إلى مقدم الاقتراح عند انتهاء الاقتراح بشكل طبيعي.
!
2. حالة الاقتراح(Proposal Status)
قد تمر الاقتراحات في Sputnik-DAO بعدة حالات، وتكون الحالة الأولية هي InProgress. يتم تحريك تغييرات حالة الاقتراح بواسطة طريقة act_proposal().
يمكن لأعضاء المجتمع تنفيذ العمليات التالية على الاقتراح:
بعد التصويت، سيتم احتساب الأصوات، وستتغير حالة المقترحات التي تلبي عتبة التصويت.
الفرق بين حالة Rejected و Removed هو أن الاقتراح في حالة Removed سيتم إزالته مباشرة من حوض الاقتراحات، ولن يتم استرداد الإيداع.
!
3. تنفيذ الاقتراح ( تنفيذ الاقتراح )
بالنسبة للاقتراحات في حالة الموافقة، سيتم استدعاء دالة internal_execute_proposal() لتنفيذ محتوى الاقتراح.
يدعم Sputnik-DAO أنواعًا متعددة من الاقتراحات، وتركز هذه المقالة على نوعين نموذجيين:
3.1 تنفيذ وظيفة الاقتراح(ProposalKind::FunctionCall)
يمكن لمقترحات نوع FunctionCall تنفيذ دالة عقد محددة. يحتوي الاقتراح على عمليات الدالة التي يجب تنفيذها (actions)، ويمكن تحديد عدة كائنات ActionCall، كل منها يحدد اسم دالة العقد والوسائط ذات الصلة.
تم إكمال تنفيذ دالة العقد في النهاية من خلال شكل إجراءات دفعة الوعد.
3.2 اقتراح نقل أموال العقد ( ProposalKind::Transfer )
يمكن لمقترحات من نوع Transfer نقل الرموز المميزة المتراكمة في حساب العقد (NEAR أو الرموز المميزة بمعيار NEP-141 ) إلى الحساب المحدد.
internal_execute_proposal()ستقوم باستدعاء دالة internal_payout()، لتنفيذ عمليات التحويل للرموز المختلفة وحسابات الاستلام.
!
4. الخلاصة
تستعرض هذه المقالة المفاهيم الأساسية لعقد Sputnik DAO - الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، وتنفيذ التصويت، وقواعد تغيير الحالة. ستتناول المقالات اللاحقة وصفًا أكثر تفصيلًا لنموذج حوكمة Sputnik-DAO بناءً على الاقتراح (Policy).
!