Série de contrats intelligents Rust : Analyse des concepts clés du Sputnik DAO
Sputnik-DAO, en tant qu'infrastructure du NEAR Protocol, pousse l'écosystème NEAR vers une direction décentralisée. Actuellement, cette plateforme a permis à plusieurs projets NEAR de former des communautés autonomes et offre une solution complète et flexible pour la gouvernance des décisions communautaires.
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), des articles suivants détailleront les modes de gouvernance de la communauté DAO liés à la proposition (Policy).
1. Lancement de la proposition
Chaque membre de Sputnik-DAO peut soumettre des propositions concernant la gouvernance ou la gestion des projets. Les membres de la communauté détenteurs de parts peuvent ensuite examiner et voter sur les propositions. Les membres peuvent influencer l'avenir du projet en votant ou en initiant des propositions.
Au niveau des contrats, les membres du DAO peuvent appeler la méthode add_proposal() du contrat sputnikdaov2 pour soumettre une nouvelle proposition. Le proposanteur doit fournir des informations détaillées sur la proposition (ProposalInput), y compris :
Description du projet (Description)
Type de proposition ( kind )
Ces informations seront passées en tant que paramètres à la méthode add_proposal(), et après vérification et traitement, généreront une proposition complète (Proposal), qui sera liée à un identifiant unique proposal_id et ajoutée à la carte des propositions maintenue globalement par le contrat.
Les informations complètes sur les attributs inclus dans la proposition sont :
description: description
kind: type
proposer: proposante
status: statut
submission_time: temps de soumission
vote_counts: comptage des votes
votes: Détails du vote
Le Sputnik-DAO exige que les proposeurs mettent en gage un certain montant de jetons NEAR en tant que garantie lors de l'appel de add_proposal(). Ce dépôt sera remboursé au proposeur à 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 du DAO peuvent appeler act_proposal() pour exécuter des opérations sur la proposition :
VoteApprove: approuvé
VoteReject: contre
VoteRemove: retirer
Après le vote, policy.proposal_status() sera appelé pour le dépouillement des votes. L'état de la proposition atteignant le seuil de vote sera modifié:
Approuvé : appel de internal_execute_proposal() pour exécuter
Rejeté/Retiré : appel à internal_reject_proposal() pour traitement
Les propositions dans l'état Retiré seront supprimées de la piscine des propositions et le dépôt ne sera pas restitué, tandis que les propositions dans l'état Rejeté resteront dans la piscine des propositions et le dépôt sera remboursé.
3. Exécution des propositions
Les propositions ayant le statut "Approved" 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
Les propositions de type FunctionCall sont transmises via le paramètre ProposalInput pour exécuter l'opération de fonction (actions). Chaque ActionCall peut spécifier le nom de la méthode du contrat et les paramètres. Sputnik-DAO utilise la forme Promise Batch Actions pour exécuter les fonctions du contrat.
3.2 Proposition de transfert de fonds de contrat
Les propositions de type Transfer sont utilisées pour transférer les tokens accumulés sur le compte de contrat vers le receiver_id spécifié. L'appel sous-jacent de la fonction internal_payout() permet d'effectuer des opérations de transfert pour différents types de tokens et receiver_id.
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
6
Reposter
Partager
Commentaire
0/400
RamenDeFiSurvivor
· 08-09 18:37
près du travail assez vite
Voir l'originalRépondre0
DefiPlaybook
· 08-09 18:36
Analyse des données off-chain, la TVL a enregistré une hausse de 25,6 %
Voir l'originalRépondre0
SerLiquidated
· 08-09 18:34
Que faire si on vote en étant ivre ? Ceux qui comprennent, dites-le.
Voir l'originalRépondre0
fork_in_the_road
· 08-09 18:32
la gouvernance DAO fait perdre du temps...
Voir l'originalRépondre0
BoredApeResistance
· 08-09 18:24
Quand NEAR aura un DAO plus fiable...
Voir l'originalRépondre0
BoredRiceBall
· 08-09 18:18
Cette proposition, en regardant directement le code, n'est-elle pas séduisante ?
Noyau des smart contracts Sputnik DAO : explication du mécanisme de proposition
Série de contrats intelligents Rust : Analyse des concepts clés du Sputnik DAO
Sputnik-DAO, en tant qu'infrastructure du NEAR Protocol, pousse l'écosystème NEAR vers une direction décentralisée. Actuellement, cette plateforme a permis à plusieurs projets NEAR de former des communautés autonomes et offre une solution complète et flexible pour la gouvernance des décisions communautaires.
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), des articles suivants détailleront les modes de gouvernance de la communauté DAO liés à la proposition (Policy).
1. Lancement de la proposition
Chaque membre de Sputnik-DAO peut soumettre des propositions concernant la gouvernance ou la gestion des projets. Les membres de la communauté détenteurs de parts peuvent ensuite examiner et voter sur les propositions. Les membres peuvent influencer l'avenir du projet en votant ou en initiant des propositions.
Au niveau des contrats, les membres du DAO peuvent appeler la méthode add_proposal() du contrat sputnikdaov2 pour soumettre une nouvelle proposition. Le proposanteur doit fournir des informations détaillées sur la proposition (ProposalInput), y compris :
Ces informations seront passées en tant que paramètres à la méthode add_proposal(), et après vérification et traitement, généreront une proposition complète (Proposal), qui sera liée à un identifiant unique proposal_id et ajoutée à la carte des propositions maintenue globalement par le contrat.
Les informations complètes sur les attributs inclus dans la proposition sont :
Le Sputnik-DAO exige que les proposeurs mettent en gage un certain montant de jetons NEAR en tant que garantie lors de l'appel de add_proposal(). Ce dépôt sera remboursé au proposeur à 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 du DAO peuvent appeler act_proposal() pour exécuter des opérations sur la proposition :
Après le vote, policy.proposal_status() sera appelé pour le dépouillement des votes. L'état de la proposition atteignant le seuil de vote sera modifié:
Les propositions dans l'état Retiré seront supprimées de la piscine des propositions et le dépôt ne sera pas restitué, tandis que les propositions dans l'état Rejeté resteront dans la piscine des propositions et le dépôt sera remboursé.
3. Exécution des propositions
Les propositions ayant le statut "Approved" 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
Les propositions de type FunctionCall sont transmises via le paramètre ProposalInput pour exécuter l'opération de fonction (actions). Chaque ActionCall peut spécifier le nom de la méthode du contrat et les paramètres. Sputnik-DAO utilise la forme Promise Batch Actions pour exécuter les fonctions du contrat.
3.2 Proposition de transfert de fonds de contrat
Les propositions de type Transfer sont utilisées pour transférer les tokens accumulés sur le compte de contrat vers le receiver_id spécifié. L'appel sous-jacent de la fonction internal_payout() permet d'effectuer des opérations de transfert pour différents types de tokens et receiver_id.