2.0.4 • Published 2 months ago

@darenft/nft2-client v2.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

nft2-sdk

This is DareNFT 2.0 Protocol's officially supported node.js client library.

License

Installing

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

Quick start

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);

Architecture

Class Diagram

Run sample

Install libs

yarn install

Edit .env file in /samples folder

cp .env.example .env

Run 1 sample

yarn ts-node samples/[file_name].ts

Run tests

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/
2.0.4

2 months ago

2.0.3

2 months ago

2.0.2

2 months ago

2.0.1

2 months ago

1.2.18

10 months ago

1.2.19

7 months ago

1.2.17

10 months ago

1.2.16

10 months ago

1.2.0

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.2.8

12 months ago

1.1.9

1 year ago

1.2.7

12 months ago

1.0.9

1 year ago

1.2.6

12 months ago

1.1.7

1 year ago

1.0.8

1 year ago

1.2.5

1 year ago

1.1.6

1 year ago

1.0.7

1 year ago

1.2.4

1 year ago

1.1.5

1 year ago

1.0.6

1 year ago

1.2.3

1 year ago

1.1.4

1 year ago

1.2.2

1 year ago

1.1.3

1 year ago

1.2.1

1 year ago

1.1.2

1 year ago

1.2.9

12 months ago

1.2.12

12 months ago

1.2.13

12 months ago

1.2.10

12 months ago

1.2.11

12 months ago

1.2.14

11 months ago

1.2.15

11 months ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago