📢 Gate廣場專屬 #WXTM创作大赛# 正式開啓!
聚焦 CandyDrop 第59期 —— MinoTari (WXTM),總獎池 70,000 枚 WXTM 等你贏!
🎯 關於 MinoTari (WXTM)
Tari 是一個以數字資產爲核心的區塊鏈協議,由 Rust 構建,致力於爲創作者提供設計全新數字體驗的平台。
通過 Tari,數字稀缺資產(如收藏品、遊戲資產等)將成爲創作者拓展商業價值的新方式。
🎨 活動時間:
2025年8月7日 17:00 - 8月12日 24:00(UTC+8)
📌 參與方式:
在 Gate廣場發布與 WXTM 或相關活動(充值 / 交易 / CandyDrop)相關的原創內容
內容不少於 100 字,形式不限(觀點分析、教程分享、圖文創意等)
添加標籤: #WXTM创作大赛# 和 #WXTM#
附本人活動截圖(如充值記錄、交易頁面或 CandyDrop 報名圖)
🏆 獎勵設置(共計 70,000 枚 WXTM):
一等獎(1名):20,000 枚 WXTM
二等獎(3名):10,000 枚 WXTM
三等獎(10名):2,000 枚 WXTM
📋 評選標準:
內容質量(主題相關、邏輯清晰、有深度)
用戶互動熱度(點讚、評論)
附帶參與截圖者優先
📄 活動說明:
內容必須原創,禁止抄襲和小號刷量行爲
獲獎用戶需完成 Gate廣場實名
Sputnik DAO工廠合約解析:創建、更新與安全性設計
Rust智能合約養成日記(10-2):Sputnik DAO工廠合約解析
本文將深入解讀Sputnik-DAO平台工廠模式(sputnikdao-factory)的設計實現。
1. Sputnik-DAO 工廠合約
Sputnik-DAO採用創建型工廠設計模式實現了該平台下去中心化自治組織(DAO)的統一創建與管理。
工廠合約的狀態主要由兩部分組成:
rust pub struct SputnikDAOFactory { factory_manager: FactoryManager, daos: UnorderedSet, }
2. 創建DAO
創建DAO實例使用create()方法:
rust #[payable] pub fn create(&mut self, name: AccountId, args: Base64VecU8) { let account_id: AccountId = format!("{}.{}", name, env::current_account_id()) .parse() .unwrap(); // ... self.factory_manager.create_contract( self.get_default_code_hash(), account_id, "new", &args.0, "on_create", &callback_args, ); }
create_contract()方法的主要步驟:
3. 更新DAO
通過update()方法可以升級DAO合約:
rust pub fn update(&self, account_id: AccountId, code_hash: Base58CryptoHash) { let caller_id = env::predecessor_account_id(); assert!( caller_id == self.get_owner() || caller_id == account_id, "Must be updated by the factory owner or the DAO itself" ); // ... self.factory_manager .update_contract(account_id, code_hash, "update"); }
4. 安全性分析
Sputnik-DAO工廠合約通過這些機制保證了合約的安全性。