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

robot
Geração do resumo em andamento

Diário de desenvolvimento de contratos inteligentes Rust (11) Análise do mecanismo de propostas DAO Sputnik

Sputnik-DAO, como infraestrutura do NEAR Protocol, está impulsionando a ecologia NEAR na direção da descentralização. Atualmente, a plataforma já facilitou a criação de várias comunidades autônomas descentralizadas de projetos NEAR, oferecendo uma solução de governança de decisões comunitárias completa, flexível e eficiente.

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

1. Início da proposta

Os membros da comunidade Sputnik-DAO podem expressar opiniões ou submeter propostas sobre a governança ou gestão do projeto. Os membros acionistas podem 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:

ferrugem u64

Os proponentes devem fornecer detalhes sobre a proposta ( ProposalInput ):

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

O método add_proposal() realizará o processamento de verificação, gerando uma proposta completamente inicializada (Proposal), que será vinculada ao único proposal_id e adicionada ao mapeamento Contract.proposals mantido globalmente pelo contrato.

A proposta contém as seguintes informações completas de atributos:

  • descrição: descrição da proposta
  • tipo: tipo de proposta
  • proposer: proponente
  • status: estado da proposta
  • submission_time: hora de submissão
  • vote_counts: contagem de votos
  • votes: Detalhes da votação

É importante notar que existe o conceito de depósito de proposta (proposal_bond) no Sputnik-DAO, gerido por um modelo de governança comunitária específico (Policy). O proponente deve depositar uma certa quantidade de tokens NEAR como garantia ao chamar add_proposal(). Este depósito será devolvido quando a proposta terminar normalmente.

2. Estado da Proposta

As propostas no Sputnik-DAO podem passar por vários estados:

  • InProgress: Estado inicial, votação em andamento
  • Aprovado: votação aprovada
  • Rejeitado: votação não aprovada
  • Removido: Removido
  • Expired: Expirado
  • Moved: Já migrado
  • Falhou: Execução falhada

A mudança de estado da proposta é impulsionada pelo método act_proposal(). Os membros da DAO podem chamar esse método para votar na proposta e realizar outras operações:

  • VoteApprove: Aprovado
  • VoteReject: rejeitar
  • VoteRemove: Remover

Após a votação, será chamada a policy.proposal_status() para contabilizar os votos e atualizar o status da proposta quando as condições forem atendidas.

3. Execução da proposta

A proposta aprovada ( com estado Approved irá chamar a função internal_execute_proposal)( para executar o conteúdo da decisão.

Sputnik-DAO suporta vários tipos de propostas, principalmente relacionadas à atualização da configuração do modo de governança do DAO. Aqui estão dois tipos típicos de tratamento de propostas:

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

O tipo de proposta FunctionCall permite a execução de funções de contrato específicas. A proposta inclui as operações de função a serem executadas (actions), podendo ser especificadas várias chamadas de função consecutivas.

Sputnik-DAO utiliza a forma de Ações em Lote de Promessa para concluir a execução de funções de contrato.

3.2 Proposta de transferência de fundos de contrato

A proposta do tipo Transfer é usada para transferir os tokens acumulados na conta do contrato para a conta especificada.

internal_execute_proposal() irá chamar a função internal_payout###(, realizando operações de transferência para diferentes tipos de Fungible Token e contas de recebimento.

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

4. Resumo

Este artigo apresenta os conceitos centrais do contrato Sputnik DAO - proposta )Proposal(, incluindo a criação da proposta, votação, mudanças de estado e o processo de execução. A seguir, será feita uma descrição mais detalhada do modelo de governação do Sputnik-DAO com base no mecanismo de propostas )Policy(.

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

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
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • 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)