Análise do mecanismo de proposta de contratos inteligentes do Sputnik DAO: do início à execução de todo o processo

robot
Geração de resumo em curso

Diário de Desenvolvimento de Contratos Inteligentes Rust (11): Análise do Mecanismo de Propostas do DAO Sputnik

Sputnik-DAO como infraestrutura 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 de projetos NEAR e oferece um completo e flexível plano de governança para 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), e em artigos subsequentes explicará os modelos de governança da comunidade DAO relacionados à proposta (Policy).

1. Início da proposta

No Sputnik-DAO, cada membro pode expressar opiniões ou submeter propostas sobre a gestão do projeto. Os membros acionistas podem rever e votar nas propostas. Os membros podem influenciar a direção futura do projeto através de votos ou iniciando 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

O proponente deve fornecer detalhes da proposta (ProposalInput):

  • Descrição do texto da proposta ( Description )
  • Tipo de proposta ( tipo )

O método add_proposal() irá realizar um tratamento de verificação, gerando uma proposta com informações iniciais completas (Proposal), que será vinculada a um único proposal_id e adicionada ao mapeamento Contract.proposals mantido globalmente pelo contrato.

Informações completas sobre as propriedades da proposta incluem:

  • descrição(description)
  • tipo (kind )
  • proponente(proposer)
  • 状态(status)
  • Data de início ( tempo de submissão )
  • Estado de votação ( contagem de votos, votos )

O contrato exige que o proponente deposite uma certa quantia de tokens NEAR como garantia ao chamar add_proposal(). Este depósito será devolvido ao final normal da proposta através de internal_return_bonds().

2. Estado da Proposta

As propostas no Sputnik-DAO podem passar pelos seguintes estados:

  • Em progresso(estado inicial)
  • Aprovado
  • Rejeitado
  • Removido
  • Expirado
  • Moved
  • Falhou

A alteração do estado da proposta é impulsionada pelo método act_proposal(). Os membros podem executar as seguintes ações na proposta:

  • VoteApprove: votar a favor
  • VoteReject: votar contra
  • VoteRemove: considera sem sentido, precisa ser removido

A chamada interna irá usar policy.proposal_status() para contabilizar os votos e mudar o status das propostas que atendem ao limite.

  • Proposta em estado Aprovado será executada
  • Executar operações de finalização para estados Rejeitados ou Removidos
  • Removido, a proposta de status será removida do pool de propostas, sem reembolso do depósito.
  • Propostas com estado Rejected permanecem na piscina de propostas, o depósito é devolvido

3. Execução da proposta

Propostas com o status Approved serão executadas através de internal_execute_proposal(). Os tipos de propostas suportados incluem:

  • ChangeConfig
  • ChangePolicy
  • AddMemberToRole
  • RemoverMembroDoPapel
  • FunctionCall
  • UpgradeSelf
  • UpgradeRemote
  • Transferir
  • SetStakingContract
  • AddBounty
  • BountyDone
  • Votar
  • FactoryInfoUpdate
  • ChangePolicyAddOrUpdateRole
  • ChangePolicyRemoveRole
  • MudarPolíticaAtualizarPolíticaDeVotoPadrão
  • ChangePolicyUpdateParameters

Segue uma introdução aos dois tipos típicos de processos de proposta:

( 3.1 Proposta de execução de função de contrato

Propostas do tipo FunctionCall recebem, ao serem criadas, a operação de função a ser executada )actions###. Internamente, podem incluir múltiplos objetos ActionCall, especificando o nome do método do contrato e os parâmetros.

Sputnik-DAO utiliza ações em lote com Promise para a execução de propostas de tipos de funções de contratos.

( 3.2 proposta de transferência de fundos do contrato

O tipo de proposta de Transfer é utilizado para transferir os tokens acumulados na conta do contrato para o receiver_id especificado.

internal_execute_proposal)### O processamento de propostas do tipo Transfer chamará a função internal_payout(), implementando operações de transferência de diferentes tipos de Fungible Token e receiver_id.

4. Resumo

Este artigo apresenta os conceitos centrais da proposta do contrato Sputnik DAO (Proposal), incluindo a criação de propostas, a execução da votação e as regras de mudança de estado. A seguir, será descrita em detalhe a implementação e configuração do modelo de governança do Sputnik-DAO (Policy).

ACT-7.65%
BATCH-16.1%
TOKEN-4.82%
Ver original
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.
  • Recompensa
  • 8
  • Republicar
  • Partilhar
Comentar
0/400
WhaleMistakervip
· 08-06 16:14
é incrível o quanto o dao tem dinheiro?
Ver originalResponder0
RugPullAlarmvip
· 08-06 10:47
Ah, o que se chama de autonomia não passa de uma ilusão para encobrir um esquema de financiamento. Os dados na cadeia dizem tudo.
Ver originalResponder0
BearMarketSurvivorvip
· 08-06 08:36
O mecanismo de propostas do Near é interessante, não é?
Ver originalResponder0
SleepyValidatorvip
· 08-04 05:57
Nos últimos dias, o rust está ser liquidado. Está a melhorar.
Ver originalResponder0
TestnetScholarvip
· 08-04 04:35
Está novamente a padronizar o processo de卷dao.
Ver originalResponder0
AirdropHunter007vip
· 08-04 04:34
o dao do near não tem graça, vende-se rapidamente
Ver originalResponder0
rekt_but_vibingvip
· 08-04 04:34
Há propostas demais, não consigo votar em todas, o que está acontecendo?
Ver originalResponder0
StableGeniusDegenvip
· 08-04 04:12
rust está de volta, está um pouco intenso.
Ver originalResponder0
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)