📢 Gate廣場 #MBG任务挑战# 發帖贏大獎活動火熱開啓!
想要瓜分1,000枚MBG?現在就來參與,展示你的洞察與實操,成爲MBG推廣達人!
💰️ 本期將評選出20位優質發帖用戶,每人可輕鬆獲得50枚MBG!
如何參與:
1️⃣ 調研MBG項目
對MBG的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與MBG相關活動(包括CandyDrop、Launchpool或現貨交易),並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是現貨行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
MBG熱門活動(帖文需附下列活動連結):
Gate第287期Launchpool:MBG — 質押ETH、MBG即可免費瓜分112,500 MBG,每小時領取獎勵!參與攻略見公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通過首次交易、交易MBG、邀請好友註冊交易即可分187,500 MBG!參與攻略見公告:https://www.gate.com/announcements
Sputnik DAO智能合約解析:提案機制詳解與執行流程
Rust智能合約養成日記(11):Sputnik DAO提案機制解析
Sputnik-DAO 作爲 NEAR Protocol 的基礎設施,正推動NEAR生態向去中心化方向發展。目前該平台已促成多個NEAR項目建立去中心化自治社區,並提供了完整靈活的社區治理解決方案。
sputnikdaov2 是 Sputnik-DAO 社區治理投票的智能合約。本文將介紹該合約的核心概念:提案(Proposal),後續文章將圍繞提案介紹相關的DAO社區治理模式(Policy)。
1. 提案發起
Sputnik-DAO 中的每位成員都可以就項目治理管理發表意見或提交提案。每個持股的社區成員都可以對提案進行審議和投票,從而影響項目未來方向。
在合約層面,DAO成員可調用 sputnikdaov2 合約的 add_proposal() 方法發起新提案:
rust pub fn add_proposal(&mut self, proposal: ProposalInput) -> u64
提案者需提供提案的詳細信息(ProposalInput):
這些信息將作爲參數傳入 add_proposal() 方法,該方法會進行校驗處理,生成一個完整的提案(Proposal),並與唯一的 proposal_id 綁定,添加到合約全局維護的提案池中。
提案的完整屬性信息包括:
需要注意的是,Sputnik-DAO 中存在提案押金(proposal_bond)的概念,提案者在調用 add_proposal() 時需質押一定數額的 NEAR 代幣作爲保證金。該押金將在提案正常結束時退還。
2. 提案狀態
Sputnik-DAO 中的提案可能經歷多種狀態:
提案狀態變化由 act_proposal() 方法驅動。DAO成員可調用該方法對提案執行以下操作:
投票後會調用 policy.proposal_status() 進行計票。滿足條件的提案狀態將變更爲 Approved、Rejected 或 Removed。
Approved 狀態的提案將被執行,Rejected 和 Removed 狀態則執行收尾操作。Removed 狀態的提案會從提案池中移除,並不退還押金。
3. 提案執行
對於 Approved 狀態的提案,act_proposal() 會調用 internal_execute_proposal() 執行提案內容。
Sputnik-DAO 支持多種提案類型,主要涉及 DAO 治理模式配置更新。本文重點介紹兩種典型提案類型的處理流程:
3.1 合約函數執行提案(FunctionCall)
FunctionCall 類型提案在創建時傳入了要執行的函數操作(actions)。internal_execute_proposal() 會通過 Promise Batch Actions 的形式執行這些函數調用。
3.2 合約資金轉移提案(Transfer)
Transfer 類型提案用於將合約帳戶積累的代幣轉移到指定帳戶。internal_execute_proposal() 會調用 internal_payout() 函數,實現對不同類型代幣和接收帳戶的轉帳操作。
4. 總結
本文介紹了 Sputnik DAO 合約的核心概念——提案(Proposal),包括提案的創建、狀態變化和執行流程。後續文章將基於提案機制,對 Sputnik-DAO 的治理模式(Policy)實現與配置進行更詳細的描述。