Sputnik-DAO как инфраструктура NEAR Protocol, продвигает экосистему NEAR в сторону "децентрализации". В настоящее время эта платформа способствовала созданию множества "децентрализованных" автономных сообществ NEAR, одновременно предоставляя полные, гибкие и эффективные решения для управления сообществом.
Sputnikdaov2 является смарт-контрактом для голосования по управлению сообществом Sputnik-DAO. В этой статье будут рассмотрены основные концепции этого контракта: предложение (Proposal), а в последующих статьях будет представлена информация о «предложении» и связанных с ним моделях управления DAO (Policy).
!
1. Инициирование предложения ( Добавить предложение )
Члены сообщества Sputnik-DAO могут высказывать мнения или подавать предложения по управлению или администрированию проекта. Каждый акционер сообщества может обсуждать и голосовать по предложениям. Члены сообщества могут влиять на будущее проекта, голосуя или инициируя новые управленческие предложения.
На уровне контракта члены сообщества DAO могут вызывать метод add_proposal() контракта sputnikdaov2 для инициирования нового предложения:
Представитель должен предоставить подробную информацию о предложении (ProposalInput):
Текстовое описание предложения ( Описание )
Тип предложения ( kind )
метод add_proposal() будет выполнять проверку, создавая полный проект (Proposal), который будет связан с уникальным proposal_id и добавлен в пул предложений, поддерживаемый глобально смарт-контрактом.
Полная информация о свойствах предложения включает в себя:
описание(description)
тип (kind )
Предлагающий (proposer)
Статус (status)
время начала ( время подачи )
Статус голосования ( количество голосов, голоса )
Важно отметить, что Sputnik-DAO требует от инициаторов предложений залога определенной суммы токенов NEAR в качестве обеспечения при подаче предложения. Этот залог будет возвращен инициатору предложения по окончании нормального срока его действия.
!
2. Статус предложения(Статус предложения)
Предложения в Sputnik-DAO могут проходить через несколько состояний, начальное состояние - InProgress. Изменение статуса предложения управляется методом act_proposal().
Члены сообщества могут выполнять следующие действия с предложениями:
VoteApprove: обозначает одобрение
VoteReject: означает против
VoteRemove: Считаю, что это предложение бессмысленно, необходимо удалить
После голосования будет проведен подсчет голосов, и статус предложений, удовлетворяющих порогу голосования, будет соответственно изменен:
Approved: Одобрено: через вызов internal_execute_proposal() выполнить предложение
Разница между состояниями Rejected и Removed заключается в том, что предложения в состоянии Removed будут непосредственно удалены из пула предложений и депозит не возвращается.
!
3. Исполнение предложения ( Выполнить предложение )
Для предложений в состоянии Approved будет вызвана функция internal_execute_proposal() для выполнения содержания предложения.
Sputnik-DAO поддерживает несколько типов предложений, в этой статье особое внимание уделяется двум типичным типам:
3.1 Исполнение функции контракта Предложение(ProposalKind::FunctionCall)
Предложения типа FunctionCall могут выполнять указанные функции контракта. Предложение содержит операции функции для выполнения (actions), можно указать несколько объектов ActionCall, каждый из которых определяет соответствующее имя метода контракта и параметры.
В конечном итоге выполнение функций контракта осуществляется в виде Promise Batch Actions.
3.2 Предложение о переводе средств по смарт-контрактам(ProposalKind::Transfer)
Предложения типа Transfer могут переносить токены, накопленные на контрактном счете, такие как (NEAR или токены стандарта NEP-141 ), на указанный счет.
internal_execute_proposal() будет вызывать функцию internal_payout(), чтобы реализовать операции перевода для различных типов токенов и учетных записей получателей.
!
4. Резюме
В этой статье представлена основная концепция контракта Sputnik DAO — предложение (Proposal), включая создание предложений, голосование, выполнение и правила изменения статуса. В последующих статьях будет более подробно описан режим управления Sputnik-DAO на основе предложений (Policy).
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
17 Лайков
Награда
17
6
Поделиться
комментарий
0/400
RugResistant
· 2ч назад
хм, нашел несколько подозрительных паттернов имплементации... требует тщательного аудита, не буду лукавить
Посмотреть ОригиналОтветить0
WhaleMistaker
· 2ч назад
Этот смарт-контракт выглядит очень сложным.
Посмотреть ОригиналОтветить0
GateUser-ccc36bc5
· 2ч назад
Этот механизм предложений слишком прост.
Посмотреть ОригиналОтветить0
MEVVictimAlliance
· 2ч назад
Что обязательно нужно посмотреть для начала работы с DAO
Посмотреть ОригиналОтветить0
ponzi_poet
· 2ч назад
Всё это безнадёжно, даже при просмотре смарт-контрактов приходится сталкиваться с английскими заголовками. Ужас, ужас~
Анализ ядра смарт-контрактов Sputnik DAO: Подробное объяснение механизма предложений
Rust смарт-контракты养成日记(10-3)Sputnik DAO::提案机制剖析
Sputnik-DAO как инфраструктура NEAR Protocol, продвигает экосистему NEAR в сторону "децентрализации". В настоящее время эта платформа способствовала созданию множества "децентрализованных" автономных сообществ NEAR, одновременно предоставляя полные, гибкие и эффективные решения для управления сообществом.
Sputnikdaov2 является смарт-контрактом для голосования по управлению сообществом Sputnik-DAO. В этой статье будут рассмотрены основные концепции этого контракта: предложение (Proposal), а в последующих статьях будет представлена информация о «предложении» и связанных с ним моделях управления DAO (Policy).
!
1. Инициирование предложения ( Добавить предложение )
Члены сообщества Sputnik-DAO могут высказывать мнения или подавать предложения по управлению или администрированию проекта. Каждый акционер сообщества может обсуждать и голосовать по предложениям. Члены сообщества могут влиять на будущее проекта, голосуя или инициируя новые управленческие предложения.
На уровне контракта члены сообщества DAO могут вызывать метод add_proposal() контракта sputnikdaov2 для инициирования нового предложения:
руда pub fn add_proposal(&mut self, предложение: ProposalInput) -> U64
Представитель должен предоставить подробную информацию о предложении (ProposalInput):
метод add_proposal() будет выполнять проверку, создавая полный проект (Proposal), который будет связан с уникальным proposal_id и добавлен в пул предложений, поддерживаемый глобально смарт-контрактом.
Полная информация о свойствах предложения включает в себя:
Важно отметить, что Sputnik-DAO требует от инициаторов предложений залога определенной суммы токенов NEAR в качестве обеспечения при подаче предложения. Этот залог будет возвращен инициатору предложения по окончании нормального срока его действия.
!
2. Статус предложения(Статус предложения)
Предложения в Sputnik-DAO могут проходить через несколько состояний, начальное состояние - InProgress. Изменение статуса предложения управляется методом act_proposal().
Члены сообщества могут выполнять следующие действия с предложениями:
После голосования будет проведен подсчет голосов, и статус предложений, удовлетворяющих порогу голосования, будет соответственно изменен:
Разница между состояниями Rejected и Removed заключается в том, что предложения в состоянии Removed будут непосредственно удалены из пула предложений и депозит не возвращается.
!
3. Исполнение предложения ( Выполнить предложение )
Для предложений в состоянии Approved будет вызвана функция internal_execute_proposal() для выполнения содержания предложения.
Sputnik-DAO поддерживает несколько типов предложений, в этой статье особое внимание уделяется двум типичным типам:
3.1 Исполнение функции контракта Предложение(ProposalKind::FunctionCall)
Предложения типа FunctionCall могут выполнять указанные функции контракта. Предложение содержит операции функции для выполнения (actions), можно указать несколько объектов ActionCall, каждый из которых определяет соответствующее имя метода контракта и параметры.
В конечном итоге выполнение функций контракта осуществляется в виде Promise Batch Actions.
3.2 Предложение о переводе средств по смарт-контрактам(ProposalKind::Transfer)
Предложения типа Transfer могут переносить токены, накопленные на контрактном счете, такие как (NEAR или токены стандарта NEP-141 ), на указанный счет.
internal_execute_proposal() будет вызывать функцию internal_payout(), чтобы реализовать операции перевода для различных типов токенов и учетных записей получателей.
!
4. Резюме
В этой статье представлена основная концепция контракта Sputnik DAO — предложение (Proposal), включая создание предложений, голосование, выполнение и правила изменения статуса. В последующих статьях будет более подробно описан режим управления Sputnik-DAO на основе предложений (Policy).
!