Rust смартконтракти养成日记:глибокий аналіз механізму пропозицій Sputnik DAO
Sputnik DAO як інфраструктура екосистеми NEAR, просуває проекти NEAR до децентралізованого управління. У цій статті ми детально проаналізуємо основні концепції в смартконтрактах Sputnik DAO - механізм пропозиції (Proposal).
!
1. Ініціювання пропозиції
Кожен учасник Sputnik DAO може ініціювати пропозицію, висловлюючи свою думку щодо управління проектом. З точки зору контракту, учасники можуть викликати метод add_proposal() контракту sputnikdaov2 для ініціювання нової пропозиції:
Автори пропозицій повинні надати детальну інформацію про пропозицію, включаючи:
Опис пропозиції
Тип пропозиції (, такі як FunctionCall, Transfer тощо )
Контракт додатково обробить цю інформацію, створивши повний об'єкт Proposal і призначивши унікальний proposal_id.
Варто зазначити, що для ініціювання пропозиції потрібно заблокувати певну кількість токенів NEAR як заставу. Ця застава буде повернена ініціатору пропозиції після нормального завершення пропозиції.
!
2. Стан пропозиції
Пропозиції в Sputnik DAO можуть проходити через кілька станів:
InProgress: початковий стан, триває голосування
Approved: голосування пройшло
Відхилено: голосування не пройшло
Видалено:被移除
Зміна стану пропозиції керується методом act_proposal(). Члени DAO можуть викликати цей метод для голосування за пропозицію:
VoteApprove: підтримую
VoteReject: Проти
VoteRemove: видалити
Після завершення голосування оновіть статус пропозиції відповідно до результатів голосування.
!
3. Виконання пропозиції
Коли стан пропозиції змінюється на Approved, контракт викликає функцію internal_execute_proposal() для виконання змісту пропозиції.
Sputnik DAO підтримує кілька типів пропозицій, у цій статті особлива увага приділяється двом типовим пропозиціям:
3.1 Виконання функцій контракту пропозиція
Для пропозицій типу FunctionCall контракт виконує виклик функції, зазначений у пропозиції. Пропозиція може містити кілька об'єктів ActionCall, кожен з яких задає метод контракту та параметри, які потрібно викликати.
!
3.2 Пропозиція щодо переміщення коштів за смартконтрактом
Пропозиції типу Transfer використовуються для переміщення токенів з контрактного рахунку на вказаний рахунок. Контракт виконає відповідні операції з переказу в залежності від типу токена та типу отримувача.
!
4. Підсумок
Ця стаття представляє основні концепції механізму пропозицій у контракті Sputnik DAO, включаючи створення пропозицій, зміни статусу та процес виконання. Цей механізм забезпечує гнучке та ефективне децентралізоване управління для проекту NEAR.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
18 лайків
Нагородити
18
7
Поділіться
Прокоментувати
0/400
SelfSovereignSteve
· 19год тому
Ця пропозиція звучить складніше, ніж ETH.
Переглянути оригіналвідповісти на0
TxFailed
· 20год тому
насправді ще одне DAO, яке зазнає невдачі через апатію виборців... вже проходив через це
Переглянути оригіналвідповісти на0
AllInAlice
· 20год тому
Управління також передбачає проектування механізмів.
Переглянути оригіналвідповісти на0
mev_me_maybe
· 20год тому
Гроші - це тверда правда.
Переглянути оригіналвідповісти на0
GasFeeCrying
· 20год тому
чи знову налаштування механізму? Час платити за паливо
Аналіз смартконтрактів Sputnik DAO: децентралізоване управління екосистеми NEAR з точки зору механізму пропозицій
Rust смартконтракти养成日记:глибокий аналіз механізму пропозицій Sputnik DAO
Sputnik DAO як інфраструктура екосистеми NEAR, просуває проекти NEAR до децентралізованого управління. У цій статті ми детально проаналізуємо основні концепції в смартконтрактах Sputnik DAO - механізм пропозиції (Proposal).
!
1. Ініціювання пропозиції
Кожен учасник Sputnik DAO може ініціювати пропозицію, висловлюючи свою думку щодо управління проектом. З точки зору контракту, учасники можуть викликати метод add_proposal() контракту sputnikdaov2 для ініціювання нової пропозиції:
іржавчина Паб Fn add_proposal(&mut self, пропозиція: ProposalInput) -> U64
Автори пропозицій повинні надати детальну інформацію про пропозицію, включаючи:
Контракт додатково обробить цю інформацію, створивши повний об'єкт Proposal і призначивши унікальний proposal_id.
Варто зазначити, що для ініціювання пропозиції потрібно заблокувати певну кількість токенів NEAR як заставу. Ця застава буде повернена ініціатору пропозиції після нормального завершення пропозиції.
!
2. Стан пропозиції
Пропозиції в Sputnik DAO можуть проходити через кілька станів:
Зміна стану пропозиції керується методом act_proposal(). Члени DAO можуть викликати цей метод для голосування за пропозицію:
Після завершення голосування оновіть статус пропозиції відповідно до результатів голосування.
!
3. Виконання пропозиції
Коли стан пропозиції змінюється на Approved, контракт викликає функцію internal_execute_proposal() для виконання змісту пропозиції.
Sputnik DAO підтримує кілька типів пропозицій, у цій статті особлива увага приділяється двом типовим пропозиціям:
3.1 Виконання функцій контракту пропозиція
Для пропозицій типу FunctionCall контракт виконує виклик функції, зазначений у пропозиції. Пропозиція може містити кілька об'єктів ActionCall, кожен з яких задає метод контракту та параметри, які потрібно викликати.
!
3.2 Пропозиція щодо переміщення коштів за смартконтрактом
Пропозиції типу Transfer використовуються для переміщення токенів з контрактного рахунку на вказаний рахунок. Контракт виконає відповідні операції з переказу в залежності від типу токена та типу отримувача.
!
4. Підсумок
Ця стаття представляє основні концепції механізму пропозицій у контракті Sputnik DAO, включаючи створення пропозицій, зміни статусу та процес виконання. Цей механізм забезпечує гнучке та ефективне децентралізоване управління для проекту NEAR.
!
!
!
!
!
!
!
!
!
!
!
!
!