Analyse du mécanisme de proposition de smart contracts de Sputnik DAO : de l'initiation à l'exécution dans tout le processus.

robot
Création du résumé en cours

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).

ACT-5.98%
BATCH-9.05%
TOKEN-2.57%
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
  • 8
  • Reposter
  • Partager
Commentaire
0/400
WhaleMistakervip
· 08-06 16:14
C'est vraiment incroyable d'avoir de l'argent avec dao ?
Voir l'originalRépondre0
RugPullAlarmvip
· 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
BearMarketSurvivorvip
· 08-06 08:36
Le mécanisme de proposition de Near est un peu intéressant, non ?
Voir l'originalRépondre0
SleepyValidatorvip
· 08-04 05:57
Ces derniers jours, rust est devenu populaire, ça s'est amélioré.
Voir l'originalRépondre0
TestnetScholarvip
· 08-04 04:35
Encore en train de normaliser le processus de DAO.
Voir l'originalRépondre0
AirdropHunter007vip
· 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_vibingvip
· 08-04 04:34
Il y a trop de propositions, on ne peut tout voter, que se passe-t-il ?
Voir l'originalRépondre0
StableGeniusDegenvip
· 08-04 04:12
Rust est encore de retour, c'est un peu sévère.
Voir l'originalRépondre0
  • É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)