Análise Profundidade do Mecanismo de Propostas de Contratos Inteligentes do Sputnik DAO

robot
Geração de resumo em curso

Diário de Desenvolvimento de Contratos Inteligentes Rust (11): Interpretação do Mecanismo de Propostas DAO Sputnik

Sputnik-DAO como infraestrutura do NEAR Protocol, está promovendo fortemente o desenvolvimento do ecossistema NEAR em direção à "descentralização". Atualmente, a plataforma já facilitou diversas comunidades autônomas "descentralizadas" de projetos NEAR, ao mesmo tempo em que oferece uma solução de governança de decisão comunitária completa, flexível e eficiente.

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), e em artigos subsequentes, apresentará os modos de governança da comunidade DAO relacionados à "proposta" (Policy).

1. Início da Proposta

Cada membro do Sputnik-DAO pode expressar opiniões ou submeter propostas sobre a governança ou gestão do projeto. Cada membro da comunidade com ações pode rever e votar sobre as propostas. Os membros podem influenciar a direção futura do projeto através de votos ou iniciando novas propostas.

No nível do contrato, os membros do DAO podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta:

ferrugem u64

Os proponentes devem fornecer detalhes da proposta (ProposalInput):

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

Estas informações serão passadas como parâmetros para o método add_proposal(), que realizará o tratamento de verificação e gerará uma proposta completamente inicializada (Proposal). A proposta final será vinculada a um único proposal_id e adicionada ao pool de propostas mantido globalmente pelo contrato.

As informações completas sobre os atributos da proposta incluem:

  • descrição(description)
  • tipo (kind )
  • proponente(proposer)
  • 状态(status)
  • tempo de submissão(submission_time)
  • Estado de votação ( contagem de votos, votos )

É importante notar que existe o conceito de depósito de proposta (proposal_bond) no Sputnik-DAO. O contrato exige que o proponente de uma proposta deposite uma certa quantidade de tokens NEAR como garantia ao chamar add_proposal(). Esse depósito será devolvido ao proponente quando a proposta for encerrada normalmente.

2. Estado da Proposta

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

  • Em Andamento: Estado inicial da nova proposta
  • Aprovado: obtido
  • Rejected: Rejeitado
  • Removido:被移除
  • Expired: Já expirou
  • Moved: Já transferido
  • 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:Aprovar
  • VoteReject: Rejeitar
  • VoteRemove:remover

Após a votação, será chamada policy.proposal_status() para a contagem dos votos. Para propostas que atendam ao limite de votação, o status será alterado de acordo.

  • Propostas com estado Aprovado serão executadas
  • Propostas com estado Rejected ou Removed serão finalizadas.

Propostas com estado Removido serão retiradas do pool de propostas, sem reembolso do depósito. Propostas com estado Rejeitado permanecerão no pool e o depósito será reembolsado.

3. Execução da proposta

Se o estado da proposta mudar para Aprovado, act_proposal() irá chamar internal_execute_proposal() para executar o conteúdo da proposta.

Sputnik-DAO suporta vários tipos de propostas, como ChangeConfig, ChangePolicy, FunctionCall, Transfer, entre outros. Cada tipo tem um ramo de processamento correspondente.

Abaixo estão os processos de tratamento de dois tipos típicos de propostas:

( 3.1 Proposta de execução de função de contrato )FunctionCall###

Propostas do tipo FunctionCall podem executar métodos de contratos específicos. A proposta inclui as operações de função a serem executadas (actions), onde cada ação pode especificar o nome do método do contrato e os parâmetros.

A chamada da função é finalmente concluída na forma de Ações em Lote de Promessa.

( 3.2 Proposta de transferência de fundos do contrato)Transfer###

Propostas do tipo Transfer podem mover tokens da conta do contrato para a conta designada.

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

4. Resumo

Este artigo apresenta o conceito fundamental do contrato Sputnik DAO - proposta (Proposal), incluindo a criação da proposta, votação, mudança de estado e o processo de execução. A seguir, será apresentada a implementação do modelo de governança do Sputnik-DAO com base na proposta (Policy).

ACT9.42%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 5
  • Republicar
  • Partilhar
Comentar
0/400
Layer2Arbitrageurvip
· 5h atrás
meh, outra implementação de gov dao... verifiquei os números do gás, na verdade é 47% mais eficiente do que a votação eth
Ver originalResponder0
RektButSmilingvip
· 5h atrás
Isso é tão dao.
Ver originalResponder0
MaticHoleFillervip
· 5h atrás
os jogadores de dao sabem o que estão a fazer
Ver originalResponder0
UnluckyLemurvip
· 5h atrás
Jogadores de infraestrutura, vamos lá!
Ver originalResponder0
AirdropHarvestervip
· 5h atrás
o near também consegue fazer dao?
Ver originalResponder0
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)