卸売CBDCサンプル・アプリケーション用のOracle Blockchain Platformの構成
Oracle Blockchain Platformのすべての必要なインスタンスとその前提条件となる製品を作成したら、ユーザーとロールを構成し、参加者組織をファウンダ組織に追加して、リッチ履歴データベースを有効にする必要があります。
Oracle Blockchain PlatformインスタンスへのIDCSグループの構成
組込みのOracle Blockchain Platformロールおよびロールへのユーザーの割当て方法の詳細は、ユーザーおよびアプリケーション・ロールの設定を参照してください
卸売CBDCサンプル・アプリケーション・ロールの詳細は、卸売CBDCアプリケーション・ワークフローを参照してください。
Oracle Blockchain Platformでは、次のアプリケーション・ロール割当てを実装する必要があります。
- 中央銀行(CB)グループ: CentralBank Oracle Blockchain Platformインスタンスの
REST_CLIENT
アプリケーション・ロールにすべての中央銀行グループを割り当てます。 - 金融機関(FI)グループ: すべての金融機関グループを、それぞれの組織の
REST_CLIENT
アプリケーション・ロールに割り当てます。 - 管理ロール: 関連する管理グループ(
CB_CBDC_ADMIN
やFI_CBDC_ADMINS
など)を、それぞれの組織のADMIN
アプリケーション・ロールに割り当てます。
この構成により、中央銀行と金融機関の両方のグループがREST_CLIENT
ロールを介して必要なアクセス権を持つようになり、管理権限はADMIN
ロールを介して適切に管理されます。
グループをアプリケーション・ロールに割り当てるには、次のステップに従います。
- Oracle Cloud Infrastructureアカウントにサインインします。
- コンソールで、左上隅の「ナビゲーション」メニューをクリックします。
- 「アイデンティティ」で、「ドメイン」を選択します。
- 「ドメイン」ページで、「Oracle Identity Cloud Service」をクリックします。
- Oracle Identity Cloud Serviceのナビゲーション・メニューで、「Oracle Cloud Services」を選択します。グループ・ロールを割り当てるOracle Blockchain Platformインスタンスを見つけます。そのインスタンスの「詳細」ページを開きます。
- 「アプリケーション・ロール」タブに移動して、「リソース」ナビゲータにリストされているOracle Identity Cloud Serviceアプリケーション・ロールを表示します。
- 割り当てるロールを選択し、ロールを展開します。ロールの「詳細」メニューをクリックし、「グループの割当て」を選択します。
- 「グループの割当て」ダイアログで、ロールに割り当てるグループを選択し、「割当て」をクリックします。
ClientId
およびClientSecret
のフェッチ
Oracle Blockchain PlatformのClientID
とClientSecret
は、Visual Builderによって利用されます。「Visual Builderバックエンドの構成」の説明に従って、後でVisual Builderでこれらのパラメータを更新する必要があります。
Oracle Blockchain PlatformインスタンスのクライアントIDおよびクライアント・シークレットを取得するには:
- Oracle Cloud Infrastructureアカウントにサインインします。OAuth設定を管理するための十分な管理権限があることを確認します。
- コンソールで、左上隅の「ナビゲーション」メニューをクリックします。
- 「アイデンティティ」で、「ドメイン」を選択します。
- 「ドメイン」ページで、「Oracle Identity Cloud Service」をクリックします。
- Oracle Identity Cloud Serviceのナビゲーション・メニューで、「Oracle Cloud Services」を選択します。クライアントIDおよびクライアント・シークレットをフェッチするOracle Blockchain Platformインスタンスを見つけます。そのインスタンスの「詳細」ページを開きます。
- インスタンスの詳細ページを開くと、表示されるデフォルトのタブはOAuth「構成」タブになります。このタブには、Oracle Blockchain PlatformインスタンスのOAuth設定に関する重要な情報が含まれています。
「一般情報」セクションには、「クライアントID」および「クライアント・シークレット」のラベルが付いたフィールドがあります。これらの資格証明は、Oracle Blockchain Platformに対するAPIリクエストを認証するために使用されます。
複数組織構成
複数の組織を持つ複雑なOracle Blockchain Platformネットワークを作成する場合は、ファウンダに参加者を追加します。このプロセスの概要は、Oracle Blockchain Platform管理ガイド: OBCS参加者組織のネットワークへの追加に記載されています。
Oracle Blockchain Platformのリッチ履歴データベースの構成
リッチ履歴データベースの構成および使用の詳細は、リッチ履歴データベースの作成を参照してください。
これらのステップを完了する前に、Autonomous Databaseのプロビジョニングの説明に従ってAutonomous Databaseインスタンスを作成し、Oracle Blochain Platformのリッチ履歴データベースを有効にしておく必要があります。
- ネットワーク・インスタンスのOracle Blockchain Platformコンソールを開きます。
- 右上隅にある「他のアクション」メニューをクリックし、「リッチ履歴の構成」を選択します。
- Oracleデータベースにアクセスして書き込むための接続文字列および資格証明を指定して、Oracleデータベース接続を指定します。指定する資格証明はデータベースの資格証明で、Oracle Blockchain Platformでは管理されないことに注意してください。
- 「保存」をクリックして、リッチ履歴データベースを構成します。
登録の作成
CB_CBDC_ADMINS
およびFI_CBDC_ADMINS
グループにユーザーの登録を手動で作成する必要があります。
Oracle Blockchain PlatformのRESTプロキシへの登録は、ユーザーが登録証明書を必要とせずにブロックチェーンと対話するためのメカニズムを提供し、アプリケーション・アイデンティティをブロックチェーン・メンバーにマップすることでAPIコールを簡素化します。チェーンコードのコールを開始するには、Oracle Blockchain Platform内で登録を確立する必要があります。
卸売CBDCアプリケーションは、アカウントの設定中にユーザーの登録の作成を管理します。ただし、CBDC管理ユーザーが初めてログインすると、登録は存在しません。したがって、このユーザーがアカウントを作成しようとすると、RestProxy
コールは失敗します。したがって、CBDC ADMINグループの登録を作成することが不可欠です。
アカウントを設定すると、各組織に対して登録が作成されます。たとえば、中央銀行(CB)の口座が確立されると、対応する登録が生成されます。ただし、CBDC管理ページで金融機関(FI)口座が作成された場合、それらの金融機関に対する登録は自動的には作成されません。この卸売CBDCワークフローでは、CB管理ページでFI管理アカウントを設定する必要があります。したがって、中央銀行と金融機関の間の組織構造が異なるため、これらの登録は自動的に生成されないため、ユーザーはFI管理グループの登録を手動で作成する必要があります。
登録の作成方法の詳細は、「RESTプロキシへの登録の追加」を参照してください。
RestproxyId
のフェッチ
RestproxyId
はVisual Builderによって使用されます。Visual Builderバックエンドの構成の説明に従って、後でVisual Builderでこれを更新する必要があります。
Oracle Blockchain PlatformインスタンスのRestProxyId
を取得するには、ユーザーは管理ユーザー・アカウントを使用してOracle Blockchain PlatformコンソールAPIを起動する必要があります。認証は、基本認証またはOAuth 2.0のいずれかで実行できます。
認証方式
OAuth 2.0の場合、必要な認証フローを実装するには、OAuth 2.0 Access Token Based Authenticationのドキュメントを参照してください。
RestProxyId
をフェッチするためのAPIエンドポイント
Oracle Blockchain PlatformコンソールAPIを使用して、次のエンドポイントにリクエストを送信してRestProxyId
を取得します:
GET <obp_url>/console/admin/api/v2/nodes
このAPIコールは、インスタンスで構成されたRESTプロキシの詳細を含むレスポンスを返します。
コンソールAPIの詳細は、次のドキュメントを参照してください: ノード・リストの取得。
レスポンスの詳細
レスポンスで、対応するRestProxyId
が見つかるRESTProxies
というラベルのセクションを見つけます。レスポンスの構造には、各RESTプロキシ・ノードに関連付けられた様々な属性が含まれます。
"RESTProxies": [
{
"status": "up",
"extInfo": [],
"displayName": "restproxy",
"RESTProxyId": "48021a2c-e62b-40bd-b7ca-71dda883521d-restproxy",
"url": "https://fibank3-oabcs1-hyd.blockchain.ocp.oraclecloud.com:7443/restproxy",
"mspId": "FIBank3"
}
]
卸売CBDCサンプル・アプリケーションのチェーンコードのデプロイ
これで、チャネルを作成し、それにサンプル・アプリケーション・チェーンコードをデプロイできるようになりました。
リッチ履歴データベース・ビューの作成
Oracle Blockchain Platformインスタンスのリッチ履歴データベースを作成した後、データベース・ビュー作成スクリプトを実行してリッチ履歴データベースにビューを作成し、ORDSエンドポイントを生成できます。
clientId
、clientSecret
、Bearerトークンなどの必須資格証明を提供して、エンドポイントを認証してアクセスします。
ORDS_REST_BASE_URL/ords/ALIAS_NAME/BASE_PATH/PATTERN
- ORDS_REST_BASE_URL: ORDSサービスのベースURL。
- ALIAS_NAME: ORDSで構成されたデータベースまたはスキーマの別名。
- BASE_PATH: RESTfulサービスのベース・パス。
- PATTERN: RESTfulサービスの特定のエンドポイント・パターン。
ORDS_REST_BASE_URL/ords/ALIAS_NAME/oauth/token
- clientId
- clientSecret
- ORDSエンドポイント
- OAuthベースURL:
ORDS_REST_BASE_URL/ords/<userName|aliasName>