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.
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(.
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.
Análise do contrato inteligente Sputnik DAO: design e implementação do mecanismo de proposta
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 ):
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:
É 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:
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:
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(