📢 #Gate广场征文活动第三期# 正式启动!
🎮 本期聚焦:Yooldo Games (ESPORTS)
✍️ 分享独特见解 + 参与互动推广,若同步参与 Gate 第 286 期 Launchpool、CandyDrop 或 Alpha 活动,即可获得任意奖励资格!
💡 内容创作 + 空投参与 = 双重加分,大奖候选人就是你!
💰总奖池:4,464 枚 $ESPORTS
🏆 一等奖(1名):964 枚
🥈 二等奖(5名):每人 400 枚
🥉 三等奖(10名):每人 150 枚
🚀 参与方式:
在 Gate广场发布不少于 300 字的原创文章
添加标签: #Gate广场征文活动第三期#
每篇文章需 ≥3 个互动(点赞 / 评论 / 转发)
发布参与 Launchpool / CandyDrop / Alpha 任一活动的截图,作为获奖资格凭证
同步转发至 X(推特)可增加获奖概率,标签:#GateSquare 👉 https://www.gate.com/questionnaire/6907
🎯 双倍奖励机会:参与第 286 期 Launchpool!
质押 BTC 或 ESPORTS,瓜分 803,571 枚 $ESPORTS,每小时发放
时间:7 月 21 日 20:00 – 7 月 25 日 20:00(UTC+8)
🧠 写作方向建议:
Yooldo
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项目提供了灵活高效的去中心化治理方案。