gpt4 book ai didi

javascript - 如何使用 --constructor-args 参数运行 Hardhat?

转载 作者:行者123 更新时间:2023-12-05 00:35:19 26 4
gpt4 key购买 nike

我正在尝试使用 Hardhat 运行脚本来部署具有构造函数参数的合约。当我运行 npx hardhat run scripts\deploy.js --network rinkeby我得到错误:Error: missing argument: in Contract constructor (count=0, expectedCount=7, code=MISSING_ARGUMENT, version=contracts/5.5.0)我尝试使用 --constructor-args 参数,但又遇到了另一个错误:Error HH305: Unrecognized param --constructor-args我发现的对 constructor-args 的所有引用都表明它只能作为安全帽验证的一部分使用,而不是安全帽运行,但如果是这种情况,我如何在部署时传递参数?
更新为包含部署脚本

// deploy.js

async function main() {
const [deployer] = await ethers.getSigners();

console.log('%c \n Deploying contracts with the account:', 'color:', deployer.address );

console.log('%c \n Account balance:', 'color:', (await deployer.getBalance()).toString() );

const Token = await ethers.getContractFactory("Test01");
const token = await Token.deploy();

console.log('%c \n Token address:', 'color:', token.address );


}

main()
.then( () => process.exit(0) )
.catch( (error) => {
console.error(error);
process.exit(1);
});
```

最佳答案

const Token = await ethers.getContractFactory("Test01");
const token = await Token.deploy();
Token (大写 T)是 ContractFactory 的一个实例.根据 docs ,您可以将构造函数参数传递给 deploy()方法。
例如,如果您的 Solidity 构造函数采用 boolstring
constructor(bool _foo, string memory _hello) {
}
这将是 JS 片段:
const token = await Token.deploy(true, "hello");

关于javascript - 如何使用 --constructor-args 参数运行 Hardhat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69750579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com