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

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

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):

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

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

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

  • описание: Описание предложения
  • kind: тип предложения
  • proposer: предлагающий
  • статус: статус предложения
  • submission_time: время подачи
  • vote_counts: количество голосов
  • голоса: Подробности голосования

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

!

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

Предложения в Sputnik-DAO могут проходить через несколько состояний:

  • В процессе: начальное состояние, голосование продолжается
  • Одобрено: Голосование прошло
  • Отклонено: голосование не прошло
  • Удалено: 被移除
  • Expired: Истек
  • Moved: Перемещено
  • Не удалось: выполнение завершилось неудачей

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

  • VoteApprove: Одобрить
  • VoteReject: Против
  • VoteRemove: Удалить

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

!

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

Утвержденное предложение ( с состоянием Approved вызовет функцию internal_execute_proposal)( для выполнения содержания решения.

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

) 3.1 Предложение по выполнению функции контракта

Предложение типа FunctionCall позволяет выполнять указанные функции контракта. В предложении содержатся операции функции ###actions(, можно указать несколько последовательных function_call.

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

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

Предложение типа Transfer используется для перевода токенов, накопленных на контрактном счете, на указанный счет.

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

! [])https://img-cdn.gateio.im/webp-social/moments-ef0b959c42e1f5fc6263cd4a86fd078e.webp(

4. Резюме

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

! [])https://img-cdn.gateio.im/webp-social/moments-eb73d5e15f6161f0a4b442cd4b99a91e.webp(

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить