📢 Gate廣場 #创作者活动第一期# 火熱開啓,助力 PUMP 公募上線!
Solana 爆火項目 Pump.Fun($PUMP)現已登入 Gate 平台開啓公開發售!
參與 Gate廣場創作者活動,釋放內容力量,贏取獎勵!
📅 活動時間:7月11日 18:00 - 7月15日 22:00(UTC+8)
🎁 活動總獎池:$500 USDT 等值代幣獎勵
✅ 活動一:創作廣場貼文,贏取優質內容獎勵
📅 活動時間:2025年7月12日 22:00 - 7月15日 22:00(UTC+8)
📌 參與方式:在 Gate 廣場發布與 PUMP 項目相關的原創貼文
內容不少於 100 字
必須帶上話題標籤: #创作者活动第一期# #PumpFun#
🏆 獎勵設置:
一等獎(1名):$100
二等獎(2名):$50
三等獎(10名):$10
📋 評選維度:Gate平台相關性、內容質量、互動量(點讚+評論)等綜合指標;參與認購的截圖的截圖、經驗分享優先;
✅ 活動二:發推同步傳播,贏傳播力獎勵
📌 參與方式:在 X(推特)上發布與 PUMP 項目相關內容
內容不少於 100 字
使用標籤: #PumpFun # Gate
發布後填寫登記表登記回鏈 👉 https://www.gate.com/questionnaire/6874
🏆 獎勵設置:傳播影響力前 10 名用戶,瓜分 $2
Rust智能合約權限控制:函數可見性與特權訪問管理
Rust 智能合約養成日記(7)合約安全之權限控制
本文將從兩個方面介紹Rust智能合約中的權限控制:
1. 合約函數可見性
合理設置合約函數可見性對保護關鍵部分至關重要。以Bancor Network交易所2020年6月的安全事件爲例,由於誤將關鍵轉帳函數設爲public,導致用戶資產面臨風險。
在Rust智能合約中,函數可見性同樣重要。NEAR SDK中#[near_bindgen]宏定義了如下可見屬性:
還可通過未被#[near_bindgen]修飾的impl Contract塊來定義internal方法。
對於回調函數,需設爲public但只允許合約自身調用。可用#[private]宏實現此功能。
需注意Rust中默認可見性爲private,但trait和enum中的項目例外。
2. 特權函數訪問控制
除函數可見性外,還需建立完整的訪問控制白名單機制。類似Solidity的Ownable合約,某些特權函數只能由owner調用。
在Rust合約中,可實現如下Ownable trait:
rust pub trait Ownable { fn assert_owner(&self) { assert_eq!(env::predecessor_account_id(), self.get_owner()); } fn get_owner(&self) -> AccountId; fn set_owner(&mut self, owner: AccountId); }
基於此可實現針對owner的白名單。還可通過自定義更復雜的trait設置多用戶白名單或分組訪問控制。