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.
Analyse des smart contracts de Sputnik DAO : conception et mise en œuvre du mécanisme de proposition
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):
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 :
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 :
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.
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).