🎉 攢成長值,抽華爲Mate三折疊!廣場第 1️⃣ 2️⃣ 期夏季成長值抽獎大狂歡開啓!
總獎池超 $10,000+,華爲Mate三折疊手機、F1紅牛賽車模型、Gate限量週邊、熱門代幣等你來抽!
立即抽獎 👉 https://www.gate.com/activities/pointprize?now_period=12
如何快速賺成長值?
1️⃣ 進入【廣場】,點擊頭像旁標識進入【社區中心】
2️⃣ 完成發帖、評論、點讚、發言等日常任務,成長值拿不停
100%有獎,抽到賺到,大獎等你抱走,趕緊試試手氣!
截止於 8月9日 24:00 (UTC+8)
詳情: https://www.gate.com/announcements/article/46384
#成长值抽奖12期开启#
Sputnik DAO智能合約解析:從提案機制看NEAR生態的去中心化治理
Rust智能合約養成日記:深入解析Sputnik DAO提案機制
Sputnik DAO作爲NEAR生態的基礎設施,正在推動NEAR項目走向去中心化自治。本文將深入解析Sputnik DAO智能合約中的核心概念 - 提案(Proposal)機制。
1. 提案發起
Sputnik DAO中的每個成員都可以發起提案,表達對項目治理的意見。從合約層面看,成員可以調用sputnikdaov2合約的add_proposal()方法來發起新提案:
rust pub fn add_proposal(&mut self, proposal: ProposalInput) -> u64
提案者需要提供提案的詳細信息,包括:
合約會進一步處理這些信息,生成一個完整的Proposal對象,並分配唯一的proposal_id。
值得注意的是,提案發起需要質押一定數量的NEAR代幣作爲保證金。這筆保證金在提案正常結束後會退還給提案人。
2. 提案狀態
Sputnik DAO中的提案可能經歷多種狀態:
提案狀態的變化由act_proposal()方法驅動。DAO成員可以調用該方法對提案進行投票:
投票結束後,根據投票結果更新提案狀態。
3. 提案執行
當提案狀態變爲Approved時,合約會調用internal_execute_proposal()函數執行提案內容。
Sputnik DAO支持多種類型的提案,本文重點介紹兩種典型提案:
3.1 合約函數執行提案
對於FunctionCall類型的提案,合約會執行提案中指定的函數調用。提案可以包含多個ActionCall對象,每個對象指定要調用的合約方法及參數。
3.2 合約資金轉移提案
Transfer類型的提案用於將合約帳戶中的代幣轉移到指定帳戶。合約會根據代幣類型和接收帳戶類型執行相應的轉帳操作。
4. 總結
本文介紹了Sputnik DAO合約中提案機制的核心概念,包括提案的創建、狀態變化和執行流程。這一機制爲NEAR項目提供了靈活高效的去中心化治理方案。