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

0.1.6 • Public • Published

libcrc721

A Javascript library supports crc20 queries and crc721 badge queries.

Install

npm install libcrc721

or

yarn add libcrc721

Data Formats

Badge

export interface Badge {
  tokenId: string
  index: number
  owner: string
  badgeName: string
  info: {
    evmaddr?: string
    ipaddr?: string
    social?: string
    email?: string
    remark?: string
  }
}

BaseCRC20Token

export interface BaseCRC20Token {
    symbol: string
    category: string
    name: string
    decimals: number
    mintAmt: number
    totalSupply: number
    isCanonical: boolean
    revealHeight: number
}

CRC20Token

export interface CRC20Token extends BaseCRC20Token {
    type: "CRC20"
}

CRC721Token

export interface CRC721Token extends BaseCRC20Token {
    authorAddress: string
    baseTokenURI: string
    mintPrice: number
    feeCategory: string
    type: "CRC721"
}

CRCToken

export type CRCToken = CRC20Token | CRC721Token

Examples

async function addressToBadgeName(address: string): Promise<string>

import { addressToBadgeName } from 'libcrc721';
const result = await addressToBadgeName("bitcoincash:qqeht8vnwag20yv8dvtcrd4ujx09fwxwsqqqw93w88")
console.log(result)

async function badgeNameToAddress(badgeName: string): Promise<string>

import { badgeNameToAddress } from 'libcrc721';
const result = await badgeNameToAddress("xx-1")
console.log(result)

async function getTokensBySymbol(symbol: string): Promise<Array<CRC20Token | CRC721Token>>

import { getTokensBySymbol } from 'libcrc721';
const result = await getTokensBySymbol("TEST")
console.log(result)

async function getTokenByCategory(category: string): Promise<CRC20Token | CRC721Token>

import { getTokenByCategory } from 'libcrc721';
const result = await getTokenByCategory("548327f45d8ea815c32e3b60cc3ea8ad2120132ddf407420865502e1dd9ab161")
console.log(result)

async function getBadgesByAddress(owner: string): Promise<Badge[]>

import { getBadgesByAddress } from 'libcrc721';
const result = await getBadgesByAddress("bitcoincash:qqeht8vnwag20yv8dvtcrd4ujx09fwxwsqqqw93w88")
console.log(result)

async function getBadge(badgeName: string): Promise<Badge>

import { getBadge } from 'libcrc721';
const result = await getBadge("xx-1")
console.log(result)

function getBadgeName(symbol: string, index: number): string

import { getBadgeName } from 'libcrc721';
console.log(getBadgeName("xx", 0)) // xx
console.log(getBadgeName("xx", 1)) // xx-1

function splitBadgeName(badgeName: string): {string, number}

import { splitBadgeName } from 'libcrc721';
console.log(splitBadgeName("xx")) // {symbol:"xx",index:0}
console.log(getBadgeName("xx-1")) // {symbol:"xx",index:1}

Configs

Using customized Electrum URL

import { config } from 'libcrc721';
config.defaultElectrumClientUrl =  "wss://bch.imaginary.cash:50004"

Using Testnet

Note: The badgeTxQuerier must be customized when using testnet.

import { config } from 'libcrc721';
config.network = "testnet"

BadgeTxQuerier

The default badgeTxQuerier implements an interface to locate transaction ID by token category and commitment, which using Chaingraph.

Modify Chaingraph URL

import { mainnetChaingrapBadgeTxQuerier } from 'libcrc721';
mainnetChaingrapBadgeTxQuerier.defaultChaingraphUrl = "https://demo.chaingraph.cash/v1/graphql"

Customized BadgeTxQuerier

Users can query the transaction ID using their own API.

import { config,BadgeTxQuerier } from 'libcrc721';
const badgeTxQuerier:BadgeTxQuerier = {
    getTxId(tokenCategory: string, commitment: string){
        return fetch(<CUSTOMER_API_URL>)
    }
}
config.badgeTxQuerier = badgeTxQuerier

Readme

Keywords

Package Sidebar

Install

npm i libcrc7211

Weekly Downloads

0

Version

0.1.6

License

none

Unpacked Size

581 kB

Total Files

49

Last publish

Collaborators

  • mlyknown