Sputnik-DAO как важная инфраструктура NEAR Protocol, способствует развитию экосистемы NEAR в сторону децентрализации. В настоящее время эта платформа уже способствовала созданию нескольких децентрализованных автономных сообществ NEAR и предоставила полный и гибкий план управления сообществом.
Sputnikdaov2 является смарт-контрактом для голосования по управлению сообществом Sputnik-DAO. В этой статье будут представлены основные концепции данного контракта: предложение (Proposal), в последующих статьях будет рассмотрена связанная с предложением модель управления сообществом DAO (Policy).
1. Инициирование предложения
Члены сообщества Sputnik-DAO могут высказывать мнения или подавать предложения по вопросам управления или администрирования проекта. Каждый акционер может рассматривать и голосовать по предложениям, тем самым влияя на будущее проекта.
На уровне контракта члены могут вызывать метод add_proposal() контракта sputnikdaov2 для подачи нового предложения:
Предложитель должен предоставить следующую информацию:
Текстовое описание предложения (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).
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
8 Лайков
Награда
8
3
Репост
Поделиться
комментарий
0/400
airdrop_whisperer
· 2ч назад
сообщество Near становится все более привлекательным
Анализ смарт-контрактов Sputnik DAO: Основной дизайн и реализация механизма предложений
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
Предложитель должен предоставить следующую информацию:
Эта информация будет передана в метод add_proposal() в качестве параметров, после обработки будет сгенерировано полное предложение (Proposal), которое будет связано с уникальным proposal_id и добавлено в пул предложений, поддерживаемый глобально в смарт-контрактах.
Полные атрибуты предложения включают: инициатор, статус, время начала, статус голосования и др.
Важно отметить, что Sputnik-DAO требует от инициаторов предложений заложить определенное количество токенов NEAR в качестве залога. Этот залог будет возвращен инициатору предложения после его нормального завершения.
!
2. Статус предложения
Предложения в Sputnik-DAO могут проходить через несколько состояний, начальное состояние — InProgress. Изменение состояния управляется методом act_proposal().
Члены могут вызывать act_proposal() для выполнения следующих действий с предложением:
После голосования контракт вызовет policy.proposal_status() для подсчета голосов, и статус предложений, соответствующих условиям, будет изменен соответственно.
提案 в состоянии 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).
!