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 em direção à descentralização. Atualmente, a plataforma já facilitou a criação de várias comunidades autônomas descentralizadas para projetos NEAR e oferece soluções completas e flexíveis de governança de decisões comunitárias.
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: a proposta (Proposal), e em artigos subsequentes, introduzirá os modos de governança da comunidade DAO relacionados à proposta (Policy).
1. Início da proposta
Cada membro do Sputnik-DAO pode expressar sua opinião ou submeter propostas sobre a governança ou gestão do projeto. Em seguida, cada membro da comunidade que possui ações pode rever e votar na proposta. Os membros podem influenciar o desenvolvimento futuro do projeto votando nas propostas ou iniciando novas propostas.
Do ponto de vista do contrato, os membros do DAO podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta. O proponente deve fornecer detalhes sobre a proposta (ProposalInput):
Descrição do texto da proposta (Description)
Tipo de proposta(kind)
O método add_proposal() irá validar e processar as informações da proposta, gerando uma proposta completa (Proposal), e vinculando-a a um único proposal_id, adicionando-a ao pool de propostas mantido globalmente pelo contrato.
As informações completas de atributos contidas na proposta são:
description: Descrição
kind: tipo
proposer: proponente
status: status
submission_time: hora de envio
vote_counts: contagem de votos
votes: Detalhes de Votação
O Sputnik-DAO exige que os proponentes façam um depósito de uma certa quantia de tokens NEAR como garantia ao iniciarem uma proposta. Este depósito será devolvido ao proponente após o término normal da proposta.
2. Estado da Proposta
As propostas padrão no Sputnik-DAO podem passar pelos seguintes estados:
Em andamento: 进行中
Aprovado: Já aprovado
Rejected: Rejeitado
Removido: 已移除
Expired: Expirado
Moved: Já transferido
A mudança de estado da proposta é impulsionada pelo método act_proposal(). Os membros do DAO podem realizar as seguintes operações na proposta:
VoteApprove: Aprovado
VoteReject: Rejeitar
VoteRemove: Remover
Após a votação, o contrato chamará policy.proposal_status() para contar os votos. O estado da proposta que atende ao limiar de votação será alterado correspondente:
Aprovado: através da internal_execute_proposal()
Rejeitado/Removido: executar operações subsequentes através de internal_reject_proposal()
As propostas com estado Removido serão removidas do pool de propostas, sem devolução do depósito. As propostas com estado Rejeitado permanecerão no pool e o depósito será devolvido.
3. Execução da Proposta
Para propostas com estado Approved, 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.
Abaixo estão os processos de execução de dois tipos típicos de propostas:
3.1 Proposta de execução de função de contrato ( FunctionCall )
Propostas do tipo FunctionCall recebem a operação de função a ser executada (actions) no momento da criação. Cada ação pode especificar o nome do método do contrato e os parâmetros.
Sputnik-DAO adota a forma de Ações em Lote Prometidas para completar a execução de propostas de tipo de função de contrato.
3.2 proposta de transferência de fundos do contrato ( Transferir )
Propostas do tipo Transfer podem transferir tokens acumulados na conta do contrato (NEAR ou tokens padrão NEP-141 ) para uma 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 receptoras.
4. Resumo
Este artigo apresenta os conceitos centrais do contrato Sputnik DAO - Proposta (Proposal), explicando como criar novas propostas e votar na sua execução, bem como as regras de alteração do estado das propostas. A seguir, será apresentado o 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.
8 Curtidas
Recompensa
8
6
Repostar
Compartilhar
Comentário
0/400
quietly_staking
· 08-08 17:11
É apenas uma votação de alma.
Ver originalResponder0
ProposalDetective
· 08-06 17:22
Claramente escolhi a pessoa errada.
Ver originalResponder0
GasGasGasBro
· 08-06 06:18
O contrato não me diz respeito, só me interessa o dinheiro.
Ver originalResponder0
FarmHopper
· 08-06 06:15
Ainda estão a usar votação, certo?
Ver originalResponder0
PriceOracleFairy
· 08-06 06:12
bruh perto do jogo dao está a ficar meio interessante, não vou mentir
Análise completa do mecanismo de propostas do Sputnik DAO: do criação à execução do ciclo de vida
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 em direção à descentralização. Atualmente, a plataforma já facilitou a criação de várias comunidades autônomas descentralizadas para projetos NEAR e oferece soluções completas e flexíveis de governança de decisões comunitárias.
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: a proposta (Proposal), e em artigos subsequentes, introduzirá os modos de governança da comunidade DAO relacionados à proposta (Policy).
1. Início da proposta
Cada membro do Sputnik-DAO pode expressar sua opinião ou submeter propostas sobre a governança ou gestão do projeto. Em seguida, cada membro da comunidade que possui ações pode rever e votar na proposta. Os membros podem influenciar o desenvolvimento futuro do projeto votando nas propostas ou iniciando novas propostas.
Do ponto de vista do contrato, os membros do DAO podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta. O proponente deve fornecer detalhes sobre a proposta (ProposalInput):
O método add_proposal() irá validar e processar as informações da proposta, gerando uma proposta completa (Proposal), e vinculando-a a um único proposal_id, adicionando-a ao pool de propostas mantido globalmente pelo contrato.
As informações completas de atributos contidas na proposta são:
O Sputnik-DAO exige que os proponentes façam um depósito de uma certa quantia de tokens NEAR como garantia ao iniciarem uma proposta. Este depósito será devolvido ao proponente após o término normal da proposta.
2. Estado da Proposta
As propostas padrão no Sputnik-DAO podem passar pelos seguintes estados:
A mudança de estado da proposta é impulsionada pelo método act_proposal(). Os membros do DAO podem realizar as seguintes operações na proposta:
Após a votação, o contrato chamará policy.proposal_status() para contar os votos. O estado da proposta que atende ao limiar de votação será alterado correspondente:
As propostas com estado Removido serão removidas do pool de propostas, sem devolução do depósito. As propostas com estado Rejeitado permanecerão no pool e o depósito será devolvido.
3. Execução da Proposta
Para propostas com estado Approved, 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.
Abaixo estão os processos de execução de dois tipos típicos de propostas:
3.1 Proposta de execução de função de contrato ( FunctionCall )
Propostas do tipo FunctionCall recebem a operação de função a ser executada (actions) no momento da criação. Cada ação pode especificar o nome do método do contrato e os parâmetros.
Sputnik-DAO adota a forma de Ações em Lote Prometidas para completar a execução de propostas de tipo de função de contrato.
3.2 proposta de transferência de fundos do contrato ( Transferir )
Propostas do tipo Transfer podem transferir tokens acumulados na conta do contrato (NEAR ou tokens padrão NEP-141 ) para uma 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 receptoras.
4. Resumo
Este artigo apresenta os conceitos centrais do contrato Sputnik DAO - Proposta (Proposal), explicando como criar novas propostas e votar na sua execução, bem como as regras de alteração do estado das propostas. A seguir, será apresentado o modelo de governança do Sputnik-DAO com base na proposta (Policy).