Journal de développement des smart contracts Rust (11) Analyse du mécanisme de proposition de Sputnik DAO
Sputnik-DAO est une infrastructure fournie par le protocole NEAR, qui promeut le développement de l'écosystème NEAR vers une direction décentralisée. Actuellement, cette plateforme a permis à plusieurs projets NEAR de créer des communautés autonomes décentralisées, offrant des solutions de gouvernance décisionnelle communautaire complètes et flexibles.
Sputnikdaov2 est un smart contract utilisé pour le vote de gouvernance de la communauté Sputnik-DAO. Cet article présentera les concepts clés de ce contrat : proposition (Proposal), et les articles suivants aborderont les modes de gouvernance de la communauté DAO associés à la proposition (Policy).
1. Lancement de la proposition
Les membres de la communauté Sputnik-DAO peuvent exprimer leurs opinions ou soumettre des propositions, et les autres membres détenteurs de parts peuvent examiner et voter sur ces propositions. Les membres peuvent influencer l'orientation future du projet par le biais de votes ou en lançant de nouvelles propositions.
Au niveau du contrat, les membres peuvent appeler la méthode add_proposal() du contrat sputnikdaov2 pour initier une nouvelle proposition:
rouille
u64
Les proposeurs doivent fournir des détails sur la proposition (ProposalInput) :
Description textuelle de la proposition (Description )
Type de proposition ( kind )
Les informations de proposition sont passées en tant que paramètres à la méthode add_proposal(), après vérification et traitement, un projet complet est généré : (Proposal), et lié à un identifiant de proposition unique, ajouté au pool de propositions maintenu globalement par le contrat.
Les informations complètes sur les attributs de la proposition comprennent :
description:description
kind: type
proposer:proposer
status: statut ( par défaut InProgress )
submission_time: temps de soumission
vote_counts: comptage des votes ( initialement vide )
votes:détails du vote(initialement vide)
Le concept de dépôt de proposition (proposal_bond) existe dans le Sputnik-DAO, où le proposant doit miser un certain montant de tokens NEAR en tant que garantie lors de l'appel de add_proposal(). Ce dépôt sera remboursé au proposant à la fin normale de la proposition.
2. État de la proposition
Les propositions dans Sputnik-DAO peuvent traverser plusieurs états, l'état initial étant InProgress. Les changements d'état sont pilotés par la méthode act_proposal().
Les membres peuvent appeler act_proposal() pour exécuter les opérations suivantes sur la proposition :
VoteApprove: approuver
VoteReject: contre
VoteRemove: retirer
Après le vote, le programme appellera policy.proposal_status() pour effectuer le comptage des voix. L'état de la proposition qui atteint le seuil de vote sera modifié en conséquence :
Approved: exécution de internal_execute_proposal()
Rejeté/Retiré : traité par internal_reject_proposal()
Les propositions de statut Removed seront supprimées de la piscine des propositions et le dépôt ne sera pas remboursé, tandis que les propositions de statut Rejected seront conservées et le dépôt sera remboursé.
3. Exécution de la proposition
Les propositions avec un état approuvé appelleront internal_execute_proposal() pour exécuter le contenu de la décision. Sputnik-DAO prend en charge plusieurs types de propositions, cet article présente deux types typiques :
( 3.1 Proposition d'exécution de fonction de contrat ) FunctionCall ###
Le type de proposition FunctionCall a déjà passé l'opération de fonction à exécuter (actions) lors de sa création. internal_execute_proposal() exécute ces opérations sous forme de promesses de batch actions.
( 3.2 Proposition de transfert de fonds de contrat ) Transfert ###
Le type de proposition de transfert est utilisé pour transférer les jetons accumulés dans le compte de contrat vers un compte spécifié. internal_execute_proposal() appellera la fonction internal_payout() pour réaliser les opérations de transfert de différents types de jetons.
4. Résumé
Cet article présente les concepts clés du contrat Sputnik DAO - proposition (Proposal), y compris la création de la proposition, les changements d'état et le processus d'exécution. Par la suite, nous introduirons le modèle de gouvernance de Sputnik-DAO basé sur la proposition (Policy).
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.
14 J'aime
Récompense
14
3
Partager
Commentaire
0/400
ZenChainWalker
· Il y a 10h
大道至简 near reste un bull
Voir l'originalRépondre0
Hash_Bandit
· 08-01 17:45
minage près du protocole en 2020... de bons moments ngl
Voir l'originalRépondre0
RuntimeError
· 08-01 17:32
Quand pourrons-nous utiliser la nouvelle version !
Noyau du smart contracts Sputnik DAO : Analyse approfondie du mécanisme de proposition
Journal de développement des smart contracts Rust (11) Analyse du mécanisme de proposition de Sputnik DAO
Sputnik-DAO est une infrastructure fournie par le protocole NEAR, qui promeut le développement de l'écosystème NEAR vers une direction décentralisée. Actuellement, cette plateforme a permis à plusieurs projets NEAR de créer des communautés autonomes décentralisées, offrant des solutions de gouvernance décisionnelle communautaire complètes et flexibles.
Sputnikdaov2 est un smart contract utilisé pour le vote de gouvernance de la communauté Sputnik-DAO. Cet article présentera les concepts clés de ce contrat : proposition (Proposal), et les articles suivants aborderont les modes de gouvernance de la communauté DAO associés à la proposition (Policy).
1. Lancement de la proposition
Les membres de la communauté Sputnik-DAO peuvent exprimer leurs opinions ou soumettre des propositions, et les autres membres détenteurs de parts peuvent examiner et voter sur ces propositions. Les membres peuvent influencer l'orientation future du projet par le biais de votes ou en lançant de nouvelles propositions.
Au niveau du contrat, les membres peuvent appeler la méthode add_proposal() du contrat sputnikdaov2 pour initier une nouvelle proposition:
rouille u64
Les proposeurs doivent fournir des détails sur la proposition (ProposalInput) :
Les informations de proposition sont passées en tant que paramètres à la méthode add_proposal(), après vérification et traitement, un projet complet est généré : (Proposal), et lié à un identifiant de proposition unique, ajouté au pool de propositions maintenu globalement par le contrat.
Les informations complètes sur les attributs de la proposition comprennent :
Le concept de dépôt de proposition (proposal_bond) existe dans le Sputnik-DAO, où le proposant doit miser un certain montant de tokens NEAR en tant que garantie lors de l'appel de add_proposal(). Ce dépôt sera remboursé au proposant à la fin normale de la proposition.
2. État de la proposition
Les propositions dans Sputnik-DAO peuvent traverser plusieurs états, l'état initial étant InProgress. Les changements d'état sont pilotés par la méthode act_proposal().
Les membres peuvent appeler act_proposal() pour exécuter les opérations suivantes sur la proposition :
Après le vote, le programme appellera policy.proposal_status() pour effectuer le comptage des voix. L'état de la proposition qui atteint le seuil de vote sera modifié en conséquence :
Les propositions de statut Removed seront supprimées de la piscine des propositions et le dépôt ne sera pas remboursé, tandis que les propositions de statut Rejected seront conservées et le dépôt sera remboursé.
3. Exécution de la proposition
Les propositions avec un état approuvé appelleront internal_execute_proposal() pour exécuter le contenu de la décision. Sputnik-DAO prend en charge plusieurs types de propositions, cet article présente deux types typiques :
( 3.1 Proposition d'exécution de fonction de contrat ) FunctionCall ###
Le type de proposition FunctionCall a déjà passé l'opération de fonction à exécuter (actions) lors de sa création. internal_execute_proposal() exécute ces opérations sous forme de promesses de batch actions.
( 3.2 Proposition de transfert de fonds de contrat ) Transfert ###
Le type de proposition de transfert est utilisé pour transférer les jetons accumulés dans le compte de contrat vers un compte spécifié. internal_execute_proposal() appellera la fonction internal_payout() pour réaliser les opérations de transfert de différents types de jetons.
4. Résumé
Cet article présente les concepts clés du contrat Sputnik DAO - proposition (Proposal), y compris la création de la proposition, les changements d'état et le processus d'exécution. Par la suite, nous introduirons le modèle de gouvernance de Sputnik-DAO basé sur la proposition (Policy).