nft-arcs
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

Arcs lib

Motivation

Abstract the NFTs manipulation from the business logic. While NFTs can follow different ARC's, this library should abstract the ways of decoding metadata or digital media to show into the different marketplaces. The main idea is to handle metadata & digital media of the NFT easily, doesn't matter the ARC the NFT is following. You as client, should not understand the ARCs to develop under Algorand.

Available methods (from any NFT following arcs: 3, 19, or 69)

Arc class:

  • getStandard(): <arc3 | arc19 | arc69 | custom>
  • getAssetMetadata()
  • getAssetDigitalMedia()
  • validateDigitalMediaIntegrity()
  • validateMetadataIntegrity()

Examples

Installation

npm i nft-arcs

Getting started

Typescript
import { Arc } from 'nft-arcs';
const NFTArc = new Arc({
    token: '',
    host: 'http://localhost',
    port: '8980',
});
Javascript vanilla
const { Arc } = require('nft-arcs');

Getting metadata from ASA id

import { Arc } from 'nft-arcs';
const NFTArc = new Arc({
    token: '',
    host: 'http://localhost',
    port: '8980',
});
const asaId = 1;
const metadata = await NFTArc.getAssetMetadata(asaId);
console.log(metadata);

From existing Indexer instance

import { Indexer } from 'algosdk';
const token  = "";
const server = "http://localhost";
const port   = 8980;
const indexerClient = new Indexer(token, server, port);

const NFTArc = new Arc(indexerClient);

TODO:

  • getStandard() should return an array of arcs
  • extra-metadata support
  • localization metadata field integrity check
  • v2:
    • methods for creating NFTs according client needs

Readme

Keywords

Package Sidebar

Install

npm i nft-arcs

Weekly Downloads

10

Version

1.0.7

License

ISC

Unpacked Size

80 kB

Total Files

83

Last publish

Collaborators

  • kwizats