Análise completa do mecanismo de propostas do Sputnik DAO: do criação à execução do ciclo de vida

robot
Geração do resumo em andamento

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).

ACT5.2%
Ver original
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.
  • Recompensa
  • 6
  • Repostar
  • Compartilhar
Comentário
0/400
quietly_stakingvip
· 08-08 17:11
É apenas uma votação de alma.
Ver originalResponder0
ProposalDetectivevip
· 08-06 17:22
Claramente escolhi a pessoa errada.
Ver originalResponder0
GasGasGasBrovip
· 08-06 06:18
O contrato não me diz respeito, só me interessa o dinheiro.
Ver originalResponder0
FarmHoppervip
· 08-06 06:15
Ainda estão a usar votação, certo?
Ver originalResponder0
PriceOracleFairyvip
· 08-06 06:12
bruh perto do jogo dao está a ficar meio interessante, não vou mentir
Ver originalResponder0
ChainWallflowervip
· 08-06 06:12
Sou um observador do ecossistema Rust
Ver originalResponder0
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)