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

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

Rust смартконтракти养成日记(11): Аналіз механізму пропозицій DAO Sputnik

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):

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

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

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

  • опис: Опис
  • kind: тип
  • proposer: ініціатор
  • статус: статус
  • submission_time: час подання
  • vote_counts: підрахунок голосів
  • votes: записи голосування

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

!

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

Пропозиції в Sputnik-DAO можуть проходити через кілька станів:

  • InProgress: В процесі
  • Approved: Схвалено
  • Rejected: Відхилено
  • Видалено: 已移除

Зміна статусу пропозиції керується методом 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 Batch Actions.

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

Пропозиція типу Transfer використовується для передачі токенів, накопичених на рахунку контракту, на вказаний рахунок. internal_execute_proposal() викликатиме функцію internal_payout(), реалізуючи операції з переказу для різних типів токенів та рахунків отримувачів.

!

4. Підсумок

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

!

ACT3.48%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 3
  • Поділіться
Прокоментувати
0/400
APY追逐者vip
· 2год тому
Виконання на високому рівні
Переглянути оригіналвідповісти на0
GhostAddressMinervip
· 11год тому
Зробіть акцент. Основна увага на депозит.
Переглянути оригіналвідповісти на0
RugResistantvip
· 11год тому
Система пропозицій є дуже науковою
Переглянути оригіналвідповісти на0
  • Закріпити