Diário de Desenvolvimento de Contratos Inteligentes Rust (11) Análise do Mecanismo de Propostas da Sputnik DAO
Sputnik-DAO é a infraestrutura fornecida pelo NEAR Protocol, 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 de projetos NEAR, oferecendo soluções completas e flexíveis para a governança das decisões comunitárias.
Sputnikdaov2 é um contrato inteligente usado para a votação de governança da comunidade Sputnik-DAO. Este artigo irá apresentar os conceitos centrais deste contrato: proposta (Proposal), e artigos subsequentes apresentarã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, e outros membros acionistas podem revisar e votar nas propostas. Os membros podem influenciar o futuro do projeto através de votação ou iniciando novas propostas.
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 detalhes sobre a proposta (ProposalInput):
Descrição do texto da proposta (Description)
Tipo de proposta ( kind )
As informações da proposta são passadas como parâmetros para o método add_proposal(), e após a validação e processamento, gera-se uma proposta completa (Proposal), que é vinculada a um único proposal_id e adicionada ao pool de propostas mantido globalmente pelo contrato.
As informações completas sobre as propriedades da proposta incluem:
description: descrição
kind:tipo
proposer: proponente
status: status ( é, por padrão, InProgress )
submission_time: tempo de submissão
vote_counts: contagem de votos ( inicial vazio )
votes: detalhes da votação ( inicial vazio )
No Sputnik-DAO existe o conceito de depósito de proposta (proposal_bond), onde o proponente deve depositar uma certa quantia de tokens NEAR como garantia ao chamar add_proposal(). 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, 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 operações na proposta:
VoteApprove: Aprovado
VoteReject:rejeitar
VoteRemove:remover
Após a votação, o programa chamará policy.proposal_status() para a contagem dos votos. O estado da proposta que atende ao limiar de votação será alterado em conformidade:
Aprovado: através de internal_execute_proposal() executar
Rejeitado/Removido: tratado através de internal_reject_proposal()
Propostas com o estado Removido serão retiradas da piscina de propostas e o depósito não será devolvido, enquanto as propostas com o estado Rejeitado serão mantidas e o depósito será devolvido.
3. Execução da proposta
Propostas com status Aprovado chamarão internal_execute_proposal() para executar o conteúdo da decisão. Sputnik-DAO suporta vários tipos de propostas, este artigo apresenta dois tipos típicos:
( 3.1 proposta de execução de função de contrato)FunctionCall###
Propostas do tipo FunctionCall têm a operação de função a ser executada (actions) passada durante a criação. internal_execute_proposal() executa essas operações na forma de Ações em Lote de Promessas.
( 3.2 Proposta de transferência de fundos de contratos inteligentes ) Transferir ###
A proposta do tipo Transfer é usada para transferir os tokens acumulados da conta do contrato para a conta especificada. internal_execute_proposal() chamará a função internal_payout() para realizar operações de transferência de diferentes tipos de tokens.
4. Resumo
Este artigo apresenta os conceitos principais do contrato Sputnik DAO - proposta (Proposal), incluindo a criação da proposta, mudanças 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).
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.
12 Curtidas
Recompensa
12
2
Compartilhar
Comentário
0/400
Hash_Bandit
· 08-01 17:45
mineração perto do protocolo em 2020... bons tempos ngl
Núcleo do contrato inteligente Sputnik DAO: Análise profunda do mecanismo de propostas
Diário de Desenvolvimento de Contratos Inteligentes Rust (11) Análise do Mecanismo de Propostas da Sputnik DAO
Sputnik-DAO é a infraestrutura fornecida pelo NEAR Protocol, 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 de projetos NEAR, oferecendo soluções completas e flexíveis para a governança das decisões comunitárias.
Sputnikdaov2 é um contrato inteligente usado para a votação de governança da comunidade Sputnik-DAO. Este artigo irá apresentar os conceitos centrais deste contrato: proposta (Proposal), e artigos subsequentes apresentarã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, e outros membros acionistas podem revisar e votar nas propostas. Os membros podem influenciar o futuro do projeto através de votação ou iniciando novas propostas.
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 detalhes sobre a proposta (ProposalInput):
As informações da proposta são passadas como parâmetros para o método add_proposal(), e após a validação e processamento, gera-se uma proposta completa (Proposal), que é vinculada a um único proposal_id e adicionada ao pool de propostas mantido globalmente pelo contrato.
As informações completas sobre as propriedades da proposta incluem:
No Sputnik-DAO existe o conceito de depósito de proposta (proposal_bond), onde o proponente deve depositar uma certa quantia de tokens NEAR como garantia ao chamar add_proposal(). 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, 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 operações na proposta:
Após a votação, o programa chamará policy.proposal_status() para a contagem dos votos. O estado da proposta que atende ao limiar de votação será alterado em conformidade:
Propostas com o estado Removido serão retiradas da piscina de propostas e o depósito não será devolvido, enquanto as propostas com o estado Rejeitado serão mantidas e o depósito será devolvido.
3. Execução da proposta
Propostas com status Aprovado chamarão internal_execute_proposal() para executar o conteúdo da decisão. Sputnik-DAO suporta vários tipos de propostas, este artigo apresenta dois tipos típicos:
( 3.1 proposta de execução de função de contrato)FunctionCall###
Propostas do tipo FunctionCall têm a operação de função a ser executada (actions) passada durante a criação. internal_execute_proposal() executa essas operações na forma de Ações em Lote de Promessas.
( 3.2 Proposta de transferência de fundos de contratos inteligentes ) Transferir ###
A proposta do tipo Transfer é usada para transferir os tokens acumulados da conta do contrato para a conta especificada. internal_execute_proposal() chamará a função internal_payout() para realizar operações de transferência de diferentes tipos de tokens.
4. Resumo
Este artigo apresenta os conceitos principais do contrato Sputnik DAO - proposta (Proposal), incluindo a criação da proposta, mudanças 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).