預入トークン・アプリケーション・ワークフロー

預入トークンは、銀行預入を表す代替トークンです。

預入トークン・シナリオでは、最小限のガバナンス・オーバーヘッドでトークンの発行および配布がサポートされます。トークンは作成者によってミントされ、発行者によってユーザーに発行されます。作成者は保留ベースの転送を使用してトークンを発行者に送信します。発行者には承認者によるサインオフが必要です。発行者はトークンをユーザーに直接配布でき、これ以上の承認は必要ありません。ユーザーは、独自のトークンを作成するために承認を必要としません。

  • 最小ロールと公証ロールが必要です。
  • バーナー・ロールは必要ありません。ユーザーは、burnTokens APIを使用して独自のトークンを作成できます。
  • 発行者は、transferTokensメソッドを使用してトークンをユーザーに直接転送します。
  • 保留ベースの転送は、作成者と発行者の間のみです。
次の表に、このシナリオのアクターの概要を示します。
アクター ロール 説明
Administrator トークン管理 システムを初期化し、minterおよびnotaryのロールを割り当てます。
クリエータ マイナー ミントを要求し、発行者への保留ベースの転送を開始します。
承認者 公証人 ミント要求を承認し、保留転送を完了します。
発行者 なし 作成者からトークンを受け取り、ユーザーに直接配布します。
ユーザー なし 発行者から直接トークンを受け取ります。ユーザーは、承認なしでトークンを書き込むことができます。
管理者は、次のステップを実行してシステムを初期化します。
  1. initializeDepositToken APIを使用して、預入トークン・システムを初期化します。
  2. registerOrg APIを使用して組織を登録します。
  3. createAccount APIを使用してアカウントを作成します。
  4. associateTokenToAccount APIを使用して、トークンをアカウントに関連付けます。
  5. addRole APIを使用して、作成者にminterロールを割り当て、承認者にnotaryロールを割り当てます。
システムの初期化後、一般的なプロセス・フローは次の基本ステップに従います。
  1. ミントデポジットトークン。
    1. トークン作成者は、requestMint APIを使用して、デポジット・トークンをミントするリクエストを送信します。
    2. 承認者は、approveMint APIを使用して、預入トークンをミントするリクエストを確認および承認します。預金トークンは、作成者の口座に貸方記入されます。または、承認者はrejectMint APIを使用してリクエストを拒否できます。
  2. 預入トークンを発行者に転送します。
    1. 作成者は、holdTokens APIを使用して、発行者へのトークンの転送をリクエストします。
    2. 承認者は、executeHoldTokens APIを使用して転送リクエストを検証および承認します。預入トークンは、発行者のアカウントに転送されます。または、承認者はreleaseHold APIを使用して転送を拒否できます。
  3. ユーザーにトークンを発行します。
    • 発行者は、ユーザーにtransferTokens APIを使用します。預入トークンは、ユーザーのアカウントに対するクレジットです。
  4. トークンを書き込みます。
    • ユーザーは、burnTokens APIを使用してデポジット・トークンを引き換えることができます。
  5. トークンの残高を確認します。
    • ユーザーは、getAccountBalance APIを使用して、保有する預入トークンの合計数を取得できます。