Novelty Promotes Magicians

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

    1.9.0 • Public • Published


    npm version CircleCI

    RNS JavaScript library.

    npm i web3 @rsksmart/rns

    Types are exposed under '@rsksmart/rns/types'

    Or just use it directly in your webpage:

    <script src=""></script>
    <script src=""></script>

    Don't forget to specify the desired version of the package!

    Basic usage

    Instance de library:

    import Web3 from 'web3'
    import RNS from '@rsksmart/rns'
    import { ChainId } from '@rsksmart/rns/types'
    const web3 = new Web3('')
    const rns = new RNS(web3)

    Get an address:


    Get Bitcoin address:

    rns.addr('testing.rsk', ChainId.BITCOIN).then(console.log)

    Check if testing.rsk domain is available:


    Check if example.testing.rsk subdomain is available:

    rns.subdomains.available('testing.rsk', 'example').then(console.log)

    Reverse lookup: get name of a given address:


    Check out more operations details in the RSK Developers Portal.

    Advanced usage

    Use Web3 Contract directly

    async function myCustomGetOwner(domain) {
      const web3 = new Web3('')
      const rns = new RNS(web3)
      await rns.compose()
      const owner = await rns.contracts.registry.methods.owner(domain).call()
      return owner;

    Resource record implementations

    Coins supported:

    • BTC (base58check P2PKH and P2SH, and bech32 segwit)
    • LTC (base58check P2PHK and P2SH, and bech32 segwit)
    • DOGE (base58check P2PKH and P2SH)
    • MONA (base58check P2PKH and P2SH, and bech32 segwit)
    • DASH (base58check P2PKH and P2SH)
    • ETH (checksummed-hex)
    • ETC (checksummed-hex)
    • RSK (checksummed-hex)
    • XDAI (checksummed-hex)
    • XRP (base58check-ripple)
    • BCH (base58check and cashAddr; decodes to cashAddr)
    • BNB (bech32)
    • XLM (ed25519 public key)
    • ATOM (bech32)
    • TRX (base58check)
    • NEM (base32)
    • EOS
    • KSM (ss58)

    Content types supported:

    • ipfs
    • bzz
    • onion
    • onion3

    Run for development

    Install dependencies:

    git clone
    cd rns-js
    npm i

    Run tests:

    npm test

    Try out your development, create a testing project:

    # in rns-js folder
    npm run build
    npm link
    cd ..
    mkdir rns-js-test
    cd rns-js-test
    npm init
    npm i web3
    npm link @rsksmart/rns


    • master branch point to latest release.
    • develop branch contains changes that will apply next release. The first commit after release bumps to next version.
    • Other branches (feature branches) point to develop.

    Find releases scopes in milestones



    npm i @rsksmart/rns

    DownloadsWeekly Downloads






    Unpacked Size

    2.29 MB

    Total Files


    Last publish


    • icalisalvo-iovlabs
    • ilanolkies
    • jessgusclark