Journal de développement des smart contracts Rust (11) : Analyse du mécanisme de proposition du DAO Sputnik
Sputnik-DAO comme infrastructure du NEAR Protocol, est en train de promouvoir 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, et fournit un plan de gouvernance décisionnelle communautaire complet et flexible.
Sputnikdaov2 est un smart contract utilisé pour le vote de gouvernance communautaire de Sputnik-DAO. Cet article présentera les concepts clés de ce contrat : la proposition (Proposal), et dans les articles suivants, nous expliquerons les modèles de gouvernance communautaire DAO associés à la proposition (Policy).
1. Lancement de la proposition
Chaque membre du Sputnik-DAO peut exprimer son opinion ou soumettre des propositions concernant la gestion du projet. Les membres détenteurs d'actions peuvent voter sur les propositions. Les membres peuvent influencer l'orientation future du projet en votant ou en lançant des propositions.
Au niveau du contrat, les membres peuvent appeler la méthode add_proposal() du contrat sputnikdaov2 pour soumettre une nouvelle proposition :
rouille
u64
Le proposeur doit fournir des détails sur la proposition (ProposalInput) :
Texte de description de la proposition ( Description )
Type de proposition ( kind )
La méthode add_proposal() effectuera un traitement de vérification, générant une proposition avec des informations initiales complètes (Proposal), et sera liée à un identifiant de proposition unique proposal_id, ajoutée à la carte Contract.proposals maintenue globalement par le contrat.
Les informations complètes sur les attributs de la proposition incluent :
description (description )
type (kind )
proposeur(proposeur)
état(status)
Heure de lancement(temps de soumission)
État du vote (vote_counts, votes )
Le contrat exige que le proposeur mise un certain montant de tokens NEAR en tant que garantie lors de l'appel à add_proposal(). Ce dépôt est remboursé à la fin normale de la proposition via internal_return_bonds().
2. État de la proposition
Les propositions dans Sputnik-DAO peuvent passer par les états suivants:
EnCours(état initial)
Approuvé
Rejeté
Supprimé
Expiré
Déplacé
Échoué
L'état de la proposition change en fonction de la méthode act_proposal(). Les membres peuvent effectuer les actions suivantes sur la proposition :
VoteApprove: approuver
VoteReject: exprimer un refus
VoteRemove: considéré comme inutile, doit être supprimé
L'appel interne à policy.proposal_status() est effectué pour le vote, et l'état des propositions répondant au seuil est modifié.
Les propositions d'état approuvé seront exécutées
Exécution des opérations de clôture pour les états Rejeté ou Retiré
Suppression de la proposition d'état qui sera retirée du pool de propositions, sans remboursement de la caution.
Les propositions avec le statut Rejeté restent dans le pool des propositions, et le dépôt est remboursé.
3. Exécution des propositions
Les propositions dont l'état est Approved seront exécutées par internal_execute_proposal(). Les types de propositions supportés incluent :
ChangeConfig
ChangePolicy
AddMemberToRole
RemoveMemberFromRole
FunctionCall
UpgradeSelf
UpgradeRemote
Transférer
SetStakingContract
AddBounty
BountyDone
Vote
FactoryInfoUpdate
ChangePolicyAddOrUpdateRole
ChangePolicyRemoveRole
ChangePolicyUpdateDefaultVotePolicy
ChangePolicyUpdateParameters
Voici deux types typiques de processus de traitement des propositions :
( 3.1 Proposition d'exécution de fonction de contrat
Les propositions de type FunctionCall passent les opérations de fonction à exécuter )actions### lors de leur création. Elles peuvent contenir plusieurs objets ActionCall internes, spécifiant le nom de la méthode du contrat et les paramètres.
Sputnik-DAO utilise des actions par lot de promesses pour exécuter des propositions de type exécution de fonctions de contrat.
( 3.2 proposition de transfert de fonds de contrat
Le type de proposition Transfer est utilisé pour transférer les tokens accumulés dans le compte de contrat vers le receiver_id spécifié.
Le traitement des propositions de type Transfer appellera la fonction internal_payout)###, réalisant des opérations de transfert pour différents types de Fungible Token et receiver_id.
4. Résumé
Cet article présente les concepts clés de la proposition de contrat Sputnik DAO (Proposal), y compris la création de propositions, l'exécution des votes et les règles de changement d'état. Par la suite, il décrira en détail la mise en œuvre et la configuration du modèle de gouvernance Sputnik-DAO (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.
12 J'aime
Récompense
12
8
Reposter
Partager
Commentaire
0/400
WhaleMistaker
· 08-06 16:14
C'est vraiment incroyable d'avoir de l'argent avec dao ?
Voir l'originalRépondre0
RugPullAlarm
· 08-06 10:47
Eh bien, ce qu'on appelle l'autonomie n'est qu'un stratagème pour masquer un système de Ponzi. Les données off-chain disent tout.
Voir l'originalRépondre0
BearMarketSurvivor
· 08-06 08:36
Le mécanisme de proposition de Near est un peu intéressant, non ?
Voir l'originalRépondre0
SleepyValidator
· 08-04 05:57
Ces derniers jours, rust est devenu populaire, ça s'est amélioré.
Voir l'originalRépondre0
TestnetScholar
· 08-04 04:35
Encore en train de normaliser le processus de DAO.
Voir l'originalRépondre0
AirdropHunter007
· 08-04 04:34
le dao de near n'a aucun intérêt, je le revends immédiatement.
Voir l'originalRépondre0
rekt_but_vibing
· 08-04 04:34
Il y a trop de propositions, on ne peut tout voter, que se passe-t-il ?
Analyse du mécanisme de proposition de smart contracts de Sputnik DAO : de l'initiation à l'exécution dans tout le processus.
Journal de développement des smart contracts Rust (11) : Analyse du mécanisme de proposition du DAO Sputnik
Sputnik-DAO comme infrastructure du NEAR Protocol, est en train de promouvoir 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, et fournit un plan de gouvernance décisionnelle communautaire complet et flexible.
Sputnikdaov2 est un smart contract utilisé pour le vote de gouvernance communautaire de Sputnik-DAO. Cet article présentera les concepts clés de ce contrat : la proposition (Proposal), et dans les articles suivants, nous expliquerons les modèles de gouvernance communautaire DAO associés à la proposition (Policy).
1. Lancement de la proposition
Chaque membre du Sputnik-DAO peut exprimer son opinion ou soumettre des propositions concernant la gestion du projet. Les membres détenteurs d'actions peuvent voter sur les propositions. Les membres peuvent influencer l'orientation future du projet en votant ou en lançant des propositions.
Au niveau du contrat, les membres peuvent appeler la méthode add_proposal() du contrat sputnikdaov2 pour soumettre une nouvelle proposition :
rouille u64
Le proposeur doit fournir des détails sur la proposition (ProposalInput) :
La méthode add_proposal() effectuera un traitement de vérification, générant une proposition avec des informations initiales complètes (Proposal), et sera liée à un identifiant de proposition unique proposal_id, ajoutée à la carte Contract.proposals maintenue globalement par le contrat.
Les informations complètes sur les attributs de la proposition incluent :
Le contrat exige que le proposeur mise un certain montant de tokens NEAR en tant que garantie lors de l'appel à add_proposal(). Ce dépôt est remboursé à la fin normale de la proposition via internal_return_bonds().
2. État de la proposition
Les propositions dans Sputnik-DAO peuvent passer par les états suivants:
L'état de la proposition change en fonction de la méthode act_proposal(). Les membres peuvent effectuer les actions suivantes sur la proposition :
L'appel interne à policy.proposal_status() est effectué pour le vote, et l'état des propositions répondant au seuil est modifié.
3. Exécution des propositions
Les propositions dont l'état est Approved seront exécutées par internal_execute_proposal(). Les types de propositions supportés incluent :
Voici deux types typiques de processus de traitement des propositions :
( 3.1 Proposition d'exécution de fonction de contrat
Les propositions de type FunctionCall passent les opérations de fonction à exécuter )actions### lors de leur création. Elles peuvent contenir plusieurs objets ActionCall internes, spécifiant le nom de la méthode du contrat et les paramètres.
Sputnik-DAO utilise des actions par lot de promesses pour exécuter des propositions de type exécution de fonctions de contrat.
( 3.2 proposition de transfert de fonds de contrat
Le type de proposition Transfer est utilisé pour transférer les tokens accumulés dans le compte de contrat vers le receiver_id spécifié.
Le traitement des propositions de type Transfer appellera la fonction internal_payout)###, réalisant des opérations de transfert pour différents types de Fungible Token et receiver_id.
4. Résumé
Cet article présente les concepts clés de la proposition de contrat Sputnik DAO (Proposal), y compris la création de propositions, l'exécution des votes et les règles de changement d'état. Par la suite, il décrira en détail la mise en œuvre et la configuration du modèle de gouvernance Sputnik-DAO (Policy).