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 = const publicKey = 'Mp...' //public key to check signaturemnstry const resolveResult = await mns console catch e console
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 = const exampleResponse = "address":"Mx000001ceb986ad005db3531a199b0bb2dcad3a76" "publickey":"Mp60f782726fe03fd5d7fe293f" "signature": "r":"ba828f3493c43c06e6451e0febee5bb58f46136b5a3baf0908504337223a77ff" "s":"39fdc064bab88bfaa87c5177ae3d428e6d12d619e3b72b716ae885f4bc59027a" "v":27 const recoveredPublicKey = mns