Stablecoinチェーンコードの導入とテスト
チェーンコードは、Oracle Blockchain Platformコンソールから直接、またはブロックチェーン・アプリケーション・ビルダーを使用してデプロイできます。
チェーンコードのデプロイ
チェーンコードをデプロイする前に、各トークン・ユーザーの登録IDを作成し、トークン・ユーザーをそれぞれの登録IDにマップします。登録ごとに1人のユーザーのみを指定します。登録の追加の詳細は、Oracle Blockchain Platformの使用のRESTプロキシへの登録の追加を参照してください。
トークン・チェーンコードをデプロイする場合は、initメソッドをコールして、Token Adminユーザーの組織IDおよびユーザーIDを渡す必要があります。
Oracle Blockchain Platformコンソールからのデプロイの詳細は、Oracle Blockchain Platformの使用の拡張デプロイメントの使用を参照してください。
ブロックチェーン・アプリケーション・ビルダーを使用してデプロイするには、次のステップを実行します。
Stablecoin.zipアーカイブ・ファイルを抽出します。StablecoinチェーンコードをVisual Studio CodeのBlockchainアプリケーション・ビルダー拡張機能にインポートします。.ochain.jsonファイルを編集して、configFileLocationキーの値をStablecoin.yml仕様ファイルのパスに更新します。- 端末ウィンドウを開いてチェーンコード・フォルダに移動し、次のコマンドを実行します。
npm install
Stablecoinチェーンコードのサンプル・プロセス・フロー
安定コイン方式を使用した典型的なプロセスフローは、これらの基本的なステップに従います。設定:
- トークン管理者は、
initializeStablecoinTokenメソッドを使用してstablecoinを初期化し、固定currencyName(USDなど)およびconversionRateの値を指定します。 - トークン管理者は、
createAccountおよびassociateTokenToAccountメソッドを使用して、トークン・アカウントを作成し、複数レベルの承認者、マイナー、表記者、送信者および受信者の承認者を含むすべてのユーザーにロールを割り当てます。 - トークン管理者または組織管理者は、
createAccountPolicyCheckメソッドを使用して、すべての送信者および受信者のアカウント・ポリシーを作成し、KYC、AMLおよび制限フラグを確認します。 - トークン管理者は、
createApprovalPolicyCheckメソッドを使用して、トランザクションしきい値、必要な承認数などの承認要件、および複数レベルの承認の承認順序を含む承認者詳細を指定することで、承認ポリシーを定義します。 - トークン管理者は、
addRoleメソッドを使用して、マイナー、バーナー、公証人などのロールをアカウントに割り当てます。
ミント:
- minterは、
requestMintメソッドを使用して、stablecoinsのミントの承認を要求します。 - ミント承認者は、
approveMintメソッドを使用してミナーのリクエストを承認します。 - 安定コインはマイナーの口座に発行されます。
保有および譲渡:
- ユーザーは、
holdTokensメソッドを使用して転送を開始します。 AccountPolicyCheckポリシーでコンプライアンスがチェックされます。送信者または受信者のkycCompliance値またはamlCompliance値がfalseに設定されている場合、転送は行われません。送信者または受信者のrestrictionFlag値がtrueに設定されている場合、承認ポリシー内の最下位範囲の金額のみを転送できます。転送金額はApprovalPolicyCheckしきい値と照合され、定義された順序を持つ適切な承認者がトランザクションに適用されます。- 承認者は、
approveTransactionメソッドを使用して転送をレビューおよび認可します。承認は、承認ポリシーで定義された承認者の順序に基づいて行われます。 - すべての承認の後、システム公証人(保留プロセス中に定義)は、
executeHoldTokensメソッドを使用してトランザクションを承認します。承認済金額が受け側のアカウントに転送されます。
kycCompliance、amlComplianceおよびrestrictionFlagの値は、approveTransactionまたはexecuteHoldTokensメソッドを使用するすべての承認中に検証されます。
書き込み:
- バーナーは、
requestBurnメソッドを使用して、安定したコインを書き込む(破棄する)ための承認を要求します。 - バーナー承認者は、
approveBurnメソッドを使用してバーナーのリクエストを承認します。 - 安定コインはバーナーのアカウントから焼かれます。
監査:
- 管理者および監査者は、
getAccountTransactionHistoryメソッドおよびgetAccountTransactionHistoryWithFiltersメソッドを使用して、すべてのミント、保留、転送、マルチレベル承認およびバーン操作をトレースできます。
Postmanコレクションの使用の詳細は、Oracle Blockchain Platformのブロックチェーン・アプリケーション・ビルダーの次のトピックを参照してください。