Diário de Desenvolvimento de Contratos Inteligentes Rust (10-3) Análise do Mecanismo de Propostas do Sputnik DAO
Sputnik-DAO como infraestrutura do NEAR Protocol está impulsionando o ecossistema NEAR na direção de uma "descentralização". Atualmente, a plataforma já facilitou diversas comunidades autônomas "descentralizadas" de projetos NEAR, ao mesmo tempo em que oferece soluções de governança de decisão comunitária completas, flexíveis e eficientes.
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: proposta (Proposal), e em artigos subsequentes irá abordar os modos de governança da comunidade DAO relacionados à "proposta" (Policy).
1. Iniciar Proposta (Adicionar 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 da comunidade com ações pode revisar e votar nas propostas. Os membros da comunidade podem influenciar o futuro do projeto através da votação ou iniciando novas propostas de gestão.
No nível do contrato, os membros da comunidade DAO podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta:
ferrugem
u64
Os proponentes devem fornecer detalhes da proposta (ProposalInput):
Descrição do texto da proposta (Description)
Tipo de proposta (kind)
O método add_proposal() realizará um processamento de verificação, gerando uma proposta completa (Proposal), que será vinculada a um proposal_id único e adicionada ao pool de propostas mantido globalmente pelo contrato.
As informações completas sobre as propriedades da proposta incluem:
descrição(description)
tipo (kind )
proponente(proponente)
状态(status)
Data de início(hora de submissão)
Estado de votação ( vote_counts, votos )
É importante notar que o Sputnik-DAO exige que os proponentes depositem uma certa quantia de tokens NEAR como garantia ao iniciar uma proposta. Este depósito será devolvido ao proponente ao final normal da proposta.
2. Estado da Proposta ( Proposal Status )
As propostas no Sputnik-DAO podem passar por vários estados, sendo o estado inicial InProgress. A mudança de estado da proposta é impulsionada pelo método act_proposal().
Os membros da comunidade podem realizar as seguintes ações em relação às propostas:
VoteApprove: Indica aprovação
VoteReject: significa oposição
VoteRemove: considera que esta proposta é sem sentido e deve ser removida
Após a votação, será realizada a contagem dos votos, e o estado das propostas que atingirem o limite de votação será alterado para o correspondente:
Aprovado: Executando a proposta através da chamada internal_execute_proposal()
Rejeitado/Removido: Executar operações de finalização chamando internal_reject_proposal()
A diferença entre os estados Rejected e Removed é que as propostas no estado Removed são removidas diretamente do pool de propostas e o depósito não é reembolsado.
3. Execução da Proposta ( Execute Proposal )
Para propostas com status Approved, será chamada a função internal_execute_proposal() para executar o conteúdo da proposta.
Sputnik-DAO suporta vários tipos de propostas, este artigo foca em duas tipos típicos:
( 3.1 Execução da Proposta da Função do Contrato ) ProposalKind::FunctionCall ###
Propostas do tipo FunctionCall podem executar funções de contrato específicas. A proposta contém a operação de função a ser executada (actions), podendo especificar múltiplos objetos ActionCall, cada um especificando o nome do método de contrato correspondente e os parâmetros.
A execução da função do contrato é finalmente concluída na forma de Ações em Lote de Promessa.
( 3.2 Proposta de transferência de fundos do contrato)ProposalKind::Transfer###
Propostas do tipo Transfer podem transferir os tokens acumulados na conta do contrato (NEAR ou tokens padrão NEP-141 ) para a 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 introduz os conceitos principais do contrato do Sputnik DAO — proposta (Proposal), incluindo a criação da proposta, a votação, a execução e as regras de mudança de estado. Artigos posteriores descreverão de forma mais detalhada o modelo de governança do Sputnik-DAO baseado na proposta (Policy).
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.
18 gostos
Recompensa
18
6
Partilhar
Comentar
0/400
RugResistant
· 10h atrás
hmm encontrei alguns padrões de implementação duvidosos... precisa de uma auditoria completa, para ser sincero
Ver originalResponder0
WhaleMistaker
· 10h atrás
Este contrato inteligente parece muito complexo.
Ver originalResponder0
GateUser-ccc36bc5
· 10h atrás
Este mecanismo de proposta é demasiado simples.
Ver originalResponder0
MEVVictimAlliance
· 10h atrás
dao introdução obrigatória para ver
Ver originalResponder0
ponzi_poet
· 10h atrás
A enrolar, não tem jeito. Até para ver um contrato inteligente está tudo em título em inglês. Está bom, está bom~
Ver originalResponder0
BankruptcyArtist
· 11h atrás
Mais uma coisa sobre DAO, realmente não consigo entender.
Análise do núcleo do contrato inteligente Sputnik DAO: Detalhes sobre o mecanismo de propostas
Diário de Desenvolvimento de Contratos Inteligentes Rust (10-3) Análise do Mecanismo de Propostas do Sputnik DAO
Sputnik-DAO como infraestrutura do NEAR Protocol está impulsionando o ecossistema NEAR na direção de uma "descentralização". Atualmente, a plataforma já facilitou diversas comunidades autônomas "descentralizadas" de projetos NEAR, ao mesmo tempo em que oferece soluções de governança de decisão comunitária completas, flexíveis e eficientes.
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: proposta (Proposal), e em artigos subsequentes irá abordar os modos de governança da comunidade DAO relacionados à "proposta" (Policy).
1. Iniciar Proposta (Adicionar 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 da comunidade com ações pode revisar e votar nas propostas. Os membros da comunidade podem influenciar o futuro do projeto através da votação ou iniciando novas propostas de gestão.
No nível do contrato, os membros da comunidade DAO podem chamar o método add_proposal() do contrato sputnikdaov2 para iniciar uma nova proposta:
ferrugem u64
Os proponentes devem fornecer detalhes da proposta (ProposalInput):
O método add_proposal() realizará um processamento de verificação, gerando uma proposta completa (Proposal), que será vinculada a um proposal_id único e adicionada ao pool de propostas mantido globalmente pelo contrato.
As informações completas sobre as propriedades da proposta incluem:
É importante notar que o Sputnik-DAO exige que os proponentes depositem uma certa quantia de tokens NEAR como garantia ao iniciar uma proposta. Este depósito será devolvido ao proponente ao final normal da proposta.
2. Estado da Proposta ( Proposal Status )
As propostas no Sputnik-DAO podem passar por vários estados, sendo o estado inicial InProgress. A mudança de estado da proposta é impulsionada pelo método act_proposal().
Os membros da comunidade podem realizar as seguintes ações em relação às propostas:
Após a votação, será realizada a contagem dos votos, e o estado das propostas que atingirem o limite de votação será alterado para o correspondente:
A diferença entre os estados Rejected e Removed é que as propostas no estado Removed são removidas diretamente do pool de propostas e o depósito não é reembolsado.
3. Execução da Proposta ( Execute Proposal )
Para propostas com status Approved, será chamada a função internal_execute_proposal() para executar o conteúdo da proposta.
Sputnik-DAO suporta vários tipos de propostas, este artigo foca em duas tipos típicos:
( 3.1 Execução da Proposta da Função do Contrato ) ProposalKind::FunctionCall ###
Propostas do tipo FunctionCall podem executar funções de contrato específicas. A proposta contém a operação de função a ser executada (actions), podendo especificar múltiplos objetos ActionCall, cada um especificando o nome do método de contrato correspondente e os parâmetros.
A execução da função do contrato é finalmente concluída na forma de Ações em Lote de Promessa.
( 3.2 Proposta de transferência de fundos do contrato)ProposalKind::Transfer###
Propostas do tipo Transfer podem transferir os tokens acumulados na conta do contrato (NEAR ou tokens padrão NEP-141 ) para a 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 introduz os conceitos principais do contrato do Sputnik DAO — proposta (Proposal), incluindo a criação da proposta, a votação, a execução e as regras de mudança de estado. Artigos posteriores descreverão de forma mais detalhada o modelo de governança do Sputnik-DAO baseado na proposta (Policy).