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)
время подачи (submission_time )
Статус голосования ( vote_counts, голоса )
Следует отметить, что в Sputnik-DAO существует концепция депозитов на предложения (proposal_bond). Контракт требует от инициатора предложения внести определенное количество токенов NEAR в качестве залога при вызове add_proposal(). Этот депозит будет возвращен инициатору предложения по завершении предложения.
!
2. Статус предложения
Предложения в Sputnik-DAO могут проходить через несколько состояний:
InProgress: начальное состояние нового предложения
Approved:Получено одобрение
Отказано:被否决
Удалено:被移除
Expired:Просрочено
Перемещено:已转移
Не удалось: выполнение не удалось
Изменение состояния предложения управляется методом act_proposal(). Члены DAO могут вызывать этот метод для голосования по предложению и других действий:
VoteApprove:Одобрить
VoteReject:Против
VoteRemove:удалить
После голосования будет вызвана policy.proposal_status() для подсчета голосов. Для предложений, соответствующих порогу голосования, статус будет соответственно изменен:
Предложения в состоянии Approved будут выполнены
Предложения в состоянии Rejected или Removed будут подвергнуты завершающим действиям.
Предложения в состоянии Removed будут удалены из пула предложений, депозит не возвращается. Предложения в состоянии Rejected останутся в пуле и депозит будет возвращен.
!
3. Исполнение предложения
Если статус предложения изменится на Approved, act_proposal() вызовет internal_execute_proposal() для выполнения содержания предложения.
Sputnik-DAO поддерживает несколько типов предложений, таких как ChangeConfig, ChangePolicy, FunctionCall, Transfer и т.д. Каждый тип имеет соответствующий обработчик.
Вот процесс обработки двух типов типичных предложений:
3.1 Исполнение функции контракта Предложение ( FunctionCall )
Предложения типа FunctionCall могут выполнять определенные методы контракта. Предложение включает операции функций (actions), каждая из которых может указать имя метода контракта и параметры.
В конечном итоге функция вызывается в форме Promise Batch Actions.
3.2 Предложение по переводу средств смарт-контрактов (Transfer )
Предложения типа Transfer могут перемещать токены из контрактного аккаунта на указанный аккаунт.
internal_execute_proposal() вызовет функцию internal_payout(), осуществляя операции перевода для различных типов токенов и получающих учетных записей.
!
4. Итог
В данной статье рассматриваются основные концепции контракта Sputnik DAO — предложение (Proposal), включая создание предложения, голосование, изменения статуса и процесс выполнения. В дальнейшем будет представлено управление Sputnik-DAO на основе предложения (Policy).
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
7 Лайков
Награда
7
5
Репост
Поделиться
комментарий
0/400
Layer2Arbitrageur
· 5ч назад
мех, еще одна имплементация dao gov... проверил газовые показатели - на самом деле на 47% более эффективна, чем голосование в eth
Глубина анализа механизма предложений смарт-контрактов Sputnik DAO
Rust смарт-контракты养成日记(11): 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 существует концепция депозитов на предложения (proposal_bond). Контракт требует от инициатора предложения внести определенное количество токенов NEAR в качестве залога при вызове add_proposal(). Этот депозит будет возвращен инициатору предложения по завершении предложения.
!
2. Статус предложения
Предложения в Sputnik-DAO могут проходить через несколько состояний:
Изменение состояния предложения управляется методом act_proposal(). Члены DAO могут вызывать этот метод для голосования по предложению и других действий:
После голосования будет вызвана policy.proposal_status() для подсчета голосов. Для предложений, соответствующих порогу голосования, статус будет соответственно изменен:
Предложения в состоянии Removed будут удалены из пула предложений, депозит не возвращается. Предложения в состоянии Rejected останутся в пуле и депозит будет возвращен.
!
3. Исполнение предложения
Если статус предложения изменится на Approved, act_proposal() вызовет internal_execute_proposal() для выполнения содержания предложения.
Sputnik-DAO поддерживает несколько типов предложений, таких как ChangeConfig, ChangePolicy, FunctionCall, Transfer и т.д. Каждый тип имеет соответствующий обработчик.
Вот процесс обработки двух типов типичных предложений:
3.1 Исполнение функции контракта Предложение ( FunctionCall )
Предложения типа FunctionCall могут выполнять определенные методы контракта. Предложение включает операции функций (actions), каждая из которых может указать имя метода контракта и параметры.
В конечном итоге функция вызывается в форме Promise Batch Actions.
3.2 Предложение по переводу средств смарт-контрактов (Transfer )
Предложения типа Transfer могут перемещать токены из контрактного аккаунта на указанный аккаунт.
internal_execute_proposal() вызовет функцию internal_payout(), осуществляя операции перевода для различных типов токенов и получающих учетных записей.
!
4. Итог
В данной статье рассматриваются основные концепции контракта Sputnik DAO — предложение (Proposal), включая создание предложения, голосование, изменения статуса и процесс выполнения. В дальнейшем будет представлено управление Sputnik-DAO на основе предложения (Policy).
!