Hello,
I successfully deployed and verified a contract on Binance Smart Chain using openzeppelin + hardhat but for some reason the manifest json file for the deployments to either testnet or mainnet network was created as unknown-XX.json where XX is the chain id from the hardhat.config.js file (i.e. unknown-56.json).
I did try to redeploy on testnet and the unknown file was the one being updated.
Any idea what could cause that?
Code to reproduce
hardhat.config.js
networks: {
localhost: {
url: "http://127.0.0.1:8545"
},
hardhat: {
},
testnet: {
url: "https://data-seed-prebsc-1-s1.binance.org:8545",
chainId: 97,
gasPrice: 20000000000,
accounts: {mnemonic: mnemonic}
},
mainnet: {
url: "https://bsc-dataseed.binance.org/",
chainId: 56,
gasPrice: 20000000000,
accounts: {mnemonic: mnemonic}
}
},
package.json
"devDependencies": {
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-etherscan": "^2.1.7",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@openzeppelin/contracts-upgradeable": "^4.3.3",
"@openzeppelin/hardhat-upgrades": "^1.12.0",
"@openzeppelin/test-helpers": "^0.5.15",
"chai": "^4.3.4",
"chai-bn": "^0.3.0",
"ethereum-waffle": "^3.4.0",
"ethers": "^5.5.1",
"hardhat": "^2.6.8",
"hardhat-gas-reporter": "^1.0.4",
"mocha": "^9.1.3",
"web3": "^1.6.1"
},
deploy.js
async function main() {
const [deployer] = await ethers.getSigners();
console.log("Deploying contract using account:", deployer.address);
console.log("Account balance:", (await deployer.getBalance()).toString());
const Metaframe = await ethers.getContractFactory("Metaframe");
const metaframe = await upgrades.deployProxy(Metaframe, { initializer: 'initialize' });
console.log("Metaframe deployed to:", metaframe.address);
}
main()
.then(() => process.exit(0))
.catch(error => {
console.error(error);
process.exit(1);
});
Environment
hardhat version 2.6.8
solidity 0.8.2