跳至主要內容
本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)

使用 Scaffold-ETH 2 構建 dApp

導言

Scaffold-ETH 2 是一個開源工具包,用於在以太坊和其他與 EVM 兼容的區塊鏈(如 Kaia)上構建去中心化應用程序(dApps)。 藉助 Scaffold-ETH 2,開發人員可以輕鬆部署 Solidity 智能合約,並使用 React 前端啟動 dApp。

Scaffold-ETH 2 工具包使用 Next.js、RainbowKit、Hardhat、Foundry、Wagmi 和 TypeScript 構建。 開發人員可以使用 Hardhat 或 Foundry 輕鬆創建、測試和部署智能合約,還可以使用 Next.js 構建 React 前端。

在本教程中,您將學習如何使用 Scaffold-ETH 2 在 Kaia 上部署、運行合約和構建 dApp。

先決條件

要開始學習本指南,您需要

設置開發環境

要安裝 Scaffold-ETH 2,您有兩個選擇,要麼克隆 Scaffold-ETH 2 資源庫,要麼使用 npx create-eth@latest 安裝。

在本指南中,我們將使用 npx 方法來引導 Scaffold-ETH 2 項目。

運行以下命令引導 Scaffold-ETH 2 項目:


npx create-eth@latest

您將看到一系列提示:

項目名稱:輸入項目名稱: 輸入項目名稱,如 kaia-scaffold-example。

** 實體框架**;您想使用哪種實體框架?選擇您喜歡的實體框架(Hardhat、Foundry)。 在本指南中,我們將使用 Hardhat 框架。

Install packages?:按回車鍵表示是(默認選項)或輸入 n 並按回車鍵表示否 設置完成後,導航至項目目錄。


cd project-name
// e.g cd kaia_scaffold

Scaffold-ETH setup

Scaffold-ETH 2 開發過程的亮點

使用 Scaffold-ETH 2 開發項目的流程可概述如下:

  1. 為 Kaia 更新 Hardhat 中的網絡配置
  2. 將智能合約添加到 packages/hardhat/contracts
  3. 編輯 packages/hardhat/deploy 中的部署腳本
  4. 將智能合約部署到 Kaia
  5. 使用硬帽驗證插件驗證智能合約
  6. packages/nextjs/scaffold.config.ts 文件中配置前端以 Kaia 為目標
  7. packages/nextjs/pages目錄下根據需要編輯你的前臺

在本指南中,我們將使用 Scaffold-ETH 2 安裝後可用的默認示例合同和前端。 只需為 Kaia 修改這些組件即可。 在這種情況下,我們將把配置分為 HardhatNext.js 配置。

硬頭盔配置

在本節中,你將修改 Hardhat 配置文件中的網絡配置,以packages/hardhat文件夾下的 Kaia 為目標。

為 Kaia 配置 Hardhat

要為 Kaia 配置 hardhat,需要創建 .env 文件並修改 hardhat.config.ts 以支持 Kaia。

第 1 步:創建 .env

要創建 .env 文件,請在終端中複製並粘貼以下代碼


touch packages/hardhat/.env

關於 hardhat.config.js 文件中已使用的變量,可參考 .env.example 文件。 對於 Kaia,您只需創建一個變量:deployed_private_key.

第 2 步:編輯 .env 文件以包含此變量:


deployer_private_key=insert_private_key

在**.env**文件中說明的私鑰與將在 Hardhat 項目中部署智能合約並與之交互的賬戶相對應。

第 3 步:修改 hardhat.config.ts

接下來我們要做的是配置 hardhat.config.ts 以支持 Kaia。

將常量defaultNetwork設置為部署智能合約的網絡。


kairos: {
chainId: 1001,
url: "https://responsive-green-emerald.kaia-kairos.quiknode.pro/",
accounts: [deployerPrivateKey],
},

在網絡配置對象下為 Kaia 添加網絡配置


network: "kairos",

有關在 Kaia 中使用 Hardhat 的更多信息,請查看 Hardhat 指南 瞭解更多詳情。

向 Kaia 部署合同

配置 Hardhat 以支持 Kaia 網絡後,下一步就是編譯和部署合同樣本。

首先,您可以通過運行


紗線編譯

Compile

然後,可以在項目根目錄下運行以下命令:


yarn deploy

Deploy

請注意:

如果沒有在 hardhat.config.ts 文件中設置默認網絡配置,可以在命令中添加 --network INSERT_NETWORK。 例如,以下命令將向 Kaia 部署一份合同。

yarn deploy --network kaia

驗證您已部署的合同

要驗證已部署的合同,我們將使用硬帽驗證插件。 只需在 Kairos Testnet 的 etherscan 配置對象下的 hardhat.config.ts 中添加以下配置即可。


etherscan: {
apiKey: {
kairos: "unnecessary",
},
customChains: [
{
network: "kairos",
chainId: 1001,
urls: {
apiURL: "https://api-baobab.klaytnscope.com/api",
browserURL: "https://kairos.kaiascope.com",
},
},
],
},

接下來,在終端中複製並粘貼以下命令來驗證智能合約:

示例


yarn hardhat-verify --network network_name contract_address "構造函數參數 1"

實際


yarn hardhat-verify --network kairos 0x7fc9656fc8c8ab433867e58b7c6afc19ec4275da
"0x7fc9656fc8c8ab433867e58b7c6afc19ec4275da"

如上所示,要驗證合同,必須輸入網絡名稱、合同地址和構造函數參數(如有)。 稍等片刻,控制檯就會顯示驗證結果,如果驗證成功,還會提供指向 Kaiascope 上已驗證合同的 URL。

Verify

Verify on Kaiascope

有關使用 Hardhat Verify 插件在 Kaia 上驗證智能合約的更多信息,請參閱 Hardhat-Verify-Plugins guide

Next.js 配置

在本節中,你將修改 Next.js 配置,使其針對packages/nextjs文件夾下的 Kairos Testnet(智能合約部署到了這裡)。 在本文件夾中,我們打算修改 scaffold.config.ts 文件中 scaffoldConfig 對象的 targetNetwork 數組。

修改 targetNetwork 數組


targetNetworks: [chains.klaytnBaobab],

這就是配置 Next.js 的全部要求! 接下來,在本地主機上啟動 dApp。

在本地主機啟動應用程序

完成所有必要配置後,您就可以在本地主機上啟動示例應用程序了。

為此,請運行


起紗

Run dApp

現在,您應該可以在 http://localhost:3001/ 上訪問基於 React 的 dApp 前端。 您可以通過連接錢包或查看合約調試器頁面與 dApp 進行互動。

Scaffold dApp

結論

祝賀你 您已成功使用 Scaffold-ETH 2 在 Kaia 上部署了一個合約並運行了一個 dApp。 現在您已經瞭解 Scaffold-ETH 2 的工作原理,可以隨意創建和部署自己的智能合約,並修改前端以滿足您的 dApp 需求!

如需瞭解更多信息,請訪問 Scaffold-ETH 2 文檔 ;如有任何疑問,請訪問 Kaia 論壇

讓這個頁面變得更好