Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@icnaming/client

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@icnaming/client

[![CI & CD](https://github.com/IC-Naming/js-sdk/actions/workflows/pipeline.yml/badge.svg)][1]

  • 2.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

IC-Naming JavaScript SDK

CI & CD

NPM

Installing

Using npm:

npm install @dfinity/{agent,candid,principal} # dfinity dependencies
npm install @icnaming/client

Using yarn:

yarn add @dfinity/{agent,candid,principal} # dfinity dependencies
yarn add @icnaming/client

Example

import { Principal } from '@dfinity/principal';
import { IcNamingClient } from '@icnaming/client';

const client = new IcNamingClient({
  suffix: 'IC', // IC | ICP | TICP
  mode: 'production' // local | production
});

// get records
client.getRecordsOfName('helloworld.ic').then(records => {
  // get ICP address(principal)
  const principal = records.find(r => r[0] === 'principal.icp');
  console.debug(`helloworld.ic's principal is ${principal}`);

  // get ICP address(account id)
  const accountId = records.find(r => r[0] === 'account_id.icp');
  console.debug(`helloworld.ic's account id is ${accountId}`);

  // get twitter
  const twitter = records.find(r => r[0] === 'com.twitter');
  console.debug(`helloworld.ic's twitter is ${twitter}`);

  // get eth address
  const ethAdddress = records.find(r => r[0] === 'token.eth');
  console.debug(`helloworld.ic's eth adddress is ${ethAdddress}`);
});

// get name's registrant
client.getRegistrantOfName('helloworld.ic').then(registrant => {
  console.debug(`helloworld.ic's registrant is ${registrant}`);
});

// get name's expired time
client.getExpiredTimeOfName('helloworld.ic').then(timestamp => {
  const expiredTime = new Date(Number(timestamp));
  console.debug(`helloworld.ic's expired time is ${expiredTime}`);
});

// get reverse resolve
const thePrincipal = Principal.fromText(
  'v2xhg-um7x6-mhni4-sgqsc-qarqs-bgoyy-ngobl-qoe7c-7a4cm-bvn4f-pqe'
);

client.getReverseResolve(thePrincipal).then(name => {
  if (name) console.debug(`reverse resolve name is ${name}`);
  else console.debug(`reverse resolve name not exist`);
});

Special host and identity:

import { IcNamingClient } from '@icnaming/client';

const client = new IcNamingClient({
  net: 'IC',
  mode: 'production', // local | production
  httpAgent: {
    host: 'https://ic0.app', // default by mode
    identity: {
      identity: {
        transformRequest: () => {
          /* ... */
        },
        getPrincipal: () => {
          /* ... */
        }
      }
    }
  }
});

More example in repo

  • React App - A "React App" for search naming

Client API

client.ts

https://ic-naming.github.io/js-sdk/

Contribute

Local commands:

yarn dev # rollup library watch mode
yarn type # typescript type check
yarn test # jest unit test
yarn build # rollup build to dist/
yarn release # generate new version

Release

git tag vX.Y.Z HEAD  # Create a tag started with "v" to trigger CI/CD pipeline

git push origin main --tags

Keywords

FAQs

Package last updated on 20 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc