ラッパーAPIパッケージ・コンポーネント
ラッパーAPIパッケージには、ラッパーAPIのアーカイブ・ファイル、デプロイメント用のTerraformスクリプト、および対応するPostmanコレクションが含まれます。
- ラッパーAPIアーカイブ・ファイルの名前は
<ChaincodeName>WrapperAPI.zip
です。また、スタック・リソースにデプロイする必要があるTerraformスクリプトも含まれています。 - Postmanコレクション・ファイルの名前は
<ChaincodeName>_WrapperAPI.postman_collection.json
です。このコレクションを使用して、すべてのラッパーAPIを起動できます。
ラッパーAPIパッケージ
ラッパーAPIパッケージには、ラッパーAPIの作成に必要なすべてのOracle Cloud Infrastructure (OCI)リソースをプロビジョニングするTerraformスクリプトが含まれています。APIごとに、追加のTerraformサポート・ファイルおよびOracle Functionsフォルダがあります。ラッパーAPIパッケージは、次のOCIリソースを作成します。
- Virtual Cloud Network (VCN): 通信用のネットワーク・インフラストラクチャを確立します。
- アプリケーション(Oracle Functions): APIロジックを処理するサーバーレス・ファンクションをデプロイします。
- APIゲートウェイ: APIリクエストを管理およびルーティングするゲートウェイを作成します。
- APIデプロイメント: APIゲートウェイでAPIを構成およびデプロイします。
- APIデプロイメント・ポリシー: セキュアなアクセスを有効にするために必要なIAMポリシーを設定します。
- OCIレジストリ: Dockerイメージを管理するためのコンテナ・レジストリを提供します。
ラッパーAPIを生成した後、構成変数を変更する場合は、Visual Studio Codeで更新するか、ラッパーAPIパッケージを抽出して、更新されたエンドポイントおよびリソース名で
terraform.tfvars
ファイルを更新できます。function_paths
変数にterraform.tfvars
ファイルを編集して、エンドポイントを更新します。function_paths
変数は、キーがAPI名で、値が次の2つのキーを持つ別のJSONオブジェクトであるJSONオブジェクトです。
path
: APIのエンドポイントを定義しますtype
: リクエストのタイプ(POSTまたはGET)を指定します。
function_paths
変数の例を示しています。function_paths="{\"activateAccount\":{\"path\":\"/activateAccount\",\"type\":[\"POST\"]}}"
Postmanコレクション
Postmanコレクションには、すべてのAPIの更新されたエンドポイントおよびペイロードが含まれます。次のコードは、ペイロードの例を示しています。
{
"orgId": "{{bc-org-id}}",
"userId": "user1",
"tokenType": "fungible",
"applicationGroups": "[\"application_groups value\"]",
"dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
"endorsers": {{endorsers}}
}
次の表に、Postmanコレクション変数を示します。
可変 | 説明 | デフォルト値 |
---|---|---|
bc-admin-user |
すべてのPOSTリクエストにアクセスできる管理者ロールを持つ管理者ユーザー。デフォルトでは、このユーザーはチェーンコード内のすべてのPOSTリクエストのコール元です。 | bc-admin-user値 |
bc-admin-user-password |
管理ユーザー・パスワード | bc-admin-user-passwordの値 |
bc-org-id |
すべてのPOSTリクエストのデフォルト組織ID。orgId はパラメータ名です。
|
bc-org-id値 |
bc-user-id |
userId がパラメータ名であるすべてのPOSTリクエストのデフォルト・ユーザーID
|
bc-user-idの値 |
bc-token-id |
すべてのPOSTリクエストのデフォルト・トークンID。tokenId はパラメータ名です。
|
bc-token-idの値 |
endorsers |
endorsers配列には、このトランザクションを承認するための特定のピア(peer1、peer2など)がリストされます。 | ["org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009"] |
api-gateway-endpoint |
各リクエストのエンドポイント。ラッパーAPIエンドポイントのベース・パスとして機能します。
APIが50未満の場合は、単一のエンドポイントが使用されます。50を超えるAPIがある場合、APIの数に基づいて、エンドポイントはapi-gateway-endpoint1、api-gateway-endpoint2などとして動的に生成されます。 |
https://xyz.apigateway.region.oci.customer-oci.com/CBDC |
peer |
この変数は、すべてのsetter APIのピア・ヘッダーを必要とする機密チェーンコード・ラッパーAPI Postmanコレクションにのみ存在します。 | 組織-xyz-abc.blockchain.ocp.oraclecloud.com:20009年 |
ラッパーAPIパッケージをデプロイすると、スタック・リソース・デプロイメントからの出力は、ゲートウェイ・エンドポイント値を含むJSONオブジェクトになります。50を超えるAPIを生成すると、50 APIごとに1つずつ、複数のゲートウェイ・エンドポイントが生成されます。これらのエンドポイントに関連するPostmanコレクション変数を更新する必要があります。Postmanコレクションのエンドポイント関連の変数は、スタック・リソース・マネージャでのラッパーAPIパッケージ・デプロイメントの出力からの適切な値で更新する必要があります。
ラッパーAPI Postmanコレクションのすべてのsetter APIには、リクエスト・ペイロードの
endorsers
またはsameOrgEndorser
パラメータが含まれます。sameOrgEndorser
パラメータを必要とするAPIを指定する情報は、チェーンコードの.ochain.json
ファイルのsameOrgEndorserOptionInWrapperAPI
パラメータで定義されます。このパラメータにリストされているAPIのペイロードでは、sameOrgEndorser
がtrueに設定されます。その他のすべてのsetter APIには、かわりにendorsers
パラメータが含まれます。次の例は、卸売CBDCチェーンコードのパラメータを示しています。"sameOrgEndorserOptionInWrapperAPI": ["addConversionRate","addTokenAdmin","addTokenAuditor","approveBurn","approveMint","burnTokens","createExchangePoolAccounts","deleteHistoricalTransactions","initializeCBDCToken","initializeExchangePoolUser","mintWithFundingExchangePool","rejectBurn","rejectMint","removeTokenAdmin","removeTokenAuditor","requestBurn","requestMint","updateCBDCToken","updateConversionRate"]
必要に応じて、.ochain.json
ファイルのsameOrgEndorserOptionInWrapperAPI
パラメータをカスタマイズできます。ラッパーAPIを生成すると、指定されたAPIは、ペイロードにsameOrgEndorser
パラメータをtrue
として含めます。
Postmanコレクションの使用の詳細については、次のトピックを参照してください。