Sputnik DAO智能合約解析:提案機制詳解

robot
摘要生成中

Rust智能合約養成日記(11):Sputnik DAO提案機制解析

Sputnik-DAO作爲NEAR Protocol的基礎設施,正推動NEAR生態向去中心化方向發展。目前該平台已促成多個NEAR項目建立去中心化自治社區,並提供了靈活高效的社區決策治理方案。

Sputnikdaov2是用於Sputnik-DAO社區治理投票的智能合約。本文將介紹該合約的核心概念:提案(Proposal),並在後續文章中圍繞提案介紹相關的DAO社區治理模式(Policy)。

1. 提案發起

Sputnik-DAO中每位成員都可就項目治理管理發表意見或提交提案。持股成員可對提案進行審議投票。成員可通過投票或發起提案來影響項目走向。

在合約層面,DAO成員可調用sputnikdaov2合約的add_proposal()方法發起新提案。提案者需提供提案的詳細信息(ProposalInput):

  • 提案的文字描述(Description)
  • 提案的類型(kind)

提案信息將作爲參數傳入add_proposal()方法,經過校驗處理後生成一個完整的提案(Proposal),並與唯一的proposal_id綁定,添加到合約全局維護的Contract.proposals映射中。

完整的提案屬性信息包括:

  • description:提案描述
  • kind:提案類型
  • proposer:提案者
  • status:提案狀態,初始爲InProgress
  • submission_time:提交時間
  • vote_counts:投票計數
  • votes:投票詳情

需要注意的是,Sputnik-DAO存在提案押金(proposal_bond)的概念。合約要求提案者在調用add_proposal()時質押一定數額的NEAR代幣作爲保證金。該押金將在提案正常結束時退還給提案人。

2. 提案狀態

Sputnik-DAO中的提案可能經歷多種狀態,初始狀態爲InProgress。提案狀態變化由act_proposal()方法驅動。

DAO成員可調用act_proposal()對提案執行如下操作:

  • VoteApprove:表示贊成
  • VoteReject:表示反對
  • VoteRemove:認爲該提案無意義,需移除

投票後,程序會調用policy.proposal_status()進行計票。對於滿足投票閾值的提案,狀態將相應變更:

  • Approved:通過internal_execute_proposal()執行
  • Rejected/Removed:通過internal_reject_proposal()執行後續操作

Rejected和Removed狀態的區別在於,Removed狀態的提案將從提案池中移除,並不退還押金。Rejected狀態的提案會保留在池中,並退還押金。

3. 提案執行

若提案狀態爲Approved,act_proposal()將調用internal_execute_proposal()執行提案內容。

Sputnik-DAO支持多種提案類型,本節將介紹兩種典型類型的處理流程:

3.1 合約函數執行提案(FunctionCall)

FunctionCall類型提案在添加時已傳入具體要執行的函數操作(actions)。每個action可指定合約方法名及參數。Sputnik-DAO採用Promise Batch Actions的形式完成此類提案的執行。

3.2 合約資金轉移提案(Transfer)

Transfer類型提案用於將合約帳戶積累的代幣轉移到指定帳戶。internal_execute_proposal()會調用internal_payout()函數,實現對不同類型Fungible Token和接收帳戶的轉帳操作。

4. 總結

本文介紹了Sputnik DAO合約的核心概念——提案(Proposal),說明了如何創建、投票和執行提案,以及提案狀態的變化規則。後續將基於提案對Sputnik-DAO的治理模式(Policy)展開更詳細的描述。

ACT-3.08%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 轉發
  • 分享
留言
0/400
Degen Recovery Groupvip
· 14小時前
搞投票还得用合约 真头大
回復0
quiet_lurkervip
· 08-17 03:50
有点看不明白这玩意儿咋运作的
回復0
ForkItAllDayvip
· 08-17 03:36
near玩得溜 爱打造
回復0
ApeWithNoFearvip
· 08-17 03:31
玩near生态的咯 顶一手
回復0
GasFee_Crybabyvip
· 08-17 03:30
链上投票好贵 吃不起饭了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)