permaweb

Set of tools to interact with metadata for NFTs

Usage no npm install needed!

<script type="module">
  import permaweb from 'https://cdn.skypack.dev/permaweb';
</script>

README

permaweb

Set of tools to interact with metadata for NFTs

Contribute : Install and test

> git clone https://github.com/alexpuig/permaweb.git
> cd permaweb
> npm install

For the testing you need to hace a local test-arweave node running

> git clone https://github.com/ArweaveTeam/testweave-docker.git
> cd testweave-docker
> docker-compose up

Note: always turn down with docker-compose down --remove-orphans

Ready to test

> npm test

The test will try to get metadata from different Contracts and formats, includinf IPFS, arweave, web service... Even with different contracts and ABIs (uri, getTokenURI...).

There are still a lot of patterns and metadata formats to be added, just add an issue if your NFT is not covered by the library.

Use it as a library

Install

> npm install --save permaweb

Ready to retrieve your first NFT. First add your .env file with the WEB3 API (Alchemy, Infura...).

Let's get a Base64 JON encoded metadata from the LOOT contract.

const Permaweb = require('./index');
const permaweb = new Permaweb(process.env.WEB3_ENDPOINT);

const LOOT = '0xff9c1b15b16263c61d017ee9f65c50e4ae0113d7';
const loot = await permaweb.getMetadata(LOOT, 1);

const GLITCH = '0x8460bb8eb1251a923a31486af9567e500fc2f43f';
const glitch  = await permaweb.getMetadata(GLITCH, 1);