我正在尝试在 goerli 网络上部署我的合约。下面是我的deployProxy.js
const { ethers, upgrades } = require("hardhat");
async function main() {
const VendingMachineV1 = await ethers.getContractFactory("VendingMachineV1");
const proxy = await upgrades.deployProxy(VendingMachineV1, [100]);
await proxy.waitForDeployment();
const implementationAddress = await upgrades.erc1967.getImplementationAddress(
proxy.getAddress()
);
console.log("Proxy contract address: " + proxy.getAddress());
console.log("Implementation contract address: " + implementationAddress);
}
main();
但是,部署合约后出现错误
const error = new ProviderError( ProviderError: invalid 1st argument: address address was not string
你应该添加“await”,因为它返回一个承诺。
这样:
const implementationAddress = await upgrades.erc1967.getImplementationAddress(
await proxy.getAddress()
);
console.log("Proxy contract address: " + await proxy.getAddress());