Wrapper API仕様とPostmanコレクションの生成
ブロックチェーン・アプリケーション・ビルダーを使用して、フィルタされたトークン、アカウント/アイデンティティ・エンドポイント仕様ファイルおよび一致するPostmanコレクションを作成できます。
package.jsonファイルにhardhat-plugin-obp-besu-wrapper-apiが含まれ、Hardhat構成によってインポートされることを確認します。マニフェストおよびコンパイル済のトークン/アカウント・アーティファクトを含む、生成されたトークン・パッケージを選択します。このツールは、生成されたマニフェストから合成パッケージを検出し、互換性のあるインポートされたリファレンスプロジェクトマニフェストもサポートします。ラッパーAPIサービスをデプロイまたは起動しません。ラッパーAPIサービスは、インスタンス設定の一部としてすでに実行されています。
- トークンとアカウントの仕様を生成します。
- 「Developer Tools」を開き、「Generate Wrapper API Specification and Postman Collection」を選択します。
- 「構成」で、プロジェクト内のHardhatプロジェクト、トークン・パッケージおよび出力フォルダを選択します。
- 「マッピング」で、トークンAPIおよびアカウント/アイデンティティAPIを確認します。エンドポイント指定に残る各メソッドに対して「ラッパーAPIの生成」を選択したままにします。必要に応じてエンドポイント・パスを編集します。
- フィルタ処理されたトークンおよびアカウント仕様のJSONファイルおよびPostmanコレクションを書き込むには、「生成」を選択します。
- ORDS Swagger/OpenAPIエンドポイントを追加します。
- 「マッピング」ビューで、ORDS APIを選択しました。このツールはORDS API入力のみをサポートします。
- ORDS Swagger/OpenAPI JSONファイルを選択します。
- ラッパー・アセットを再度生成します。
- 結合APIを作成します。このAPIは、選択したトークンまたはアカウント・メソッドを1つのラッパーAPIエンドポイントに結合する順次ワークフローを定義します。
- 「マッピング」で、適格なメソッドごとに「複合APIで使用」を選択します。
- 「複合APIの作成」を選択します。
- API名とエンドポイント・パスを組み合せて入力します。
- 選択したステップをレビューして並べ替えます。各ステップについて、リクエスト/ペイロードのソース・フィールドをマップします。
- 結合されたAPIドラフトを保存し、「生成」を選択します。
- ラッパーAPIサービスで仕様を登録します。
- ラッパーAPIサービスが実行されていることを確認し、「デプロイ」タブを選択します。
- 生成されたトークン仕様、アカウント仕様、両方の仕様を選択するか、カスタムJSON本文を指定します。
- ラッパーAPIホストURLを入力します。
- リクエストが認証およびTLS設定を再利用できるように、Oracle Blockchain Platform Besu環境を選択します。
- 登録プレビューを確認し、選択した仕様を登録します。
登録は、ラッパーAPIサービスの/registerエンドポイントにポストします。このツールは、選択したOracle Blockchain Platform環境のプライベートCAパス、または登録リクエストに対する明示的な自己署名設定を使用できます。サービス自体はデプロイされません。
トラブルシューティング
| 条件 | 解決策 |
|---|---|
| アーティファクトまたはマニフェストがありません | 選択したプロジェクトをコンパイルし、生成またはインポートされたパッケージ・ファイルが存在することを確認します。 |
| エンドポイントは生成されません | ラッパーAPI生成のメソッドを少なくとも1つ選択するか、有効な組合せAPIを少なくとも1つ保存してください。 |
| ORDSの生成に失敗しました | ORDS Swagger/OpenAPI JSONファイルを指定し、プロジェクト・プラグインが--ords-swaggerオプションをサポートしていることを確認します。完全なプラグイン・ログでスキーマ・エラーまたは操作エラーを調べます。
|
| 結合APIが拒否されました | API名/パス、順序付きステップおよびリクエスト・フィールド・マッピングを確認し、ドラフトを再度保存します。 |
| 登録不可 | 最初にエンドポイント仕様ファイルを生成してから、Oracle Blockchain Platform Besu環境を選択し、到達可能なラッパーAPIホストURLを指定します。 |