يوميات تطوير العقود الذكية Rust (11): تحليل آلية اقتراحات 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 الفريد، وإضافته إلى مجموعة الاقتراحات التي تحتفظ بها العقود الذكية على مستوى عالمي.
تتضمن المعلومات الكاملة لخصائص الاقتراح:
description:وصف الاقتراح
النوع: نوع الاقتراح
proposer:مقدم الاقتراح
الحالة: حالة الاقتراح
submission_time:وقت التقديم
vote_counts:عدد الأصوات
votes: تفاصيل التصويت
يجب ملاحظة أن Sputnik-DAO يتطلب من مقدمي الاقتراحات رهن كمية معينة من رموز NEAR كضمان. سيتم رد هذا الإيداع عند انتهاء الاقتراح بشكل طبيعي.
!
2. حالة الاقتراح
قد تمر الاقتراحات في Sputnik-DAO بعدة حالات:
InProgress:جاري التنفيذ
Approved:تم الموافقة عليه
Rejected:تم الرفض
Removed: تم الإزالة
تغير حالة الاقتراح مدفوع بأسلوب act_proposal(). يمكن لأعضاء DAO استدعاء هذه الطريقة للتصويت على الاقتراحات وغيرها من العمليات:
VoteApprove: موافقة
VoteReject: ضد
VoteRemove: يزيل
بعد التصويت، سيتم احتساب الأصوات، وستتغير حالة الاقتراحات التي تصل إلى العتبة وفقًا لذلك. سيتم تنفيذ الاقتراحات ذات الحالة Approved، بينما ستنتهي الاقتراحات ذات الحالة Rejected أو Removed.
!
3. تنفيذ الاقتراح
سيتم تنفيذ الاقتراحات التي حالتها Approved من خلال الدالة internal_execute_proposal().
يدعم Sputnik-DAO أنواعًا متعددة من الاقتراحات، والتي تتعلق بشكل رئيسي بتحديث تكوين نماذج حوكمة DAO. هنا نقدم عمليتي معالجة لنوعين نموذجيين من الاقتراحات:
3.1 تنفيذ اقتراح دالة العقد
يمكن تنفيذ مقترحات نوع FunctionCall طرق العقود المحددة. يحتوي الاقتراح على عمليات الدالة المحددة التي يجب تنفيذها (actions)، ويمكن أن تكون هناك عمليات متعددة متتالية function_call. تستخدم Sputnik-DAO شكل Promise Batch Actions لإكمال التنفيذ.
3.2 اقتراح تحويل أموال العقد
يمكن لاقتراحات نوع النقل نقل الرموز المميزة المتراكمة في حساب العقد إلى حساب محدد. يستدعي الدالة internal_payout() في الأساس، لتنفيذ عمليات نقل الرموز المميزة المختلفة وحسابات الاستلام.
4. الخلاصة
تقدم هذه المقالة المفاهيم الأساسية لعقد Sputnik DAO - الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، التصويت، تغيير الحالة، وعملية التنفيذ. سيتم تقديم وصف أكثر تفصيلاً لنموذج حوكمة Sputnik-DAO (Policy) في وقت لاحق.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 12
أعجبني
12
9
إعادة النشر
مشاركة
تعليق
0/400
TokenGuru
· 08-16 21:05
DAO يُستغل بغباء. ، لا يُعتبر أكثر موثوقية من متابعة حركة BTC.
تحليل العقود الذكية 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 الفريد، وإضافته إلى مجموعة الاقتراحات التي تحتفظ بها العقود الذكية على مستوى عالمي.
تتضمن المعلومات الكاملة لخصائص الاقتراح:
يجب ملاحظة أن Sputnik-DAO يتطلب من مقدمي الاقتراحات رهن كمية معينة من رموز NEAR كضمان. سيتم رد هذا الإيداع عند انتهاء الاقتراح بشكل طبيعي.
!
2. حالة الاقتراح
قد تمر الاقتراحات في Sputnik-DAO بعدة حالات:
تغير حالة الاقتراح مدفوع بأسلوب act_proposal(). يمكن لأعضاء DAO استدعاء هذه الطريقة للتصويت على الاقتراحات وغيرها من العمليات:
بعد التصويت، سيتم احتساب الأصوات، وستتغير حالة الاقتراحات التي تصل إلى العتبة وفقًا لذلك. سيتم تنفيذ الاقتراحات ذات الحالة Approved، بينما ستنتهي الاقتراحات ذات الحالة Rejected أو Removed.
!
3. تنفيذ الاقتراح
سيتم تنفيذ الاقتراحات التي حالتها Approved من خلال الدالة internal_execute_proposal().
يدعم Sputnik-DAO أنواعًا متعددة من الاقتراحات، والتي تتعلق بشكل رئيسي بتحديث تكوين نماذج حوكمة DAO. هنا نقدم عمليتي معالجة لنوعين نموذجيين من الاقتراحات:
3.1 تنفيذ اقتراح دالة العقد
يمكن تنفيذ مقترحات نوع FunctionCall طرق العقود المحددة. يحتوي الاقتراح على عمليات الدالة المحددة التي يجب تنفيذها (actions)، ويمكن أن تكون هناك عمليات متعددة متتالية function_call. تستخدم Sputnik-DAO شكل Promise Batch Actions لإكمال التنفيذ.
3.2 اقتراح تحويل أموال العقد
يمكن لاقتراحات نوع النقل نقل الرموز المميزة المتراكمة في حساب العقد إلى حساب محدد. يستدعي الدالة internal_payout() في الأساس، لتنفيذ عمليات نقل الرموز المميزة المختلفة وحسابات الاستلام.
4. الخلاصة
تقدم هذه المقالة المفاهيم الأساسية لعقد Sputnik DAO - الاقتراح (Proposal)، بما في ذلك إنشاء الاقتراح، التصويت، تغيير الحالة، وعملية التنفيذ. سيتم تقديم وصف أكثر تفصيلاً لنموذج حوكمة Sputnik-DAO (Policy) في وقت لاحق.
!