Sputnik DAO智能合約深度解析:提案機制全面剖析

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

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

本文將介紹 Sputnik-DAO 智能合約的核心概念 - 提案(Proposal),後續文章將圍繞提案深入探討相關的 DAO 社區治理模式。

1. 提案發起

Sputnik-DAO 社區成員可通過調用 add_proposal() 方法發起新提案。提案者需提供提案的詳細信息,包括:

  • 提案描述:公開展示在前端,幫助理解提案目的
  • 提案類型:如合約函數調用、資金轉移、權限控制等

提案創建後會被分配唯一 ID 並添加到提案池中。

提案還包含其他屬性:

  • 提案者:自動設爲方法調用者
  • 狀態:初始爲"進行中"
  • 發起時間:當前區塊時間戳
  • 投票狀態:初始爲空

需注意,提案發起需質押一定數量 NEAR 代幣作爲保證金。該保證金在提案結束後返還,但超額部分不會退回。

2. 提案狀態

提案可能經歷多種狀態:進行中、已批準、已拒絕、已移除等。狀態變化由 act_proposal() 方法驅動。

社區成員可對進行中的提案進行投票:

  • 贊成
  • 反對
  • 移除(認爲提案無意義)

投票後會進行計票,滿足條件的提案狀態會相應更新:

  • 已批準:執行提案內容
  • 已拒絕/已移除:執行收尾操作

已移除的提案會從提案池中刪除,且不退還保證金。已拒絕的提案保留在池中並退還保證金。

3. 提案執行

對於已批準的提案,會調用 internal_execute_proposal() 執行決策內容。支持多種提案類型,如:

  • 更改配置
  • 更改治理政策
  • 添加/移除成員角色
  • 合約函數調用
  • 合約升級
  • 資金轉移

以下詳細介紹兩種典型提案的執行流程:

3.1 合約函數執行提案

此類提案在創建時已指定要執行的函數操作。執行時會以 Promise Batch Actions 的形式完成多個連續的函數調用。

3.2 合約資金轉移提案

此類提案用於將合約帳戶積累的代幣轉移到指定帳戶。支持原生 NEAR 及其他符合 NEP-141 標準的代幣,可轉帳至外部帳戶或其他合約。

4. 總結

本文介紹了 Sputnik DAO 合約的核心概念 - 提案,包括提案的創建、狀態變化和執行流程。後續文章將基於提案深入探討 Sputnik-DAO 的治理模式實現。

ACT-3.06%
BATCH-0.3%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
稳定币焦虑症vip
· 07-29 23:43
基建很强很看好
回復0
诗与远链vip
· 07-29 17:08
研究DAO治理不错
回復0
MonkeySeeMonkeyDovip
· 07-29 01:06
靠谱的解析文章
回復0
rekt_but_not_brokevip
· 07-29 01:06
Near生态的核心啊
回復0
HodlTheDoorvip
· 07-29 01:06
期待更多治理细节
回復0
破产打工人vip
· 07-29 00:38
支持 NEAR 生态
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)