| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Fetch smart contract ABI JSON to use with wagmi and ethers.js in your app. Records are cached for 365 days, so after the initial request for a contract, the API will respond very quickly from the CDN. This is just a simple wrapper around various *scan APIs.
Supported networks:
| Network name | Network ID |
|---|---|
| Ethereum Mainnet | none (default) |
| Ethereum Goerli Testnet | goerli |
| Ethereum Sepolia Testnet | sepolia |
| Avalanche Mainnet | avalanche |
| Avalanche Fuji Testnet | avalancheFuji |
| Arbitrum Mainnet | arbitrum |
| Arbitrum Goerli Testnet | arbitrumGoerli |
| Arbitrum Nova | arbitrumNova |
| Base Mainnet | base |
| Base Goerli Testnet | baseGoerli |
| BSC Mainnet | bsc |
| BSC Testnet | bscTestnet |
| Fantom Mainnet | fantom |
| Fantom Testnet | fantomTestnet |
| Polygon Mainnet | polygon |
| Polygon Mumbai Testnet | polygonMumbai |
| Polygon zkEVM | polygonZkEvm |
| Polygon zkEVM Testnet | polygonZkEvmTestnet |
| Optimism Mainnet | optimism |
| Optimism Goerli Testnet | optimismGoerli |
| Gnosis Mainnet | gnosis |
https://abidata.net/<contract_address>?network=<network_id>
Examples:
import { useState, useEffect } from "react";
import { useContractWrite, usePrepareContractWrite } from "wagmi";
const contractAddress = "0xecb504d39723b0be0e3a9aa33d646642d1051ee1";
const useContractABI = (contractAddress) => {
const [contractABI, setContractABI] = useState(null);
useEffect(() => {
const fetchContractABI = async () => {
const response = await fetch(`https://abidata.net/${contractAddress}`);
const json = await response.json();
setContractABI(json.abi);
};
fetchContractABI();
}, [contractAddress]);
return contractABI;
};
function App() {
const contractABI = useContractABI(contractAddress);
const { config } = usePrepareContractWrite({
address: contractAddress,
abi: contractABI,
functionName: "feed",
});
const { data, isLoading, isSuccess, write } = useContractWrite(config);
return (
<div>
<button disabled={!write} onClick={() => write?.()}>
Feed
</button>
{isLoading && <div>Check Wallet</div>}
{isSuccess && <div>Transaction: {JSON.stringify(data)}</div>}
</div>
);
}This is a Next.js app. First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 with your browser to see the result.
| Back | FazBrowse Home | New Git URL |