Quickstart
TypeScript
JavaScript
mkdir new_project
cd new_project
npm install -D typescript ts-node
npx tsc --init
mkdir new_project
cd new_project
npm init -y
Install the Infura NFT API:
npm install -S @infura/sdk
Install the
dotenv
package to load environment variables from a .env
file to store configuration in the environment separate from the code.npm i dotenv
Create a
.env
file at the project root and add the following data:INFURA_API_KEY=<API-KEY>
INFURA_API_KEY_SECRET=<API-KEY-SECRET>
WALLET_PUBLIC_ADDRESS=<WALLET-PUBLIC-ADDRESS>
WALLET_PRIVATE_KEY=<WALLET-PRIVATE-KEY>
Replace the Infura project credential placeholders with your own.
Add a wallet address and its private key for testing on the supported network the application will run on.
Never disclose your private keys or secret recovery phrases. Do not commit the
.env
file to your repository if it contains sensitive data. You can create a .gitignore file to prevent accidentally committing the file. TypeScript
JavaScript
touch index.ts
touch index.js
Copy the following code into your script:
If using a network other than Ethereum Mainnet, then update the
chainId
value in the code to an alternate supported network.TypeScript
JavaScript
// Import the libraries and load the environment variables.
import { config as loadEnv } from 'dotenv';
import { SDK, Auth, TEMPLATES, Metadata } from '@infura/sdk';
loadEnv();
// Create Auth object
const auth = new Auth({
projectId: process.env.INFURA_API_KEY,
secretId: process.env.INFURA_API_KEY_SECRET,
privateKey: process.env.WALLET_PRIVATE_KEY,
chainId: 1,
});
// Instantiate SDK
const sdk = new SDK(auth);
const getCollectionsByWallet = async (walletAddress: string)=> {
const result = await sdk.api.getCollectionsByWallet({
walletAddress: walletAddress,
});
console.log('collections:', result);
}
(async() => {
try {
await getCollectionsByWallet('0xacdaEEb57ff6886fC8e203B9Dd4C2b241DF89b7a');
} catch (error) {
console.log(error);
}
})();
// Import the libraries and load the environment variables.
const { SDK, Auth, TEMPLATES, Metadata } = require('@infura/sdk') ;
require('dotenv').config()
// Create Auth object
const auth = new Auth({
projectId: process.env.INFURA_API_KEY,
secretId: process.env.INFURA_API_KEY_SECRET,
privateKey: process.env.WALLET_PRIVATE_KEY,
chainId: 1,
});
// Instantiate SDK
const sdk = new SDK(auth);
const getCollectionsByWallet = async (walletAddress)=> {
const result = await sdk.api.getCollectionsByWallet({
walletAddress: walletAddress,
});
console.log('collections:', result);
}
(async() => {
try {
await getCollectionsByWallet('0xacdaEEb57ff6886fC8e203B9Dd4C2b241DF89b7a');
} catch (error) {
console.log(error);
}
})();
TypeScript
JavaScript
npx ts-node index.ts
node index.js
The result should look similar to:
collections: {
total: 373,
pageNumber: 1,
pageSize: 100,
network: 'ETHEREUM',
cursor: 'eyJhbGciOiJIUzI1NiJ9.ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SmpkWE4wYjIxUVlYSmhiWE1pT25zaWQyRnNiR1YwUVdSa2NtVnpjeUk2SWpCNFlXTmtZV1ZsWWpVM1ptWTJPRGcyWm1NNFpUSXdNMkk1WkdRMFl6SmlNalF4WkdZNE9XSTNZU0o5TENKclpYbHpJanBiSWpFMk5UYzFPVFF6TXprdU1qazRJbDBzSW5kb1pYSmxJanA3SW05M2JtVnlYMjltSWpvaU1IaGhZMlJoWldWaU5UZG1aalk0T0RabVl6aGxNakF6WWpsa1pEUmpNbUl5TkRGa1pqZzVZamRoSW4wc0lteHBiV2wwSWpveE1EQXNJbTltWm5ObGRDSTZNQ3dpYjNKa1pYSWlPbHRkTENKa2FYTmhZbXhsWDNSdmRHRnNJanBtWVd4elpTd2lkRzkwWVd3aU9qTTNNeXdpY0dGblpTSTZNU3dpZEdGcGJFOW1abk5sZENJNk1Td2lhV0YwSWpveE5qYzRPRFV6TlRreGZRLlRoSklVNU9ETzNiUmpnUGpOcXYzU3pTaXFrZ1dpZEdYMHN2bHhSajdxbkE.AVJ6hM7qlFKjMyKcMwn5zREnyfBCnj_iS6IVbQGg_D4',
account: '0xacdaEEb57ff6886fC8e203B9Dd4C2b241DF89b7a',
collections: [
{
contract: '0xffbfd7d27e3fb59de43054c234b464dfe0f95ae8',
tokenType: 'ERC1155',
name: ' Witcher Art Mint Pass Genesis',
symbol: ' Witcher Art Mint Pass Genesis'
},
...
}
Last modified 2mo ago