#錆びたスマートコントラクト栽培日記 (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コミュニティの各メンバーは、プロジェクトのガバナンスや管理について意見を述べたり提案を提出したりすることができます。その後、DAOで持株を持つコミュニティメンバーは、その提案について審議し投票することができます。言い換えれば、Sputnik-DAOの各メンバーは、他のメンバーの提案に投票したり、自ら新しい管理提案を発起したりすることで、プロジェクトの将来の方向性に影響を与えることができます。契約のレベルでは、DAOコミュニティのメンバーは、sputnikdaov2契約が提供するadd_proposal()メソッドを呼び出して新しい提案を開始できます。提案者は、提案の詳細(ProposalInput)を提供する必要があります。- 提案(Description)のテキスト説明- 提案のタイプ(kind)これらの情報は、add_proposal()メソッドにパラメータとして渡され、このメソッドは関連する検証と処理を行い、完全な提案(Proposal)を生成します。最終的にこの提案は、唯一のproposal_idにバインドされ、契約全体で管理されている提案プールに追加されます。提案の完全な属性情報には次のものが含まれます:- 説明(description) - タイプ(kind)- 提案者(proposer)- ステータス(status) - 提出時間 (submission_time)- 投票状況(vote_counts、votes)注意が必要なのは、Sputnik-DAOに提案押金(proposal_bond)の概念が存在することであり、この押金は具体的なコミュニティガバナンスモデルに従って管理されます。契約は、提案者がadd_proposal()メソッドを呼び出す際に、新しい提案の保証金として一定量のNEARトークンをステークすることを要求します。この押金は、提案が正常に終了した際に提案者に返還されます。! [](https://img-cdn.gateio.im/social/moments-427716593b21fa32b47855ceb5e101fc)## 2. 提案状況Sputnik-DAOの提案は、さまざまな状態を経る可能性があり、初期状態はInProgressです。具体的な状態の変化は、契約のact_proposal()メソッドによって駆動されます。DAOメンバーはact_proposal()メソッドを呼び出して提案に対して以下の操作を実行できます:- VoteApprove:承認します- VoteReject:不承認を示します - VoteRemove: この提案は実質的な意味がないと考えられ、削除する必要があります。提案の状態が変更されました:- 承認された場合は、internal_execute_proposal()によって実行されます- 「拒否」または「削除済み」の場合、internal_reject_proposal()は後続の操作の実行に使用されますRejectedとRemovedの状態の違いは、Removedの状態の提案は提案プールから直接削除され、デポジットは返還されないことです。一方、Rejectedの状態の提案は提案プールに保持され、デポジットは返還されます。! [](https://img-cdn.gateio.im/social/moments-ef0b959c42e1f5fc6263cd4a86fd078e)## 3. プロポーザルの実行 提案のステータスが [承認済み] の場合、act_proposal() メソッドはinternal_execute_proposal()関数を呼び出して提案を実行します。Sputnik-DAOは複数の提案タイプをサポートしており、この記事では2つの典型的な提案の処理プロセスに重点を置いて紹介します:### 3.1 コントラクト関数実行提案FunctionCall の提案の場合、提案者は、add_proposal()時に実行される特定の関数操作(actions)を渡しています。 internal_execute_proposal() は、Promise バッチ アクションの形式でコントラクト機能の実行を完了します。### 3.2 コントラクト資金移動提案Transfer型の提案の場合、internal_execute_proposal()関数はinternal_payout()関数を呼び出して、さまざまな型のFungibleを実装します さまざまな種類のreceiver_idのトークンと転送操作。! [](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エコシステムの分散化ガバナンスの核心
#錆びたスマートコントラクト栽培日記 (11) - スプートニクDAO提案メカニズムを解説
Sputnik-DAOはNEAR Protocolのインフラストラクチャーとして、NEARエコシステムを分散型に向けて推進しています。現在、このプラットフォームは多くのNEARプロジェクトが分散型自治を実現するのを促進しており、同時に完全で柔軟かつ効率的なコミュニティ意思決定ガバナンスのソリューションを提供しています。
Sputnikdaov2はSputnik-DAOコミュニティのガバナンス投票に使用されるスマートコントラクトです。本記事では、このコントラクトの核心概念である提案(Proposal)について紹介し、今後の記事ではその提案に関連するDAOコミュニティガバナンスモデル(Policy)について解説します。
!
1. 提案開始
Sputnik-DAOコミュニティの各メンバーは、プロジェクトのガバナンスや管理について意見を述べたり提案を提出したりすることができます。その後、DAOで持株を持つコミュニティメンバーは、その提案について審議し投票することができます。言い換えれば、Sputnik-DAOの各メンバーは、他のメンバーの提案に投票したり、自ら新しい管理提案を発起したりすることで、プロジェクトの将来の方向性に影響を与えることができます。
契約のレベルでは、DAOコミュニティのメンバーは、sputnikdaov2契約が提供するadd_proposal()メソッドを呼び出して新しい提案を開始できます。提案者は、提案の詳細(ProposalInput)を提供する必要があります。
これらの情報は、add_proposal()メソッドにパラメータとして渡され、このメソッドは関連する検証と処理を行い、完全な提案(Proposal)を生成します。最終的にこの提案は、唯一のproposal_idにバインドされ、契約全体で管理されている提案プールに追加されます。
提案の完全な属性情報には次のものが含まれます:
注意が必要なのは、Sputnik-DAOに提案押金(proposal_bond)の概念が存在することであり、この押金は具体的なコミュニティガバナンスモデルに従って管理されます。契約は、提案者がadd_proposal()メソッドを呼び出す際に、新しい提案の保証金として一定量のNEARトークンをステークすることを要求します。この押金は、提案が正常に終了した際に提案者に返還されます。
!
2. 提案状況
Sputnik-DAOの提案は、さまざまな状態を経る可能性があり、初期状態はInProgressです。具体的な状態の変化は、契約のact_proposal()メソッドによって駆動されます。
DAOメンバーはact_proposal()メソッドを呼び出して提案に対して以下の操作を実行できます:
提案の状態が変更されました:
RejectedとRemovedの状態の違いは、Removedの状態の提案は提案プールから直接削除され、デポジットは返還されないことです。一方、Rejectedの状態の提案は提案プールに保持され、デポジットは返還されます。
!
3. プロポーザルの実行
提案のステータスが [承認済み] の場合、act_proposal() メソッドはinternal_execute_proposal()関数を呼び出して提案を実行します。
Sputnik-DAOは複数の提案タイプをサポートしており、この記事では2つの典型的な提案の処理プロセスに重点を置いて紹介します:
3.1 コントラクト関数実行提案
FunctionCall の提案の場合、提案者は、add_proposal()時に実行される特定の関数操作(actions)を渡しています。 internal_execute_proposal() は、Promise バッチ アクションの形式でコントラクト機能の実行を完了します。
3.2 コントラクト資金移動提案
Transfer型の提案の場合、internal_execute_proposal()関数はinternal_payout()関数を呼び出して、さまざまな型のFungibleを実装します さまざまな種類のreceiver_idのトークンと転送操作。
!
4. まとめ
この記事では、Sputnik DAOのスマートコントラクトの核心概念である提案(Proposal)について説明します。これには提案の作成、投票の実行、および状態変化のルールが含まれます。今後の記事では、提案に基づいてSputnik-DAOにおけるガバナンスモデル(Policy)の実装と設定についてより詳細に説明します。
!