登録への契約マニフェストのアップロード
ブロックチェーン・アプリケーション・ビルダーを使用して、選択したHardhatプロジェクトから契約レジストリ・サービスへのデプロイメント・メタデータを検証および公開できます。
Upload Contract Manifestツールは、プロジェクト所有のhardhat-upload-contract-artefactsプラグインを実行し、レジストリ・エンドポイントを実行時の値として渡します。プロジェクトのHardhat変数は変更しません。
マニフェストのアップロードは、保存されたOracle Blockchain Platform Besu環境でのみ使用できます。
前提条件
- 正常にデプロイされた、インポートまたは構成されたHardhatプロジェクトを選択します。
- プロジェクトが
hardhat-upload-contract-artefactsパッケージをpackage.jsonファイルに含め、プラグインをhardhat.config.tsまたはhardhat.config.jsにインポートし、uploadContractManifest構成を定義していることを確認します。 - 正しいチェーンIDおよびRPCプロキシ認証を使用して、Oracle Blockchain Platform Besu環境を作成または選択します。
- 選択したアップロード・モードに必要なローカル・デプロイメント・レコードが存在することを確認してください。
次のアップロード・モードがサポートされています。
| アップロード・モード | 必要なローカル・レコード | レジストリ宛先 |
|---|---|---|
| 両方 | OpenZeppelinマニフェスト、ERC-7201デプロイ契約JSON、SOLCデプロイ契約JSON | 両方のレジストリ・エンドポイント |
| ERC-7201/アップグレード可能 | OpenZeppelinマニフェストおよびERC-7201デプロイ済契約JSON | ERC-7201レジストリ・エンドポイント |
| 不変/ SOLC | SOLCデプロイ済契約JSON | SOLCレジストリ・エンドポイント |
ブロックチェーン・アプリケーション・ビルダーによって生成された事前パッケージ済インポート済プロジェクトまたはデジタル資産契約の場合、通常はERC-7201モードで十分です。
チェーンID 1500の場合、デフォルト・パスは次のとおりです。
./.openzeppelin/unknown-1500.json
./.obp-da/.erc7201/deployedContracts-1500.json
./.obp-da/.solc/deployedContracts-1500.jsonプロジェクトが配置レコードを別の場所に格納する場合は、パスを調整します。- 「開発者ツール」を開き、「契約積荷目録のアップロード」を選択します。
- HardhatプロジェクトおよびOracle Blockchain Platform Besu環境を選択します。
- アップロード・モードを選択します。
- 必要なレジストリ・エンドポイントURLを入力します:
- アップグレード可能なレコードについては、ERC-7201マニフェスト・アップロード・レジストリ・エンドポイントを参照してください
- 不変レコードのSOLCマニフェスト・アップロード・レジストリ・エンドポイント
- OpenZeppelinおよびデプロイ済契約のファイル・パスを確認します。オプションで、タイムアウトおよび冗長出力を設定します。
- 「検証」を選択します。プラグインが実行され、レジストリ・データは公開されません。
- 検証が成功したら、「検証」をクリアして「アップロード」を選択します。
トラブルシューティング
| 条件 | 解決策 |
|---|---|
| 使用可能な環境がありません | 保存されたOracle Blockchain Platform Besu環境を作成します。EVMおよびHardhatローカルノードは、マニフェストをアップロードするための有効な環境ではありません。 |
| レジストリ・エンドポイントが無効です | 選択したモードで必要なすべてのエンドポイントの完全なHTTPまたはHTTPSレジストリURLを入力します。 |
| 必要なファイルが見つかりません | 関連する契約をコンパイルおよびデプロイするか、デプロイされた契約のプロジェクト関連マニフェストおよびファイル・パスを修正します。 |
| Plug-inまたは構成がありません | hardhat-upload-contract-artefactsをインストールまたはインポートし、ツールのプリフライト・ガイダンスに示されているuploadContractManifest構成を追加します。
|
| ドライ・ランが成功した後、アップロードに失敗する | レジストリ・サービス認証、可用性、エンドポイント・ポリシーおよび完全なプラグイン出力を確認します。予行演習ではローカル入力が検証されますが、レジストリの受入れは保証されません。 |