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

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

Rust смарт-контракты养成日记(11) - Sputnik DAO 提案机制详解

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

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

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

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

На уровне контракта члены могут вызывать метод add_proposal() контракта sputnikdaov2 для подачи нового предложения:

ржавчина pub fn add_proposal(&mut self, предложение: ProposalInput) -> U64

Предложитель должен предоставить следующую информацию:

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

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

Полные атрибуты предложения включают: инициатор, статус, время начала, статус голосования и др.

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

!

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

Предложения в Sputnik-DAO могут проходить через несколько состояний, начальное состояние — InProgress. Изменение состояния управляется методом act_proposal().

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

  • VoteApprove: означает одобрение
  • VoteReject: означает отказ
  • VoteRemove: считает, что это предложение не имеет смысла и его нужно удалить

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

  • Предложения в состоянии Approved будут выполнены
  • Предложения в состоянии Rejected или Removed будут выполнены завершающие операции

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

!

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

Одобренные состояния предложений будут вызывать функцию internal_execute_proposal() для выполнения содержания решения.

Sputnik-DAO поддерживает несколько типов предложений, в этой статье акцентируется внимание на двух типичных типах:

3.1 Исполнение функции контракта предложения

Предложения типа FunctionCall могут выполнять указанные методы контракта. Предложитель передает операции функции через ProposalInput при создании (actions).

Каждое действие может указывать имя метода контракта и параметры. Sputnik-DAO использует форму Promise Batch Actions для выполнения функций.

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

Предложения типа Transfer могут передавать токены, накопленные на контрактном счете, такие как (NEAR или токены стандарта NEP-141 ), на указанный счет.

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

!

4. Резюме

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

!

ACT4.72%
BATCH5.48%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 3
  • Репост
  • Поделиться
комментарий
0/400
airdrop_whisperervip
· 2ч назад
сообщество Near становится все более привлекательным
Посмотреть ОригиналОтветить0
OnchainUndercovervip
· 11ч назад
near - это новые неудачники, BTC не беспокоить
Посмотреть ОригиналОтветить0
OnChainArchaeologistvip
· 12ч назад
near все еще в завале啊
Посмотреть ОригиналОтветить0
  • Закрепить