Diário de Desenvolvimento de Contratos Inteligentes Rust (11) - Explicação do Mecanismo de Propostas DAO Sputnik
Sputnik-DAO, como uma infraestrutura importante do NEAR Protocol, está promovendo o desenvolvimento da ecologia NEAR em direção à descentralização. Atualmente, esta plataforma já facilitou a criação de várias comunidades autônomas descentralizadas em projetos NEAR, oferecendo soluções completas e flexíveis para a governança das decisões comunitárias.
Sputnikdaov2 é um contrato inteligente utilizado para a votação de governança da comunidade Sputnik-DAO. Este artigo apresentará os conceitos centrais do contrato: proposta (Proposal), artigos subsequentes abordarão o modelo de governança da comunidade DAO relacionado à 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. Cada membro acionista pode revisar e votar nas propostas, influenciando assim o futuro do projeto.
No nível do contrato, os membros podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta:
ferrugem
u64
Os proponentes devem fornecer as seguintes informações detalhadas:
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(), e após processamento, gerarão uma proposta completa (Proposal), que será vinculada a um único proposal_id e adicionada ao pool de propostas mantido globalmente pelo contrato.
As propriedades completas da proposta incluem: proponente, estado, data de início, estado da votação, etc.
É importante notar que o Sputnik-DAO exige que os proponentes depositam uma certa quantidade de tokens NEAR como garantia. Este depósito será devolvido ao proponente quando a proposta for concluída normalmente.
2. Estado da Proposta
As propostas no Sputnik-DAO podem passar por vários estados, sendo o estado inicial InProgress. A mudança de estado é impulsionada pelo método act_proposal().
Os membros podem chamar act_proposal() para executar as seguintes ações na proposta:
VoteApprove: indica aprovação
VoteReject: indica oposição
VoteRemove: considera que a proposta é sem sentido, precisa ser removida
Após a votação, o contrato chamará policy.proposal_status() para contagem de votos, e o estado da proposta que atende às condições mudará em conformidade.
Propostas com estado Aprovado serão executadas
Propostas com estado Rejeitado ou Removido serão finalizadas.
Propostas com status Removido serão removidas diretamente do pool de propostas, sem devolução do depósito. Propostas com status Rejeitado serão mantidas no pool e o depósito será devolvido.
3. Execução da Proposta
Propostas com status Aprovado irão chamar a função internal_execute_proposal() para executar o conteúdo da decisão.
Sputnik-DAO suporta vários tipos de propostas, este artigo foca em dois tipos típicos:
( 3.1 Proposta de execução de função de contrato
Propostas do tipo FunctionCall podem executar métodos de contrato específicos. O proponente passa a operação da função a ser executada através de ProposalInput ao criar )actions###.
Cada ação pode especificar o nome do método do contrato e os parâmetros. O Sputnik-DAO utiliza a forma de Ações em Lote de Promessa para completar a execução da função.
( 3.2 Proposta de transferência de fundos de contratos
Propostas do tipo Transfer podem transferir os tokens acumulados na conta do contrato )NEAR ou tokens padrão NEP-141 ### para a conta especificada.
internal_execute_proposal() irá chamar a função internal_payout(), realizando operações de transferência para diferentes tipos de tokens e contas recebedoras.
4. Resumo
Este artigo apresenta os conceitos centrais da proposta do contrato Sputnik DAO (Proposal), incluindo a criação da proposta, votação, mudanças de estado e o processo de execução. Artigos subsequentes descreverão detalhadamente o modelo de governança do Sputnik-DAO (Policy) com base na proposta.
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.
Análise do contrato inteligente do Sputnik DAO: design e implementação do mecanismo de propostas
Diário de Desenvolvimento de Contratos Inteligentes Rust (11) - Explicação do Mecanismo de Propostas DAO Sputnik
Sputnik-DAO, como uma infraestrutura importante do NEAR Protocol, está promovendo o desenvolvimento da ecologia NEAR em direção à descentralização. Atualmente, esta plataforma já facilitou a criação de várias comunidades autônomas descentralizadas em projetos NEAR, oferecendo soluções completas e flexíveis para a governança das decisões comunitárias.
Sputnikdaov2 é um contrato inteligente utilizado para a votação de governança da comunidade Sputnik-DAO. Este artigo apresentará os conceitos centrais do contrato: proposta (Proposal), artigos subsequentes abordarão o modelo de governança da comunidade DAO relacionado à 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. Cada membro acionista pode revisar e votar nas propostas, influenciando assim o futuro do projeto.
No nível do contrato, os membros podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta:
ferrugem u64
Os proponentes devem fornecer as seguintes informações detalhadas:
Estas informações serão passadas como parâmetros para o método add_proposal(), e após processamento, gerarão uma proposta completa (Proposal), que será vinculada a um único proposal_id e adicionada ao pool de propostas mantido globalmente pelo contrato.
As propriedades completas da proposta incluem: proponente, estado, data de início, estado da votação, etc.
É importante notar que o Sputnik-DAO exige que os proponentes depositam uma certa quantidade de tokens NEAR como garantia. Este depósito será devolvido ao proponente quando a proposta for concluída normalmente.
2. Estado da Proposta
As propostas no Sputnik-DAO podem passar por vários estados, sendo o estado inicial InProgress. A mudança de estado é impulsionada pelo método act_proposal().
Os membros podem chamar act_proposal() para executar as seguintes ações na proposta:
Após a votação, o contrato chamará policy.proposal_status() para contagem de votos, e o estado da proposta que atende às condições mudará em conformidade.
Propostas com status Removido serão removidas diretamente do pool de propostas, sem devolução do depósito. Propostas com status Rejeitado serão mantidas no pool e o depósito será devolvido.
3. Execução da Proposta
Propostas com status Aprovado irão chamar a função internal_execute_proposal() para executar o conteúdo da decisão.
Sputnik-DAO suporta vários tipos de propostas, este artigo foca em dois tipos típicos:
( 3.1 Proposta de execução de função de contrato
Propostas do tipo FunctionCall podem executar métodos de contrato específicos. O proponente passa a operação da função a ser executada através de ProposalInput ao criar )actions###.
Cada ação pode especificar o nome do método do contrato e os parâmetros. O Sputnik-DAO utiliza a forma de Ações em Lote de Promessa para completar a execução da função.
( 3.2 Proposta de transferência de fundos de contratos
Propostas do tipo Transfer podem transferir os tokens acumulados na conta do contrato )NEAR ou tokens padrão NEP-141 ### para a conta especificada.
internal_execute_proposal() irá chamar a função internal_payout(), realizando operações de transferência para diferentes tipos de tokens e contas recebedoras.
4. Resumo
Este artigo apresenta os conceitos centrais da proposta do contrato Sputnik DAO (Proposal), incluindo a criação da proposta, votação, mudanças de estado e o processo de execução. Artigos subsequentes descreverão detalhadamente o modelo de governança do Sputnik-DAO (Policy) com base na proposta.