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

robot
Генерация тезисов в процессе

Rust смарт-контракты养成日记(10-3): Анализ механизма предложений DAO Sputnik

Sputnik-DAO как инфраструктура NEAR Protocol способствует развитию экосистемы NEAR в децентрализованном направлении. В настоящее время платформа уже содействовала созданию нескольких децентрализованных автономных сообществ проектов NEAR и предлагает полное и гибкое решение для управления принятия решений в сообществе.

Sputnikdaov2 является смарт-контрактом для голосования по управлению сообществом Sputnik-DAO. В этой статье будут представлены основные концепции данного контракта: предложение (Proposal), а последующие статьи будут посвящены связанным с предложением моделям управления сообществом DAO (Policy).

!

1. Инициирование предложения

Члены сообщества Sputnik-DAO могут высказывать мнения или подавать предложения по управлению или администрированию проекта. Каждый акционер сообщества может рассматривать и голосовать по предложениям, тем самым влияя на будущее проекта.

На уровне контракта члены DAO могут вызывать метод add_proposal() контракта sputnikdaov2 для подачи нового предложения. При вызове необходимо предоставить подробную информацию о предложении(ProposalInput), включая:

  • Текстовое описание предложения (Description)
  • Тип предложения ( kind )

Метод add_proposal() будет выполнять проверку и обработку, создавая полный предложение (Proposal), и связывая его с уникальным proposal_id, добавляя его в пул предложений, поддерживаемый смарт-контрактами.

Полная информация о свойствах предложения включает: инициатора, статус, время начала, статус голосования и т.д. Статус нового предложения по умолчанию установлен на InProgress.

Sputnik-DAO требует от инициаторов предложений заложить определенное количество токенов NEAR в качестве депозита. Этот депозит будет возвращен инициатору предложения после нормального завершения предложения.

!

2. Статус предложения

Предложения в Sputnik-DAO могут проходить через различные состояния: InProgress, Approved, Rejected, Removed и т.д.

Изменение статуса предложения осуществляется с помощью метода act_proposal(). Члены DAO могут вызывать этот метод для голосования по предложению и других действий:

  • VoteApprove: одобрить
  • VoteReject:Против
  • VoteRemove: считает, что предложение бессмысленно, необходимо удалить

Внутренний вызов policy.proposal_status() будет использоваться для подсчета голосов. Для предложений, которые соответствуют порогу голосования, статус будет изменен соответствующим образом:

  • Одобрено: вызов internal_execute_proposal() для выполнения предложения
  • Отклонено/Удалено: вызов internal_reject_proposal() для выполнения завершающих операций

Предложения со статусом Removed будут напрямую удалены из пула предложений без возврата депозита. Предложения со статусом Rejected останутся в пуле предложений и депозит будет возвращен.

!

3. Исполнение предложений

Если статус предложения Approved, внутренняя система вызовет internal_execute_proposal() для выполнения содержания предложения.

Sputnik-DAO поддерживает множество типов предложений, большинство из которых связаны с обновлениями конфигурации модели управления DAO. Ниже представлены два типичных процесса обработки предложений:

3.1 Исполнение предложений функций смарт-контрактов

Для предложений типа FunctionCall внутренне будет использоваться форма Promise Batch Actions для выполнения вызовов методов контракта, указанных в предложении.

3.2 Предложение о переводе средств по смарт-контракту

Для предложений типа Transfer будет вызываться функция internal_payout(), чтобы реализовать перевод различных типов токенов на указанный счет.

В этой статье рассматриваются ключевые концепции контракта Sputnik DAO — предложение (Proposal), включая процесс создания, голосования и выполнения предложений. В дальнейшем будет подробнее рассмотрена реализация и настройка модели управления в Sputnik-DAO (Policy).

!

ACT-0.67%
BATCH154.55%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Репост
  • Поделиться
комментарий
0/400
RetiredMinervip
· 08-13 09:59
Голосование за управление, знакомый вкус снова пришел.
Посмотреть ОригиналОтветить0
GameFiCriticvip
· 08-12 02:31
Управленческое решение все еще недостаточно децентрализовано, распределение весов голосования нужно сделать более сбалансированным.
Посмотреть ОригиналОтветить0
OnchainHolmesvip
· 08-12 02:28
Не знаю, это снова проект DAO.
Посмотреть ОригиналОтветить0
NeverVoteOnDAOvip
· 08-12 02:10
Хе-хе, просто послушай, что тут говорят, что за голосование?
Посмотреть ОригиналОтветить0
  • Закрепить