mnslib

0.1.13 • Public • Published

MNS js library

Mnslib is a convinience library to resolve mns records (gets crypto address, public key and coin attached to specified domain name). MNS (Minter Name System) is a Distributed Domain Name System.

Library additionaly protects from resolve result forgery by checking signature of resolve result. Every api response from MNS API server is signed with MNS private key. At start library is initialized with signer public key. Signature of reponse data is checked with this public key.

Library resolves domain name to crypto address or/and public key and optional ticker.

Installation

Install with yarn:

yarn add mnslib

Install with npm:

npm install --save mnslib

Usage

Recommended way to use library is to call function resolve which resolves andress and automatically checks signature.

const mns = require('mnslib')
const publicKey = 'Mp...' //public key to check signature
mns.init(publicKey)
try {
    const resolveResult = await mns.resolve('mns.hashex.org')
    console.log('result is: ', resolveResult)
} catch (e) {
    console.log('could not resolve mns record:', e.message)
}

Example response:

{  
   "address":"Mx000001ceb986ad005db3531a199b0bb2dcad3a76",
   "publickey":"Mp60f782726fe03fd5d7fe293f",
   "signature":{  
      "r":"ba828f3493c43c06e6451e0febee5bb58f46136b5a3baf0908504337223a77ff",
      "s":"39fdc064bab88bfaa87c5177ae3d428e6d12d619e3b72b716ae885f4bc59027a",
      "v":27
   }
}

Or just use library to recover public key result was signed with (no initialization is needed):

const mns = require('mnslib')
const exampleResponse = {
   "address":"Mx000001ceb986ad005db3531a199b0bb2dcad3a76",
   "publickey":"Mp60f782726fe03fd5d7fe293f",
   "signature":{  
      "r":"ba828f3493c43c06e6451e0febee5bb58f46136b5a3baf0908504337223a77ff",
      "s":"39fdc064bab88bfaa87c5177ae3d428e6d12d619e3b72b716ae885f4bc59027a",
      "v":27
   }
}
const recoveredPublicKey = mns.recoverPublicFromSignature(exampleResonse)

Readme

Keywords

Package Sidebar

Install

npm i mnslib

Weekly Downloads

0

Version

0.1.13

License

MIT

Unpacked Size

6.85 kB

Total Files

4

Last publish

Collaborators

  • kataloo