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).
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.
8 Curtidas
Recompensa
8
3
Repostar
Compartilhar
Comentário
0/400
GameFiCritic
· 8h atrás
O plano de governança ainda não é suficientemente descentralizado. A distribuição do peso de voto precisa ser mais equilibrada.
Análise do contrato inteligente Sputnik DAO: Design e implementação do mecanismo de propostas
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:
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.
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.
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).