# Rust智能合约养成日记(11):Sputnik DAO提案机制解析Sputnik-DAO 作为 NEAR Protocol 的基础设施,正推动NEAR生态向去中心化方向发展。目前该平台已促成众多NEAR项目建立去中心化自治社区,并提供了完整灵活高效的社区决策治理方案。Sputnikdaov2是用于Sputnik-DAO社区治理投票的智能合约。本文将介绍该合约的核心概念:提案(Proposal),并在后续文章中围绕提案介绍相关的DAO社区治理模式(Policy)。## 1. 提案发起Sputnik-DAO社区成员可通过调用sputnikdaov2合约的add_proposal()方法发起新提案。提案者需提供提案的详细信息(ProposalInput),包括:- 提案的文字描述(Description)- 提案的类型(kind)add_proposal()方法会进行相关校验和处理,生成一个完整的提案(Proposal),并将其与唯一的proposal_id绑定,添加到合约全局维护的提案池中。提案包含以下属性:- 提案者(proposer)- 提案状态(status) - 发起时间(submission_time)- 投票状态(vote_counts, votes)需注意,Sputnik-DAO要求提案者质押一定数额的NEAR代币作为保证金。该押金在提案正常结束时会退还给提案人。## 2. 提案状态Sputnik-DAO中的提案可能经历多种状态:- InProgress:初始状态,处于投票阶段- Approved:提案被批准 - Rejected:提案被拒绝- Removed:提案被移除- Failed:提案执行失败- Expired:提案过期提案状态变化由act_proposal()方法驱动。DAO成员可调用该方法对提案进行投票等操作。## 3. 提案执行 被批准的提案将通过internal_execute_proposal()函数执行。Sputnik-DAO支持多种提案类型,本文重点介绍两种:### 3.1 合约函数执行提案FunctionCall类型提案允许执行指定的合约函数。提案中可包含多个ActionCall对象,每个指定相应的合约方法名和参数。### 3.2 合约资金转移提案 Transfer类型提案用于将合约账户中的代币转移到指定账户。底层通过internal_payout()函数实现不同类型代币的转账操作。## 4. 总结本文介绍了Sputnik DAO合约的核心概念——提案(Proposal),包括提案的创建、状态变化和执行等内容。后续文章将进一步介绍Sputnik-DAO的治理模式(Policy)实现。
Sputnik DAO核心解析:提案机制如何驱动NEAR生态去中心化治理
Rust智能合约养成日记(11):Sputnik DAO提案机制解析
Sputnik-DAO 作为 NEAR Protocol 的基础设施,正推动NEAR生态向去中心化方向发展。目前该平台已促成众多NEAR项目建立去中心化自治社区,并提供了完整灵活高效的社区决策治理方案。
Sputnikdaov2是用于Sputnik-DAO社区治理投票的智能合约。本文将介绍该合约的核心概念:提案(Proposal),并在后续文章中围绕提案介绍相关的DAO社区治理模式(Policy)。
1. 提案发起
Sputnik-DAO社区成员可通过调用sputnikdaov2合约的add_proposal()方法发起新提案。提案者需提供提案的详细信息(ProposalInput),包括:
add_proposal()方法会进行相关校验和处理,生成一个完整的提案(Proposal),并将其与唯一的proposal_id绑定,添加到合约全局维护的提案池中。
提案包含以下属性:
需注意,Sputnik-DAO要求提案者质押一定数额的NEAR代币作为保证金。该押金在提案正常结束时会退还给提案人。
2. 提案状态
Sputnik-DAO中的提案可能经历多种状态:
提案状态变化由act_proposal()方法驱动。DAO成员可调用该方法对提案进行投票等操作。
3. 提案执行
被批准的提案将通过internal_execute_proposal()函数执行。Sputnik-DAO支持多种提案类型,本文重点介绍两种:
3.1 合约函数执行提案
FunctionCall类型提案允许执行指定的合约函数。提案中可包含多个ActionCall对象,每个指定相应的合约方法名和参数。
3.2 合约资金转移提案
Transfer类型提案用于将合约账户中的代币转移到指定账户。底层通过internal_payout()函数实现不同类型代币的转账操作。
4. 总结
本文介绍了Sputnik DAO合约的核心概念——提案(Proposal),包括提案的创建、状态变化和执行等内容。后续文章将进一步介绍Sputnik-DAO的治理模式(Policy)实现。