Hardhat plugin for importing deployed contract bytecode and metadata from etherscan.
npm install @compound-finance/hardhat-importHardhat plugin for importing contract bytecode and metadata from verified etherscan data.
Add to your project via npm. If using local source, first build the project using npm run build.
Add the following statement to your hardhat.config.js:
``js`
require("@compound-finance/hardhat-import");
Or, if you are using TypeScript, add this to your hardhat.config.ts:
`js`
import "@compound-finance/hardhat-import";
task, which allows you to import contracts from all Ethereum networks (test and mainnet) supported by Etherscan. The result contains the deployed bytecode and metadata.Usage
Add your Etherscan API key to config hardhat.config.js file:`js
module.exports = {
networks: {
mainnet: { ... }
},
etherscan: {
// Your API key for Etherscan
// Obtain one at https://etherscan.io/
apiKey: "YOUR_ETHERSCAN_API_KEY"
}
};
`Lastly, run the
import task, passing the address of the contract and the network where it's deployed, and an output directory.`bash
npx hardhat import --address --outdir --network mainnet
`$3
To call the import task from within a Hardhat task or script, use the
"import" task. You can run the subtask like this:`js
const importRes = await hre.run("import", {
address: contractAddress,
});
``