npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@xns/xnsjs

v1.0.3

Published

XNS javascript library for domain name resolution

Downloads

11

Readme

XNS JavaScript/TypeScript SDK

This is the official JavaScript/TypeScript SDK for interacting with the XRP Name service. XNS is a domain name resolution system for the XRPL ledger.

Features

  • Resolve XRPL address given an XNS domain
  • Resolve XNS domain given an XRPL address
  • Verify ownership of the domain/address association through XRPL NFT ownership.

By cross-referencing XNS data against the XRP Ledger, accurate name resolution is ensured and trust against a centralized authority minimized.

Installation

npm install @xns/xnsjs

Usage

import { Xns } from '@xns/xnsjs';
import { Client } from 'xrpl';

async function main() {
  // Create an XRPL Client instance
  const client = new Client('wss://xrplcluster.com'); // Use the appropriate XRPL server URL
  await client.connect();

  // Initialize Xns with the client
  const xns = new Xns(client);

  // Resolve address given a domain
  const resolvedAddress = await xns.resolveDomain('example-domain');
  console.log(`Address associated with domain 'example-domain':`, resolvedAddress);

  // Resolve domain given an address
  const resolvedDomain = await xns.resolveAddress('rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
  console.log(`Domain associated with address 'rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX':`, resolvedDomain);

  // Disconnect from the XRPL server
  await client.disconnect();
}

main();

Replace example-domain and rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX with the domain and address you want to resolve.

Individual Functions

async resolveDomain(domain: string): Promise<string | null>

Resolve the XRPL address associated with the given domain. Returns the address if found and NFT ownership is verified.

  • domain: The domain name to resolve.

async resolveAddress(address: string): Promise<string | null>

Resolve the domain name associated with the given XRPL address. Returns the domain name if found and NFT ownership is verified.

Contributing

If you have any issues, questions, or suggestions, please open an issue on the repository.

License

This project is licensed under the MIT License.