Análise do contrato inteligente Sputnik DAO: Design e implementação do mecanismo de propostas

robot
Geração do resumo em andamento

Diário de Desenvolvimento de Contratos Inteligentes Rust (10-3): Análise do Mecanismo de Propostas do DAO Sputnik

Sputnik-DAO como infraestrutura do NEAR Protocol está impulsionando a ecologia NEAR em direção ao desenvolvimento descentralizado. Atualmente, a plataforma já facilitou várias comunidades autônomas descentralizadas de projetos NEAR e oferece uma solução de governança de tomada de decisão comunitária completa e flexível.

Sputnikdaov2 é um contrato inteligente utilizado para a votação de governança da comunidade Sputnik-DAO. Este artigo irá apresentar os conceitos centrais desse contrato: proposta (Proposal), artigos subsequentes irão abordar os modos de governança da comunidade DAO relacionados à proposta (Policy).

1. Início da proposta

Os membros da comunidade Sputnik-DAO podem opinar ou submeter propostas sobre a governança ou gestão do projeto. Cada membro da comunidade com ações pode rever e votar nas propostas, influenciando assim a direção futura do projeto.

No nível do contrato, os membros da DAO podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta. Ao chamar, é necessário fornecer os detalhes da proposta(ProposalInput), incluindo:

  • Descrição do texto da proposta (Description)
  • Tipo de proposta ( kind )

O método add_proposal() realizará a verificação e o processamento, gerando uma proposta completa (Proposal), que será vinculada a um único proposal_id e adicionada ao pool de propostas mantido pelo contrato.

As informações completas sobre a proposta incluem: proponente, estado, data de início, estado de votação, etc. O estado da nova proposta é, por padrão, InProgress.

O Sputnik-DAO exige que os proponentes façam um depósito de uma certa quantia de tokens NEAR como garantia. Este depósito será devolvido ao proponente quando a proposta terminar normalmente.

2. Estado da Proposta

As propostas no Sputnik-DAO podem passar por vários estados: InProgress, Approved, Rejected, Removed, entre outros.

A mudança de estado da proposta é impulsionada pelo método act_proposal(). Os membros da DAO podem chamar esse método para realizar operações de votação sobre a proposta, entre outras.

  • VoteApprove:Aprovar
  • VoteReject: rejeitar
  • VoteRemove: considera que a proposta é sem sentido, deve ser removida

A chamada interna irá usar policy.proposal_status() para realizar a contagem de votos. Para propostas que atendem ao limiar de votação, o status será alterado de acordo.

  • Aprovado: chamar internal_execute_proposal() para executar a proposta
  • Rejeitado/Removido: chamada internal_reject_proposal() executar operações de finalização

Propostas com estado Removido serão retiradas diretamente do pool de propostas, sem devolução do depósito. Propostas com estado Rejeitado permanecerão no pool de propostas e o depósito será devolvido.

3. Execução da proposta

Se o estado da proposta for Aprovada, será chamada internamente a internal_execute_proposal() para executar o conteúdo da proposta.

Sputnik-DAO suporta vários tipos de propostas, a maioria envolvendo atualizações de configuração do modo de governança da DAO. Abaixo, apresentamos os processos de tratamento de dois tipos típicos de propostas:

3.1 proposta de execução de função do contrato

Para propostas do tipo FunctionCall, as chamadas de métodos de contrato especificadas na proposta serão executadas internamente na forma de ações de lote de promessas.

3.2 proposta de transferência de fundos do contrato

Para propostas do tipo Transfer, será chamada a função internal_payout() para realizar a operação de transferência de diferentes tipos de tokens para a conta especificada.

Este artigo apresenta os conceitos centrais do contrato Sputnik DAO - proposta (Proposal), incluindo a criação, votação e execução da proposta. A seguir, será apresentada uma descrição mais detalhada da implementação e configuração do modelo de governança no Sputnik-DAO (Policy).

ACT-5.92%
BATCH-8.03%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 3
  • Repostar
  • Compartilhar
Comentário
0/400
GameFiCriticvip
· 8h atrás
O plano de governança ainda não é suficientemente descentralizado. A distribuição do peso de voto precisa ser mais equilibrada.
Ver originalResponder0
OnchainHolmesvip
· 8h atrás
Sem palavras, mais um projeto dao.
Ver originalResponder0
NeverVoteOnDAOvip
· 8h atrás
Hehe, só ouvir está bom. Que voto é esse?
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)