UNPKG

nkn-sdk

Version:
1,655 lines (997 loc) 260 kB
<!doctype html> <html lang="en"> <head> <meta charset='utf-8'> <title>nkn-sdk 1.3.6 | Documentation</title> <meta name='description' content='NKN client and wallet SDK'> <meta name='viewport' content='width=device-width,initial-scale=1'> <link href='assets/bass.css' rel='stylesheet'> <link href='assets/style.css' rel='stylesheet'> <link href='assets/github.css' rel='stylesheet'> <link href='assets/split.css' rel='stylesheet'> </head> <body class='documentation m0'> <div class='flex'> <div id='split-left' class='overflow-auto fs0 height-viewport-100'> <div class='py1 px2'> <h3 class='mb0 no-anchor'>nkn-sdk</h3> <div class='mb1'><code>1.3.6</code></div> <input placeholder='Filter' id='filter-input' class='col12 block input' spellcheck='false' autocapitalize='off' autocorrect='off' type='text' /> <div id='toc'> <ul class='list-reset h5 py1-ul'> <li><a href='#client' class=" toggle-sibling"> Client <span class='icon'>▸</span> </a> <div class='toggle-target display-none'> <ul class='list-reset py1-ul pl1'> <li class='h5'><span>Instance members</span></li> <li><a href='#clientaddr' class='regular pre-open'> #addr </a></li> <li><a href='#clientclose' class='regular pre-open'> #close </a></li> <li><a href='#clientdeletename' class='regular pre-open'> #deleteName </a></li> <li><a href='#clientgetbalance' class='regular pre-open'> #getBalance </a></li> <li><a href='#clientgetlatestblock' class='regular pre-open'> #getLatestBlock </a></li> <li><a href='#clientgetnonce' class='regular pre-open'> #getNonce </a></li> <li><a href='#clientgetpublickey' class='regular pre-open'> #getPublicKey </a></li> <li><a href='#clientgetregistrant' class='regular pre-open'> #getRegistrant </a></li> <li><a href='#clientgetseed' class='regular pre-open'> #getSeed </a></li> <li><a href='#clientgetsubscribers' class='regular pre-open'> #getSubscribers </a></li> <li><a href='#clientgetsubscriberscount' class='regular pre-open'> #getSubscribersCount </a></li> <li><a href='#clientgetsubscription' class='regular pre-open'> #getSubscription </a></li> <li><a href='#clientidentifier' class='regular pre-open'> #identifier </a></li> <li><a href='#clientisclosed' class='regular pre-open'> #isClosed </a></li> <li><a href='#clientisfailed' class='regular pre-open'> #isFailed </a></li> <li><a href='#clientisready' class='regular pre-open'> #isReady </a></li> <li><a href='#clienton' class='regular pre-open'> #on </a></li> <li><a href='#clientonconnect' class='regular pre-open'> #onConnect </a></li> <li><a href='#clientonconnectfailed' class='regular pre-open'> #onConnectFailed </a></li> <li><a href='#clientonmessage' class='regular pre-open'> #onMessage </a></li> <li><a href='#clientonwserror' class='regular pre-open'> #onWsError </a></li> <li><a href='#clientpeer' class='regular pre-open'> #peer </a></li> <li><a href='#clientpublish' class='regular pre-open'> #publish </a></li> <li><a href='#clientregistername' class='regular pre-open'> #registerName </a></li> <li><a href='#clientsend' class='regular pre-open'> #send </a></li> <li><a href='#clientsendtransaction' class='regular pre-open'> #sendTransaction </a></li> <li><a href='#clientsubscribe' class='regular pre-open'> #subscribe </a></li> <li><a href='#clienttransfername' class='regular pre-open'> #transferName </a></li> <li><a href='#clienttransferto' class='regular pre-open'> #transferTo </a></li> <li><a href='#clientunsubscribe' class='regular pre-open'> #unsubscribe </a></li> </ul> </div> </li> <li><a href='#multiclient' class=" toggle-sibling"> MultiClient <span class='icon'>▸</span> </a> <div class='toggle-target display-none'> <ul class='list-reset py1-ul pl1'> <li class='h5'><span>Instance members</span></li> <li><a href='#multiclientaddr' class='regular pre-open'> #addr </a></li> <li><a href='#multiclientclients' class='regular pre-open'> #clients </a></li> <li><a href='#multiclientclose' class='regular pre-open'> #close </a></li> <li><a href='#multiclientdefaultclient' class='regular pre-open'> #defaultClient </a></li> <li><a href='#multiclientdeletename' class='regular pre-open'> #deleteName </a></li> <li><a href='#multiclientdial' class='regular pre-open'> #dial </a></li> <li><a href='#multiclientgetbalance' class='regular pre-open'> #getBalance </a></li> <li><a href='#multiclientgetlatestblock' class='regular pre-open'> #getLatestBlock </a></li> <li><a href='#multiclientgetnonce' class='regular pre-open'> #getNonce </a></li> <li><a href='#multiclientgetpublickey' class='regular pre-open'> #getPublicKey </a></li> <li><a href='#multiclientgetregistrant' class='regular pre-open'> #getRegistrant </a></li> <li><a href='#multiclientgetseed' class='regular pre-open'> #getSeed </a></li> <li><a href='#multiclientgetsubscribers' class='regular pre-open'> #getSubscribers </a></li> <li><a href='#multiclientgetsubscriberscount' class='regular pre-open'> #getSubscribersCount </a></li> <li><a href='#multiclientgetsubscription' class='regular pre-open'> #getSubscription </a></li> <li><a href='#multiclientidentifier' class='regular pre-open'> #identifier </a></li> <li><a href='#multiclientisclosed' class='regular pre-open'> #isClosed </a></li> <li><a href='#multiclientisfailed' class='regular pre-open'> #isFailed </a></li> <li><a href='#multiclientisready' class='regular pre-open'> #isReady </a></li> <li><a href='#multiclientlisten' class='regular pre-open'> #listen </a></li> <li><a href='#multiclienton' class='regular pre-open'> #on </a></li> <li><a href='#multiclientonconnect' class='regular pre-open'> #onConnect </a></li> <li><a href='#multiclientonconnectfailed' class='regular pre-open'> #onConnectFailed </a></li> <li><a href='#multiclientonmessage' class='regular pre-open'> #onMessage </a></li> <li><a href='#multiclientonsession' class='regular pre-open'> #onSession </a></li> <li><a href='#multiclientonwserror' class='regular pre-open'> #onWsError </a></li> <li><a href='#multiclientpublish' class='regular pre-open'> #publish </a></li> <li><a href='#multiclientreadyclientids' class='regular pre-open'> #readyClientIDs </a></li> <li><a href='#multiclientregistername' class='regular pre-open'> #registerName </a></li> <li><a href='#multiclientsend' class='regular pre-open'> #send </a></li> <li><a href='#multiclientsendtransaction' class='regular pre-open'> #sendTransaction </a></li> <li><a href='#multiclientsendwithclient' class='regular pre-open'> #sendWithClient </a></li> <li><a href='#multiclientsubscribe' class='regular pre-open'> #subscribe </a></li> <li><a href='#multiclienttransfername' class='regular pre-open'> #transferName </a></li> <li><a href='#multiclienttransferto' class='regular pre-open'> #transferTo </a></li> <li><a href='#multiclientunsubscribe' class='regular pre-open'> #unsubscribe </a></li> </ul> </div> </li> <li><a href='#wallet' class=" toggle-sibling"> Wallet <span class='icon'>▸</span> </a> <div class='toggle-target display-none'> <ul class='list-reset py1-ul pl1'> <li class='h5'><span>Static members</span></li> <li><a href='#walletfromjson' class='regular pre-open'> .fromJSON </a></li> <li><a href='#walletgetbalance' class='regular pre-open'> .getBalance </a></li> <li><a href='#walletgetlatestblock' class='regular pre-open'> .getLatestBlock </a></li> <li><a href='#walletgetnonce' class='regular pre-open'> .getNonce </a></li> <li><a href='#walletgetregistrant' class='regular pre-open'> .getRegistrant </a></li> <li><a href='#walletgetsubscribers' class='regular pre-open'> .getSubscribers </a></li> <li><a href='#walletgetsubscriberscount' class='regular pre-open'> .getSubscribersCount </a></li> <li><a href='#walletgetsubscription' class='regular pre-open'> .getSubscription </a></li> <li><a href='#walletpublickeytoaddress' class='regular pre-open'> .publicKeyToAddress </a></li> <li><a href='#walletsendtransaction' class='regular pre-open'> .sendTransaction </a></li> <li><a href='#walletverifyaddress' class='regular pre-open'> .verifyAddress </a></li> </ul> <ul class='list-reset py1-ul pl1'> <li class='h5'><span>Instance members</span></li> <li><a href='#walletaddress' class='regular pre-open'> #address </a></li> <li><a href='#walletcreateorupdatenanopay' class='regular pre-open'> #createOrUpdateNanoPay </a></li> <li><a href='#walletdeletename' class='regular pre-open'> #deleteName </a></li> <li><a href='#walletgetbalance' class='regular pre-open'> #getBalance </a></li> <li><a href='#walletgetlatestblock' class='regular pre-open'> #getLatestBlock </a></li> <li><a href='#walletgetnonce' class='regular pre-open'> #getNonce </a></li> <li><a href='#walletgetpublickey' class='regular pre-open'> #getPublicKey </a></li> <li><a href='#walletgetregistrant' class='regular pre-open'> #getRegistrant </a></li> <li><a href='#walletgetseed' class='regular pre-open'> #getSeed </a></li> <li><a href='#walletgetsubscribers' class='regular pre-open'> #getSubscribers </a></li> <li><a href='#walletgetsubscriberscount' class='regular pre-open'> #getSubscribersCount </a></li> <li><a href='#walletgetsubscription' class='regular pre-open'> #getSubscription </a></li> <li><a href='#walletregistername' class='regular pre-open'> #registerName </a></li> <li><a href='#walletsendtransaction' class='regular pre-open'> #sendTransaction </a></li> <li><a href='#walletsubscribe' class='regular pre-open'> #subscribe </a></li> <li><a href='#wallettojson' class='regular pre-open'> #toJSON </a></li> <li><a href='#wallettransfername' class='regular pre-open'> #transferName </a></li> <li><a href='#wallettransferto' class='regular pre-open'> #transferTo </a></li> <li><a href='#walletunsubscribe' class='regular pre-open'> #unsubscribe </a></li> <li><a href='#walletverifypassword' class='regular pre-open'> #verifyPassword </a></li> <li><a href='#walletversion' class='regular pre-open'> #version </a></li> </ul> </div> </li> <li><a href='#amount' class=""> Amount </a> </li> <li><a href='#connectfailedhandler' class=""> ConnectFailedHandler </a> </li> <li><a href='#connecthandler' class=""> ConnectHandler </a> </li> <li><a href='#createtransactionoptions' class=""> CreateTransactionOptions </a> </li> <li><a href='#destination' class=""> Destination </a> </li> <li><a href='#dialoptions' class=""> DialOptions </a> </li> <li><a href='#message' class=""> Message </a> </li> <li><a href='#messagedata' class=""> MessageData </a> </li> <li><a href='#messagehandler' class=""> MessageHandler </a> </li> <li><a href='#publishoptions' class=""> PublishOptions </a> </li> <li><a href='#replydata' class=""> ReplyData </a> </li> <li><a href='#sendoptions' class=""> SendOptions </a> </li> <li><a href='#sessionhandler' class=""> SessionHandler </a> </li> <li><a href='#transactionoptions' class=""> TransactionOptions </a> </li> <li><a href='#txnorhash' class=""> TxnOrHash </a> </li> <li><a href='#wserrorhandler' class=""> WsErrorHandler </a> </li> </ul> </div> <div class='mt1 h6 quiet'> <a href='https://documentation.js.org/reading-documentation.html'>Need help reading this?</a> </div> </div> </div> <div id='split-right' class='relative overflow-auto height-viewport-100'> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='clearfix'> <h3 class='fl m0' id='client'> Client </h3> </div> <p>NKN client that sends data to and receives data from other NKN clients. Typically you might want to use <a href="#multiclient">MultiClient</a> for better reliability and lower latency.</p> <div class='pre p1 fill-light mt0'>new Client(options: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</div> <div class='py1 quiet mt1 prose-big'>Parameters</div> <div class='prose'> <div class='space-bottom0'> <div> <span class='code bold'>options</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a> = <code>{}</code>)</code> Client configuration </div> <table class='mt1 mb2 fixed-table h5 col-12'> <colgroup> <col width='30%' /> <col width='70%' /> </colgroup> <thead> <tr class='bold fill-light'> <th>Name</th> <th>Description</th> </tr> </thead> <tbody class='mt1'> <tr> <td class='break-word'><span class='code bold'>options.seed</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code> (default <code>undefined</code>) </td> <td class='break-word'><span>Secret seed (64 hex characters). If empty, a random seed will be used. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.identifier</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code> (default <code>undefined</code>) </td> <td class='break-word'><span>Identifier used to differentiate multiple clients sharing the same secret seed. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.reconnectIntervalMin</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code> (default <code>1000</code>) </td> <td class='break-word'><span>Minimal reconnect interval in ms. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.reconnectIntervalMax</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code> (default <code>64000</code>) </td> <td class='break-word'><span>Maximal reconnect interval in ms. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.responseTimeout</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code> (default <code>5000</code>) </td> <td class='break-word'><span>Message response timeout in ms. Zero disables timeout. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.connectTimeout</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code> (default <code>10000</code>) </td> <td class='break-word'><span>Websocket/webrtc connect timeout in ms. Zero disables timeout. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.msgHoldingSeconds</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code> (default <code>0</code>) </td> <td class='break-word'><span>Maximal message holding time in second. Message might be cached and held by node up to this duration if destination client is not online. Zero disables cache. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.encrypt</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code> (default <code>true</code>) </td> <td class='break-word'><span>Whether to end to end encrypt message. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.rpcServerAddr</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code> (default <code>&#39;https://mainnet-rpc-node-0001.nkn.org/mainnet/api/wallet&#39;</code>) </td> <td class='break-word'><span>RPC server address used to join the network. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.webrtc</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code> (default <code>undefined</code>) </td> <td class='break-word'><span>Force to use/not use web rtc if defined. By default, webrtc is used only in https location when tls is undefined. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.tls</span> <code class='quiet'><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code> (default <code>undefined</code>) </td> <td class='break-word'><span>Force to use ws or wss if defined. This option is only used when webrtc is not used. Default is true in https location, otherwise false. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.stunServerAddr</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>>)</code> (default <code>[&quot;stun:stun.l.google.com:19302&quot;,&quot;stun:stun.cloudflare.com:3478&quot;,&quot;stun:stunserver.stunprotocol.org:3478&quot;]</code>) </td> <td class='break-word'><span>Stun server address for webrtc. </span></td> </tr> <tr> <td class='break-word'><span class='code bold'>options.worker</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a>)</code> (default <code>false</code>) </td> <td class='break-word'><span>Whether to use web workers (if available) to compute signatures. Can also be a function that returns web worker. Typically you only need to set it to a function if you import nkn-sdk as a module and are NOT using browserify or webpack worker-loader to bundle js file. The worker file is located at <code>lib/worker/webpack.worker.js</code> . </span></td> </tr> </tbody> </table> </div> </div> <div class='py1 quiet mt1 prose-big'>Instance Members</div> <div class="clearfix"> <div class='border-bottom' id='clientaddr'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>addr</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Client address, which will be <code>identifier.pubicKeyHex</code> if <code>identifier</code> is not empty, otherwise just <code>pubicKeyHex</code>.</p> <div class='pre p1 fill-light mt0'>addr</div> <p> Type: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> </p> </section> </div> </div> <div class='border-bottom' id='clientclose'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>close()</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Close the client.</p> <div class='pre p1 fill-light mt0'>close()</div> </section> </div> </div> <div class='border-bottom' id='clientdeletename'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>deleteName(name, options)</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Same as <a href="#walletdeletename">wallet.deleteName</a>, but using this client's connected node as rpcServerAddr, followed by this client's rpcServerAddr if failed.</p> <div class='pre p1 fill-light mt0'>deleteName(name: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, options: <a href="#transactionoptions">TransactionOptions</a>): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;<a href="#txnorhash">TxnOrHash</a>></div> <div class='py1 quiet mt1 prose-big'>Parameters</div> <div class='prose'> <div class='space-bottom0'> <div> <span class='code bold'>name</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)</code> </div> </div> <div class='space-bottom0'> <div> <span class='code bold'>options</span> <code class='quiet'>(<a href="#transactionoptions">TransactionOptions</a> = <code>{}</code>)</code> </div> </div> </div> <div class='py1 quiet mt1 prose-big'>Returns</div> <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;<a href="#txnorhash">TxnOrHash</a>></code> </section> </div> </div> <div class='border-bottom' id='clientgetbalance'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>getBalance(address)</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Same as <a href="#walletgetbalance">Wallet.getBalance</a>, but using this client's connected node as rpcServerAddr, followed by this client's rpcServerAddr if failed.</p> <div class='pre p1 fill-light mt0'>getBalance(address: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;common.Amount></div> <div class='py1 quiet mt1 prose-big'>Parameters</div> <div class='prose'> <div class='space-bottom0'> <div> <span class='code bold'>address</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?)</code> </div> </div> </div> <div class='py1 quiet mt1 prose-big'>Returns</div> <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;common.Amount></code> </section> </div> </div> <div class='border-bottom' id='clientgetlatestblock'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>getLatestBlock()</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Same as <a href="#walletgetlatestblock">Wallet.getLatestBlock</a>, but using this client's connected node as rpcServerAddr, followed by this client's rpcServerAddr if failed.</p> <div class='pre p1 fill-light mt0'>getLatestBlock(): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;{height: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, hash: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>}></div> <div class='py1 quiet mt1 prose-big'>Returns</div> <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;{height: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, hash: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>}></code> </section> </div> </div> <div class='border-bottom' id='clientgetnonce'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>getNonce(address, options)</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Same as <a href="#walletgetnonce">Wallet.getNonce</a>, but using this client's connected node as rpcServerAddr, followed by this client's rpcServerAddr if failed.</p> <div class='pre p1 fill-light mt0'>getNonce(address: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?, options: {txPool: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>}): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>></div> <div class='py1 quiet mt1 prose-big'>Parameters</div> <div class='prose'> <div class='space-bottom0'> <div> <span class='code bold'>address</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?)</code> </div> </div> <div class='space-bottom0'> <div> <span class='code bold'>options</span> <code class='quiet'>({txPool: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>} = <code>{}</code>)</code> </div> </div> </div> <div class='py1 quiet mt1 prose-big'>Returns</div> <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>></code> </section> </div> </div> <div class='border-bottom' id='clientgetpublickey'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>getPublicKey()</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Get the public key of the client.</p> <div class='pre p1 fill-light mt0'>getPublicKey(): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></div> <div class='py1 quiet mt1 prose-big'>Returns</div> <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>: Public key as hex string. </section> </div> </div> <div class='border-bottom' id='clientgetregistrant'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>getRegistrant(name)</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Same as <a href="#walletgetregistrant">Wallet.getRegistrant</a>, but using this client's connected node as rpcServerAddr, followed by this client's rpcServerAddr if failed.</p> <div class='pre p1 fill-light mt0'>getRegistrant(name: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;{registrant: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, expiresAt: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>}></div> <div class='py1 quiet mt1 prose-big'>Parameters</div> <div class='prose'> <div class='space-bottom0'> <div> <span class='code bold'>name</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)</code> </div> </div> </div> <div class='py1 quiet mt1 prose-big'>Returns</div> <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a>&#x3C;{registrant: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, expiresAt: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>}></code> </section> </div> </div> <div class='border-bottom' id='clientgetseed'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>getSeed()</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <p>Get the secret seed of the client.</p> <div class='pre p1 fill-light mt0'>getSeed(): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></div> <div class='py1 quiet mt1 prose-big'>Returns</div> <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>: Secret seed as hex string. </section> </div> </div> <div class='border-bottom' id='clientgetsubscribers'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>getSubscribers(topic, options)</span> </div> </div>