1.0.0-alpha.1.ethers.6 • Published 22 days ago
@ensdomains/ens-avatar v1.0.0-alpha.1.ethers.6
ens-avatar
Avatar resolver library for both nodejs and browser.
Getting started
Prerequisites
- Have your web3 provider ready (web3.js, ethers.js)
- Only for node env Have jsdom installed.
And good to go!
Installation
# npm
npm i @ensdomains/ens-avatar
# yarn
yarn add @ensdomains/ens-avatar
Usage
import { StaticJsonRpcProvider } from '@ethersproject/providers';
import { AvatarResolver, utils as avtUtils } from '@ensdomains/ens-avatar';
// const { JSDOM } = require('jsdom'); on nodejs
// const jsdom = new JSDOM().window; on nodejs
const provider = new StaticJsonRpcProvider(
...
);
...
async function getAvatar() {
const avt = new AvatarResolver(provider);
const avatarURI = await avt.getAvatar('tanrikulu.eth', { /* jsdomWindow: jsdom (on nodejs) */ });
// avatarURI = https://ipfs.io/ipfs/QmUShgfoZQSHK3TQyuTfUpsc8UfeNfD8KwPUvDBUdZ4nmR
}
async function getAvatarMetadata() {
const avt = new AvatarResolver(provider);
const avatarMetadata = await avt.getMetadata('tanrikulu.eth');
// avatarMetadata = { image: ... , uri: ... , name: ... , description: ... }
const avatarURI = avtUtils.getImageURI({ metadata /*, jsdomWindow: jsdom (on nodejs) */ });
// avatarURI = https://ipfs.io/ipfs/QmUShgfoZQSHK3TQyuTfUpsc8UfeNfD8KwPUvDBUdZ4nmR
}
Supported avatar specs
NFTs
- ERC721
- ERC1155
URIs
- HTTP
- Base64
- IPFS
Options
Cache (Default: Disabled)
const avt = new AvatarResolver(provider, { cache: 300 }); // 5 min response cache in memory
Custom IPFS Gateway (Default: https://ipfs.io)
const avt = new AvatarResolver(provider, { ipfs: 'https://dweb.link' });
Custom Arweave Gateway (Default: https://arweave.net)
const avt = new AvatarResolver(provider, { arweave: 'https://arweave.net' });
Marketplace Api Keys (Default: {})
const avt = new AvatarResolver(provider, {
apiKey: {
opensea: 'YOUR_API_KEY'
}
});
URL DenyList (Default: [])
const avt = new AvatarResolver(provider, { urlDenyList: ['https://maliciouswebsite.com'] });
Demo
- Create .env file with INFURA_KEY env variable
Build the library
Node example
node example/node.js ENS_NAME
- Browser example
yarn build:demo
http-server example
1.0.0-alpha.1.ethers.6
22 days ago
1.0.0-alpha.0.ethers.7
22 days ago
1.0.0-alpha.0.ethers.6
4 months ago
0.3.6
4 months ago
0.3.5
6 months ago
0.3.2
10 months ago
0.3.1
10 months ago
0.3.4
7 months ago
0.3.3
10 months ago
0.3.0
11 months ago
0.2.1
1 year ago
0.2.3
1 year ago
0.2.2
1 year ago
0.2.5
1 year ago
0.2.4
1 year ago
0.2.0
2 years ago
0.1.8
2 years ago
0.1.7
2 years ago
0.1.6
2 years ago
0.1.5
2 years ago
0.1.4
2 years ago
0.1.3
2 years ago
0.1.2
2 years ago
0.1.1
2 years ago
0.1.0
2 years ago