# Rust スマートコントラクト 栽培日記 (11):スプートニクDAO提案メカニズム分析Sputnik-DAOはNEAR Protocolのインフラストラクチャとして、NEARエコシステムを去中心化の方向に推進しています。現在、このプラットフォームは多くのNEARプロジェクトが去中心化自主管理コミュニティを構築することを促進し、完全で柔軟かつ効率的なコミュニティの意思決定ガバナンススキームを提供しています。Sputnikdaov2はSputnik-DAOコミュニティガバナンス投票のためのスマートコントラクトです。本稿ではこの契約の核心概念である提案(Proposal)を紹介し、今後の記事では提案に関連するDAOコミュニティガバナンスモデル(Policy)について紹介します。! [](https://img-cdn.gateio.im/social/moments-84ee9ca630a4cdcdb0d2eb63450a7cf4)## 1. 提案開始Sputnik-DAOコミュニティメンバーは、sputnikdaov2コントラクトのadd_proposal()メソッドを呼び出すことで新しい提案を開始できます。提案者は、提案の詳細情報(ProposalInput)を提供する必要があります。- 提案(Description)のテキスト説明- 提案のタイプ(kind)add_proposal()メソッドは関連する検証と処理を行い、完全な提案(Proposal)を生成し、それを唯一のproposal_idにバインドし、契約が全体的に管理する提案プールに追加します。提案には以下の属性が含まれています:- 提案者(proposer)- 提案状況 (status) - 開始時刻(submission_time)- 投票状況(vote_counts、votes)注意が必要です。Sputnik-DAOは提案者に対して、保証金として一定数のNEARトークンをステーキングするよう要求します。このデポジットは、提案が正常に終了した際に提案者に返還されます。! [](https://img-cdn.gateio.im/social/moments-427716593b21fa32b47855ceb5e101fc)## 2. 提案状況Sputnik-DAOの提案は、さまざまな状態を経る可能性があります:- InProgress: 投票フェーズの初期状態- 承認された:提案が承認されました- 拒否された:提案が拒否されました- 削除:提案が削除されました- 失敗:提案の実行に失敗しました- 期限切れ:提案が期限切れです提案の状態変化はact_proposal()メソッドによって駆動されます。DAOメンバーはこのメソッドを呼び出して提案に投票するなどの操作を行うことができます。! [](https://img-cdn.gateio.im/social/moments-ef0b959c42e1f5fc6263cd4a86fd078e)## 3. プロポーザルの実行 承認された提案は、internal_execute_proposal()関数を通じて実行されます。Sputnik-DAOはさまざまな提案タイプをサポートしており、この記事では2つのタイプに焦点を当てます:### 3.1 コントラクト関数実行提案FunctionCallタイプの提案は、指定されたコントラクト関数を実行することを許可します。提案には複数のActionCallオブジェクトを含めることができ、それぞれは対応するコントラクトメソッド名とパラメータを指定します。### 3.2 コントラクト資金移転提案Transferタイプの提案は、契約アカウントから指定されたアカウントにトークンを移動するために使用されます。基盤はinternal_payout()関数を通じて、異なるタイプのトークンの送金操作を実現します。! [](https://img-cdn.gateio.im/social/moments-eb73d5e15f6161f0a4b442cd4b99a91e)## 4. まとめこの記事では、Sputnik DAOのスマートコントラクトの核心概念——提案(Proposal)について説明します。提案の作成、状態変化、実行などの内容が含まれています。今後の記事では、Sputnik-DAOのガバナンスモデル(Policy)の実現についてさらに紹介します。! [](https://img-cdn.gateio.im/social/moments-4aed25bcefecb3d554dbe01447d4a0e8)
Sputnik DAOの核心解析:提案メカニズムがどのようにNEARエコシステムの分散化ガバナンスを推進するか
Rust スマートコントラクト 栽培日記 (11):スプートニク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はさまざまな提案タイプをサポートしており、この記事では2つのタイプに焦点を当てます:
3.1 コントラクト関数実行提案
FunctionCallタイプの提案は、指定されたコントラクト関数を実行することを許可します。提案には複数のActionCallオブジェクトを含めることができ、それぞれは対応するコントラクトメソッド名とパラメータを指定します。
3.2 コントラクト資金移転提案
Transferタイプの提案は、契約アカウントから指定されたアカウントにトークンを移動するために使用されます。基盤はinternal_payout()関数を通じて、異なるタイプのトークンの送金操作を実現します。
!
4. まとめ
この記事では、Sputnik DAOのスマートコントラクトの核心概念——提案(Proposal)について説明します。提案の作成、状態変化、実行などの内容が含まれています。今後の記事では、Sputnik-DAOのガバナンスモデル(Policy)の実現についてさらに紹介します。
!