Analyse des smart contracts de Sputnik DAO : conception et mise en œuvre du mécanisme de proposition

robot
Création du résumé en cours

Journal de développement des smart contracts Rust (11) Analyse du mécanisme de proposition du Sputnik DAO

Sputnik-DAO, en tant qu'infrastructure du protocole NEAR, pousse l'écosystème NEAR vers une direction décentralisée. Actuellement, cette plateforme a permis la création de plusieurs projets NEAR établissant des communautés autonomes décentralisées, offrant une solution de gouvernance décisionnelle complète, flexible et efficace.

Le Sputnikdaov2 est un smart contracts utilisé pour le vote de gouvernance de la communauté Sputnik-DAO. Cet article présentera les concepts clés de ce contrat : la proposition (Proposal), et les articles suivants aborderont les modèles de gouvernance de la communauté DAO liés à la proposition (Policy).

1. Lancement de la proposition

Les membres de la communauté Sputnik-DAO peuvent exprimer des opinions ou soumettre des propositions concernant la gouvernance ou la gestion du projet. Les membres actionnaires peuvent examiner et voter sur les propositions, influençant ainsi l'avenir du projet.

Au niveau du contrat, les membres du DAO peuvent appeler la méthode add_proposal() du contrat sputnikdaov2 pour soumettre une nouvelle proposition :

rouille u64

Le proposant doit fournir des détails sur la proposition (ProposalInput):

  • Description text de la proposition (Description)
  • Type de proposition (kind )

La méthode add_proposal() effectuera un traitement de validation, générera une proposition entièrement initialisée (Proposal), et l'associera à l'identifiant unique proposal_id, l'ajoutant à la carte Contract.proposals maintenue globalement par le contrat.

La proposition contient les informations complètes suivantes sur les attributs :

  • description: description de la proposition
  • kind: type de proposition
  • proposer: proposeur
  • status: État de la proposition
  • submission_time: temps de soumission
  • vote_counts: compte des votes
  • votes: Détails de vote

Il convient de noter que le Sputnik-DAO existe avec le concept de dépôt de proposition (proposal_bond), géré par un mode de gouvernance communautaire spécifique (Policy). Le proposeur doit déposer une certaine quantité de jetons NEAR en tant que garantie lors de l'appel à add_proposal(). Ce dépôt sera remboursé à la fin normale de la proposition.

2. État de la proposition

Les propositions dans Sputnik-DAO peuvent passer par plusieurs états :

  • InProgress: État initial, vote en cours
  • Approved: vote approuvée
  • Rejeté : le vote n'a pas été approuvé
  • Supprimé : 被移除
  • Expiré : 过期
  • Moved: Déplacé
  • Échoué : Exécution échouée

Le changement de statut de la proposition est piloté par la méthode act_proposal(). Les membres du DAO peuvent appeler cette méthode pour voter sur la proposition et effectuer d'autres actions.

  • VoteApprove: approuver
  • VoteReject: contre
  • VoteRemove: retirer

Après le vote, la fonction policy.proposal_status() sera appelée pour effectuer le comptage des votes et mettre à jour l'état de la proposition lorsque les conditions sont remplies.

3. Exécution des propositions

La proposition approuvée ( dans l'état approuvé ) invoquera la fonction internal_execute_proposal() pour exécuter le contenu de la décision.

Sputnik-DAO prend en charge plusieurs types de propositions, principalement liées à la mise à jour des configurations du modèle de gouvernance DAO. Voici une présentation de deux types typiques de traitement des propositions :

( 3.1 proposition d'exécution de fonction de contrat

Le type de proposition FunctionCall permet d'exécuter une fonction de contrat spécifiée. La proposition contient les opérations de fonction à exécuter )actions###, et plusieurs appels de fonction consécutifs peuvent être spécifiés.

Le Sputnik-DAO utilise des actions par lots de promesses pour exécuter les fonctions de contrat.

( 3.2 proposition de transfert de fonds de contrat

Le type de proposition de transfert est utilisé pour transférer les jetons accumulés dans le compte de contrat vers le compte spécifié.

internal_execute_proposal)### appellera la fonction internal_payout() pour effectuer des opérations de transfert entre différents types de Fungible Token et des comptes récepteurs.

4. Résumé

Cet article présente les concepts clés du contrat Sputnik DAO - Proposition (Proposal), y compris la création de propositions, le vote, les changements d'état et le processus d'exécution. Par la suite, une description plus détaillée du modèle de gouvernance de Sputnik-DAO sera fournie, basée sur le mécanisme de proposition (Policy).

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)