Аналіз механізму пропозицій Sputnik DAO: Ядро децентралізованого управління екосистеми NEAR

robot
Генерація анотацій у процесі

Rust смартконтракти养成日记(11) - Sputnik DAO提案机制解析

Sputnik-DAO як інфраструктура NEAR Protocol, сприяє розвитку екосистеми NEAR у напрямку децентралізації. На даний момент платформа вже сприяла реалізації численних проектів NEAR у сфері децентралізованого управління, одночасно надаючи повноцінні, гнучкі та ефективні рішення для управління спільнотою.

Sputnikdaov2 є смартконтрактом для голосування з управління спільнотою Sputnik-DAO. У цій статті буде представлено основні концепції цього контракту: пропозиція (Proposal), а в наступних статтях буде розглянуто відповідні моделі управління спільнотою DAO (Policy).

!

1. Ініціювання пропозиції

Кожен учасник спільноти Sputnik-DAO може висловлювати думки або подавати пропозиції щодо управління чи адміністрування проєкту. Потім кожен учасник спільноти, що має акції в DAO, може розглянути цю пропозицію та проголосувати за неї. Іншими словами, кожен учасник Sputnik-DAO може впливати на майбутнє проєкту шляхом голосування за пропозиції інших учасників або ініціюючи нові пропозиції щодо управління.

На рівні контракту, члени DAO-спільноти можуть викликати метод add_proposal(), наданий контрактом sputnikdaov2, щоб ініціювати нову пропозицію. Ініціатор пропозиції повинен надати детальну інформацію про пропозицію (ProposalInput), включаючи:

  • Текстовий опис пропозиції ( Description )
  • Тип пропозиції ( kind )

Ця інформація буде передана як параметри в метод add_proposal(), який виконає відповідну перевірку та обробку, а також створить повну пропозицію (Proposal). Врешті-решт ця пропозиція буде прив'язана до єдиного proposal_id та додана до пулу пропозицій, що підтримується глобально в смартконтракті.

Повна інформація про властивості пропозиції включає:

  • Опишіть (description)
  • тип (kind )
  • пропонент(proposer)
  • стан(status)
  • час подачі(submission_time)
  • статус голосування ( кількість голосів, голоси )

Слід зазначити, що в Sputnik-DAO існує концепція депозиту за пропозицію (proposal_bond), який буде управлятися відповідно до конкретної моделі управління спільнотою. Контракт вимагає від ініціатора пропозиції, щоб він заморозив певну кількість токенів NEAR як заставу для нової пропозиції при виклику методу add_proposal(). Цей депозит буде повернутий ініціатору пропозиції після нормального завершення пропозиції.

!

2. Статус пропозиції

Пропозиції в Sputnik-DAO можуть проходити через різні стани, початковий стан - InProgress. Конкретні зміни стану керуються методом контракту act_proposal().

Члени DAO можуть викликати метод act_proposal() для виконання таких дій щодо пропозиції:

  • VoteApprove: означає підтримку
  • VoteReject: означає проти
  • VoteRemove: вважає, що ця пропозиція не має практичного значення, потрібно видалити

Зміна статусу пропозиції:

  • Якщо Approved, буде виконано через internal_execute_proposal()
  • Якщо статус буде Rejected або Removed, подальші дії будуть виконані через internal_reject_proposal()

Різниця між статусами Rejected та Removed полягає в тому, що пропозиції зі статусом Removed будуть безпосередньо видалені з пулу пропозицій, і депозит не буде повернуто. Натомість пропозиції зі статусом Rejected залишатимуться в пулі пропозицій, і депозит буде повернуто.

!

3. Виконання пропозиції

Якщо статус пропозиції Approved, метод act_proposal() внутрішньо викликатиме функцію internal_execute_proposal() для виконання змісту пропозиції.

Sputnik-DAO підтримує кілька типів пропозицій, у цій статті зосереджено увагу на двох типових процесах обробки пропозицій:

3.1 виконання функцій контракту пропозиції

Для пропозицій типу FunctionCall ініціатор під час add_proposal() передав конкретні функціональні дії для виконання (actions). internal_execute_proposal() буде виконано у формі Promise Batch Actions для виконання функції контракту.

3.2 пропозиція щодо переведення коштів смартконтракту

Для пропозицій типу Transfer, internal_execute_proposal() викликатиме функцію internal_payout(), що реалізує операції переказу для різних типів Fungible Token та різних типів receiver_id.

!

4. Підсумок

Ця стаття представляє основні концепції смартконтракту Sputnik DAO — пропозицію (Proposal), включаючи правила створення пропозицій, голосування, виконання та зміни статусу. Наступні статті на основі пропозиції нададуть більш детальний опис реалізації та налаштування моделі управління в Sputnik-DAO (Policy).

!

ACT2.46%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Репост
  • Поділіться
Прокоментувати
0/400
TokenDustCollectorvip
· 07-24 18:30
один, хто не займається пастка
Переглянути оригіналвідповісти на0
SelfSovereignStevevip
· 07-23 07:13
Досить багато грошей, дивитися на це запаморочливо.
Переглянути оригіналвідповісти на0
GateUser-1a2ed0b9vip
· 07-21 22:53
Пропозиція також потребує депозиту бик啊
Переглянути оригіналвідповісти на0
GasFeeCryvip
· 07-21 20:05
Працюючи, не можу сплатити газ.
Переглянути оригіналвідповісти на0
CantAffordPancakevip
· 07-21 20:03
Механізм пропозицій досить строгий.
Переглянути оригіналвідповісти на0
ImaginaryWhalevip
· 07-21 19:59
колись давно не розкручували
Переглянути оригіналвідповісти на0
ChainSherlockGirlvip
· 07-21 19:59
Знову настав час спостерігати за управлінням спільнотою! Кажучи про заставу, це занадто реалістично... не будемо грати у виставу з про.
Переглянути оригіналвідповісти на0
TestnetFreeloadervip
· 07-21 19:38
Управління? Пропозиція? смартконтракти? Що за чорт, ти розумієш?
Переглянути оригіналвідповісти на0
  • Закріпити