尝试使用在Rinkeby测试网络上启动DAppnpx hardhat run scripts/deploy.js --network rinkeby
但是每当我尝试启动合约时,它都会返回一个错误,当我将私钥复制到环境变量中时,它会说私钥大小太短。
当我将私钥直接传递到我的module.exports上的帐户时,它会抛出一个错误,说我的私钥太长了!无论我是否在${}之前附加了0x前缀。
hardhat.config.js
require("@nomicfoundation/hardhat-toolbox");
const PRIVATE_KEY = "privateKeyjdhsbcidsjhnc"
/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
solidity: "0.8.4",
paths: {
artifacts: './src/artifacts',
},
networks: {
hardhat: {
chainId: 1337
},
rinkeby: {
url: "https://eth-rinkeby.alchemyapi.io/v2/_YGPVs4UBSWtFxp-fpynFRcF34oU7WUI",
accounts: ['0x${process.env.PRIVATE_KEY}']
}
},
solidity: "0.8.4",
};`
deploy.js
const hre = require("hardhat");
async function main() {
const Greeter = await hre.ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello,Hardhat!");
await greeter.deployed();
console.log("Greeter deployed to:", greeter.address)
}
main()
.then(() => process.exit(0))
.catch(error => {
console.error(error);
process.exit(1);
});
5条答案
按热度按时间tf7tbtn21#
必须安装dotenv文件:
npm i dotenv
1.检查你的.env文件
GOERLI_URL_API= d6164sbshdfkjsnkfj6515 WALLET_PRIVATE_KEY =“hb5154sdhbasd5651sdfsdbf54sf54ss5465F”
1.检查hardhat/config.js
然后需要DOTENV文件
//添加网络连接
4.然后Deploy运行和构建
3bygqnnd2#
大多数情况下,配置文件不会重新配置您的私钥。如果你已经把它放到你的.env文件中,你应该检查你是否已经安装了dotenv,并把它导入到你的hardhat.config.ts中,如下所示:
1-安装
dotenv
依赖项2- import:require('dotenv').config()到您的hardhat.config.ts
b5buobof3#
更改此内容
致
s71maibg4#
将网络配置部分中的
accounts:
更改为account:
,结果应该是:gjmwrych5#
此问题可能与您在.env文件中的私钥字符串前面加上逗号有关。
而不是:
执行: