# Rust スマートコントラクト 栽培日記 (11):スプートニクDAO提案メカニズム分析Sputnik-DAOはNEARエコシステムのインフラとして、NEARプロジェクトの去中心化方向への発展を推進しています。現在、このプラットフォームは複数のNEARプロジェクトが去中心化自治コミュニティを構築することを促進し、完全で柔軟なコミュニティ意思決定ガバナンスソリューションを提供しています。Sputnikdaov2は、Sputnik-DAOコミュニティガバナンス投票のためのスマートコントラクトです。本記事では、当該契約のコアコンセプトである提案(Proposal)について紹介します。次回の記事では、提案に関連するDAOコミュニティガバナンスモデル(Policy)について説明します。! [](https://img-cdn.gateio.im/social/moments-84ee9ca630a4cdcdb0d2eb63450a7cf4)## 1. 提案開始Sputnik-DAOコミュニティのメンバーは、プロジェクトのガバナンスや管理について意見を述べたり、提案を提出したりすることができます。保有者は提案を審査し、投票することで、プロジェクトの今後の方向性に影響を与えることができます。契約レベルでは、DAOメンバーはsputnikdaov2契約のadd_proposal()メソッドを呼び出して新しい提案を開始することができます。錆Pub FN add_proposal(&Mut Self, Proposal: ProposalInput) -> U64提案者は、以下の(ProposalInput)詳細な情報を提供する必要があります。- 提案(Description)のテキスト説明 - 提案のタイプ(kind)add_proposal()メソッドは検証処理を行い、完全に初期化された提案(Proposal)を生成し、唯一のproposal_idにバインドし、コントラクトが全体的に管理する提案プールに追加します。提案の完全な属性情報には次のものが含まれます:- 説明: 提案の説明- kind: 提案のタイプ - 提案者:提案者- status: 提案のステータス- submission_time:提出時期- vote_counts:投票数- 投票:投票の詳細注意が必要です。Sputnik-DAOは提案者が一定数のNEARトークンを保証金としてステーキングすることを要求しています。この保証金は提案が正常に終了した際に返還されます。! [](https://img-cdn.gateio.im/social/moments-427716593b21fa32b47855ceb5e101fc)## 2. 提案のステータスSputnik-DAOの提案は、さまざまな状態を経る可能性があります:- InProgress: 進行中です- 承認済み:承認済み - 拒否: 拒否されました- Removed:削除されました提案の状態の変化はact_proposal()メソッドによって駆動されます。DAOメンバーはこのメソッドを呼び出して提案に対して投票などの操作を行うことができます:- VoteApprove:はい- VoteReject: 反対 - VoteRemove:削除します投票後、投票がカウントされ、しきい値に達した提案のステータスはそれに応じて変更されます。 承認済み状態の提案は実行され、却下済みまたは削除済みステータスの提案はクローズされます。! [](https://img-cdn.gateio.im/social/moments-ef0b959c42e1f5fc6263cd4a86fd078e)## 3. プロポーザルの実行 ステータスが「承認済み」の提案は、internal_execute_proposal()機能を介して実行されます。Sputnik-DAOは、DAOガバナンスモデルの設定更新に関連する複数の提案タイプをサポートしています。ここでは、2つの典型的な提案タイプの処理プロセスについて紹介します:### 3.1 コントラクト関数実行提案FunctionCallタイプの提案は、指定されたスマートコントラクトのメソッドを実行できます。提案には、実行する具体的な関数操作(actions)が含まれており、複数の連続したfunction_callである可能性があります。Sputnik-DAOはPromise Batch Actionsの形式で実行を完了します。### 3.2 契約資金移動の提案 Transferタイプの提案は、コントラクトアカウントに蓄積されたトークンを指定されたアカウントに転送できます。内部呼び出しinternal_payout()関数を使用して、異なるタイプのトークンと受取アカウントへの送金操作を実現します。## 4. まとめこの記事では、Sputnik DAOのスマートコントラクトの核心概念——提案(Proposal)について、提案の作成、投票、状態の変化、実行プロセスを含めて紹介します。今後、Sputnik-DAOのガバナンスモデル(Policy)について、より詳細に説明します。! [](https://img-cdn.gateio.im/social/moments-eb73d5e15f6161f0a4b442cd4b99a91e)
Sputnik DAOスマートコントラクト解析:提案メカニズムとガバナンスプロセス
Rust スマートコントラクト 栽培日記 (11):スプートニクDAO提案メカニズム分析
Sputnik-DAOはNEARエコシステムのインフラとして、NEARプロジェクトの去中心化方向への発展を推進しています。現在、このプラットフォームは複数のNEARプロジェクトが去中心化自治コミュニティを構築することを促進し、完全で柔軟なコミュニティ意思決定ガバナンスソリューションを提供しています。
Sputnikdaov2は、Sputnik-DAOコミュニティガバナンス投票のためのスマートコントラクトです。本記事では、当該契約のコアコンセプトである提案(Proposal)について紹介します。次回の記事では、提案に関連するDAOコミュニティガバナンスモデル(Policy)について説明します。
!
1. 提案開始
Sputnik-DAOコミュニティのメンバーは、プロジェクトのガバナンスや管理について意見を述べたり、提案を提出したりすることができます。保有者は提案を審査し、投票することで、プロジェクトの今後の方向性に影響を与えることができます。
契約レベルでは、DAOメンバーはsputnikdaov2契約のadd_proposal()メソッドを呼び出して新しい提案を開始することができます。
錆 Pub FN add_proposal(&Mut Self, Proposal: ProposalInput) -> U64
提案者は、以下の(ProposalInput)詳細な情報を提供する必要があります。
add_proposal()メソッドは検証処理を行い、完全に初期化された提案(Proposal)を生成し、唯一のproposal_idにバインドし、コントラクトが全体的に管理する提案プールに追加します。
提案の完全な属性情報には次のものが含まれます:
注意が必要です。Sputnik-DAOは提案者が一定数のNEARトークンを保証金としてステーキングすることを要求しています。この保証金は提案が正常に終了した際に返還されます。
!
2. 提案のステータス
Sputnik-DAOの提案は、さまざまな状態を経る可能性があります:
提案の状態の変化はact_proposal()メソッドによって駆動されます。DAOメンバーはこのメソッドを呼び出して提案に対して投票などの操作を行うことができます:
投票後、投票がカウントされ、しきい値に達した提案のステータスはそれに応じて変更されます。 承認済み状態の提案は実行され、却下済みまたは削除済みステータスの提案はクローズされます。
!
3. プロポーザルの実行
ステータスが「承認済み」の提案は、internal_execute_proposal()機能を介して実行されます。
Sputnik-DAOは、DAOガバナンスモデルの設定更新に関連する複数の提案タイプをサポートしています。ここでは、2つの典型的な提案タイプの処理プロセスについて紹介します:
3.1 コントラクト関数実行提案
FunctionCallタイプの提案は、指定されたスマートコントラクトのメソッドを実行できます。提案には、実行する具体的な関数操作(actions)が含まれており、複数の連続したfunction_callである可能性があります。Sputnik-DAOはPromise Batch Actionsの形式で実行を完了します。
3.2 契約資金移動の提案
Transferタイプの提案は、コントラクトアカウントに蓄積されたトークンを指定されたアカウントに転送できます。内部呼び出しinternal_payout()関数を使用して、異なるタイプのトークンと受取アカウントへの送金操作を実現します。
4. まとめ
この記事では、Sputnik DAOのスマートコントラクトの核心概念——提案(Proposal)について、提案の作成、投票、状態の変化、実行プロセスを含めて紹介します。今後、Sputnik-DAOのガバナンスモデル(Policy)について、より詳細に説明します。
!