使用專用網絡部署智能合約
導言
在本指南中,我們將引導您逐步了解如何使用 Kaia Hardhat Utils,在私有 Kaia 網路中部署 Greeter 合約。通過本指南,您將學會如何
- 設立 "硬頭巾 "項目。
- 啟動一個模擬啟明星測試網的專用網絡。
- 利用 Hardhat 工具在該私有網絡上部署智能合約。
先決條件
學習本教程的前提條件如下:
- 代碼編輯器:源代碼編輯器,如 VS Code。
- Docker:如果您沒有安裝 docker,請使用此 鏈接 進行安裝。
- Node.js 和 npm:Node 18 及以上版本。
設置開發環境
在本節中,我們將安裝 hardhat、Kaia hardhat utils 和引導項目所需的其他必要依賴項。
第 1 步:創建項目目錄
mkdir $HOME/kaia-greetercd kaia-greeter
第 2 步:初始化 npm 項目
npm init -y
第 3 步:安裝 hardhat、hardhat-utils 和其他依賴項
- 在終端中複製並粘貼以下代碼,安裝 hardhat 和 hardhat-utils
npm i hardhat @klaytn/hardhat-utils
- 複製並粘貼以下代碼以安裝其他依賴項
npm install @nomiclabs/hardhat-ethers hardhat-deploy dotenv
hardhat-utils 插件依賴於 hardhat-ethers 和 hardhat-deploy 插件。確保在hardhat.config.js或hardhat.config.ts中要求或導入它們。
(建議)安裝硬帽速記裝置。但您仍然可以使用 npx 硬頭盔執行任務。
npm install hardhat-shorthand --save
第 4 步:初始化硬頭盔項目
運行以下命令啟動硬頭盔項目:
npx 硬頭盔啟動
在本指南中,你將選擇 "創建一個空的 hardhat.config.js "項目,如下圖所示:
888 888 888 888888 888 888 888888 888 888 888 888b. 888d888 .d88888 88888b. 8888b. 888888888888 "88b 888P" d88" 888888 "88b "88b 888888888 .d88888 888888 .d88888 888888888888 888888 Y88b.888 888 "Y888888 888 "Y88888 888 "Y888888 "Y888👷 歡迎訪問 Hardhat v2.22.9 👷?您要做什麼? … 創建一個 JavaScript 項目 創建一個 TypeScript 項目 創建一個 TypeScript 項目(使用 Viem)👷 創建一個空的 hardhat.config.js 退出
第 5 步:創建 .env 文件
現在在項目文件夾中創建 .env 文件。該文件 可幫助我們將環境變量從 .env 文件加載到 process.env 文件中。
在終端中複製並粘貼此命令,創建一個 .env 文件
touch .env
配置您的 .env 文件如下:
private_key="複製並粘貼本地專用網絡提供的任意私人密鑰"
在下一節啟動專用網絡時,就可以訪問本地網絡提供的私鑰。
第 6 步:設置硬頭盔配置
用以下配置修改 hardhat.config.js:
require("@nomiclabs/hardhat-ethers");require("hardhat-deploy");require("@klaytn/hardhat-utils");require('dotenv').config()const accounts = [ process.env.PRIVATE_KEY];/** @type import('hardhat/config').HardhatUserConfig */module.exports = { solidity: "0.8.24", networks: { localhost: { url: process.env.RPC_URL || "http://localhost:8545", accounts: accounts, }, kairos: { url: process.env.RPC_URL || "https://public-en-kairos.node.kaia.io", accounts: accounts, }, kaia: { url: process.env.RPC_URL || "https://public-en.node.kaia.io", accounts: accounts, } }, namedAccounts: { deployer: { default: 0, // here this will by default take the first account as deployer }, },};
啟動專用網絡
為了啟動專用網絡,hardhat utils 插件為我們提供了一項任務,即輕鬆啟動專用網絡:
hh klaytn-node

連接控制檯
專用網絡自帶 JavaScript 控制檯。通過控制檯命令行,您可以向網絡發起部分 Kaia API 調用。要附加到 JavaScript 控制檯,請執行以下命令:
hh klaytn-node --attach
輸入 kaia 或 personal 可獲得可用功能列表。
查看賬戶餘額
當我們啟動私人網絡時,它為我們提供了賬戶列表、私人密鑰和每個賬戶的預資助值。
要查看賬戶餘額,請執行以下命令。
kaia.getBalance("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266")

配置硬帽網絡環境
現在我們正在運行一個獨立的本地網絡,外部客戶端(錢包、dApp)可以連接到該網絡,我們需要通過運行此命令配置 hardhat 以使用該網絡:
export HARDHAT_NETWORK=localhosthh accounts
hh --network localhost 賬戶
