Hardhat 2.9.9版本中npx hardhat accounts不可用,如何获取生成的钱包账户?
解决Hardhat最新版无法使用
accounts任务获取钱包账户的问题 方法1:通过Hardhat控制台获取
启动Hardhat控制台:
npx hardhat console
在控制台中执行以下代码,直接列出所有可用账户:
const signers = await ethers.getSigners(); signers.forEach((signer, i) => console.log(`账户${i+1}: ${signer.address}`));
方法2:添加自定义accounts任务
如果习惯原来的命令调用方式,可以在hardhat.config.js中添加自定义任务,恢复npx hardhat accounts的功能:
在配置文件中插入这段代码:
task("accounts", "输出钱包账户列表", async (_, hre) => { const accounts = await hre.ethers.getSigners(); accounts.forEach(account => console.log(account.address)); });
保存后,直接执行原命令即可:
npx hardhat accounts
方法3:手动从私钥生成账户地址
如果你的Hardhat配置中手动指定了私钥数组,可通过ethers.js直接生成对应地址:
创建一个get-accounts.js文件,写入:
const { ethers } = require("ethers"); // 替换为你配置中的私钥数组 const privateKeys = ["0x你的私钥1", "0x你的私钥2"]; privateKeys.forEach(key => { const wallet = new ethers.Wallet(key); console.log(wallet.address); });
执行该文件:
node get-accounts.js
内容的提问来源于stack exchange,提问作者Umair
相关产品推荐
相关产品推荐

