etherscan-abi

⏬🚀 Fetch the most up-to-date ABI of a verified Smart Contract from Etherscan in seconds!

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
etherscan-abi
1202.3.710 months ago2 years agoMinified + gzip package size for etherscan-abi in KB

Readme

etherscan-abi
!npm packagenpm-imgnpm-url !Build Statusbuild-imgbuild-url !Downloadsdownloads-imgdownloads-url !Issuesissues-imgissues-url !Commitizen Friendlycommitizen-imgcommitizen-url !Semantic Releasesemantic-release-imgsemantic-release-url
⏬🚀 Fetch the most up-to-date ABI of verified Smart Contracts (including proxy implementations) from Etherscan in seconds!

Usage

CLI

  • Fetch the ABI of a contract from an address and save it to abis/ContractName.json:

npx etherscan-abi 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984

  • Note that if a standard proxy is detected, the proxy's implementation ABI will automatically be fetched:

npx etherscan-abi 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9

  • You can optionally provide a target directory path, an Etherscan apiKey (to bypass the default query rate limit), or specify a network on which to query the Smart Contract's source code (by name or chainId, decimal or hexadecimal):

npx etherscan-abi --target abis/uniswap/ \
    --apiKey ... \
    --network polygon \
    0xb33EaAd8d922B1083446DC23f610c2567fB5180f

Javascript

const { ethers } = require("ethers");
const { getContractAt } = require("etherscan-abi");

getContractAt(
  "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
  new ethers.providers.JsonRpcProvider("...")
)
  .then((uni) => uni.balanceOf("..."))
  .then(console.log);

Install

npm install etherscan-abi

yarn add etherscan-abi