A full-fledged sdk for the Covalent Unified API for querying on-chain data across mutliple chains.
Check out Covalent API for more info.
If using npm:
npm i web3-covalent-sdk
or with Yarn:
yarn add web3-covalent-sdk
A unified JavaScript SDK written in TypeScript that can be used in any Reactjs web application (in the Model Layer, taking into account that React applications follow the MVVM pattern) to access the Covalent Unified API as all-in-one library for Frontend projects.
Create a config object:
const sdKConfig: SDKConfig = {
// obtain key from: https://www.covalenthq.com/platform/#/
apiKey: process.env.COVALENT_API_KEY as string,
apiV1Url: 'https://api.covalenthq.com/v1/',
};
Create an instance of the Web3CovalentSDK class:
import { Web3CovalentSDK } from 'web3-covalent-sdk';
const web3CovalentSDK = new Web3CovalentSDK(sdKConfig)
To query NFT TokenIds:
const contractAddress = '0xBd3531dA5CF5857e7CfAA92426877b022e612cf';
const ethereumChainId = 1;
const nftData = await web3CovalentSDK.nfts.getNFTTokenIDsForContract(
ethereumChainId,
tokenId,
contractAddress
);
console.info(nftData.items);
To fetch a transaction based on the Transaction Hash:
const ethereumChainId = 1;
const txhash =
'0x9508e372d64c9dd36befe55ba58d66bbbc67f07ceff05c55b2ad2795bbf13a7a';
const transaction = await web3CovalentSDK.transactions.getTransaction(
ethereumChainId,
txhash
);
console.info(transaction);
To fetch a block at a certain height:
const chainId = 1;
const blockHeight = 15410959;
const result = await web3CovalentSDK.base.getBlock(chainId, blockHeight);
const block = result.items[0];
console.info(block);
To query xy=k data:
const ethereumChainId = 1;
const dexname = 'uniswap_v2';
const xyPools = await web3CovalentSDK.dexes.getXYPools(
ethereumChainId,
dexname
);
console.info(xypools.items);
To query balance balance of and address:
const ethereumChainId = 1;
const address = '0xDaF81c3603C83f952376F5829a360A5822f5B5Da';
const tokenBalances = await web3CovalentSDK.balances.getTokenBalancesForAddress(
ethereumChainId,
TEST_ADDRESS
);
console.info(tokenBalances.items);
Read more in the docs
view api changelogs
Generated using TypeDoc