上傳合約資訊清單至登錄
您可以使用 Blockchain App Builder,驗證選取的 Hardhat 專案的部署描述資料,並將其發布至合約登錄服務。
上傳合約資訊清單工具會執行專案擁有的 hardhat-upload-contract-artefacts 外掛程式,並將登錄端點當作執行時期值傳遞;它不會修改專案的 Hardhat 變數。
清單上傳僅適用於已儲存的 Oracle Blockchain Platform Besu 環境。
先決條件
- 選取已順利部署的匯入或撰寫的 Hardhat 專案。
- 確認專案在
package.json檔案中包含hardhat-upload-contract-artefacts套裝程式、將 Plug-in 匯入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 登錄端點 |
對於 Blockchain App Builder 產生的預先封裝匯入專案或數位資產合約,一般 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 或 URL:
- ERC-7201 資訊清單上傳登錄端點,適用於可升級的記錄
- 不可變記錄的 SOLC 資訊清單上傳登錄端點
- 確認 OpenZeppelin 與已部署的合約檔案路徑。選擇性設定逾時和詳細輸出。
- 選取驗證。外掛程式會執行,且不會發佈登錄資料。
- 驗證成功時,請清除驗證,然後選取上傳。
疑難排解
| 條件 | 解決方式 |
|---|---|
| 沒有可用的環境 | 建立儲存的 Oracle Blockchain Platform Besu 環境。EVM 和 Hardhat 本機節點不是上傳清單的有效環境。 |
| 登錄端點無效 | 為所選模式所需的每個端點輸入完整的 HTTP 或 HTTPS 登錄 URL。 |
| 找不到必要檔案 | 編譯並部署相關合約,或更正已部署合約的專案相關資訊清單與檔案路徑。 |
| 遺漏 Plug-in 或組態 | 安裝或匯入 hardhat-upload-contract-artefacts,然後新增工具的飛行前導引中顯示的 uploadContractManifest 組態。
|
| 模擬執行成功後上傳失敗 | 複查登錄服務認證、可用性、端點原則,以及完整的 Plug-in 輸出。模擬測試會驗證本機輸入,但不保證登錄接受。 |