This is DareNFT 2.0 Protocol's officially supported node.js client library.
Install by yarn
yarn add @darenft/nft2-client
or using npm
npm add @darenft/nft2-client
Note: node version should be greater than 16.14
const apiKey = 'xxx'; // must get from NT2 console
const apiEndpoint = 'https://protocol-api.nft2scan.com'; // API endpoint, optional
const nft2Client = new NFT2Client(apiKey, apiEndpoint);
await nft2Client.initialize().then(() => {
console.log('Client init success: ', nft2Client);
});
The SDK will automatic load configuration from API server (GET: /configs/internal-config
). However, you can set your alternative configuration as you want:
const configs: ChainConfig[] = [{
chainId: 1,
providerUrl: "https://eth-mainnet.nodereal.io/v1/xxx",
factoryAddress: "0xabcd",
subQueryEndpoint: "https://api.subquery.network/sq/xxx"
}]
nft2Client.updateConfig(configs)
Example get list NFTs of a wallet on Ether:
const chainId = 1; // chain Ether
const nft2Contract = nft2Client.getNFT2Contract(chainId);
const nfts = await nft2Contract.getNFTsByOwner(ownerAddress, {limit: 20, offset: 0});
console.log('nft: ', nfts);
Example get NFT data saved on Data Registry:
const chainId = 1; // chain Ether
const dataRegistry = nft2Client.getNFT2DataRegistry(chainId);
const datas = await dataRegistry.getNFTMetaData(
'0xabcd', // NFT address
'0' // token ID
);
console.log('datas: ', datas);
Install libs
yarn install
Edit .env
file in /samples
folder
cp .env.example .env
Run 1 sample
yarn ts-node samples/[file_name].ts
yarn test -g protocolclient
Run with debug logging
yarn test-debug -g protocolclient
Testing a single file
yarn test-single test/xxx.ts
yarn test-debug test/