UNPKG

@fioprotocol/fiosdk

Version:

The Foundation for Interwallet Operability (FIO) is a consortium of leading blockchain wallets, exchanges and payments providers that seeks to accelerate blockchain adoption by reducing the risk, complexity, and inconvenience of sending and receiving cryp

191 lines (176 loc) 25.7 kB
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@fioprotocol/fiosdk</title><meta name="description" content="Documentation for @fioprotocol/fiosdk"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><link rel="stylesheet" href="assets/typedoc-github-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@fioprotocol/fiosdk</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h2>@fioprotocol/fiosdk</h2></div><div class="tsd-panel tsd-typography"><a id="md:fio-typescript-sdk" class="tsd-anchor"></a><h1 class="tsd-anchor-link">FIO TypeScript SDK<a href="#md:fio-typescript-sdk" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>The Foundation for Interwallet Operability (FIO) is a consortium of leading blockchain wallets, exchanges and payments providers that seeks to accelerate blockchain adoption by reducing the risk, complexity, and inconvenience of sending and receiving cryptoassets.</p> <p>For information on FIO, visit the <a href="https://fio.foundation">FIO website</a>.</p> <p>For information on the FIO Chain, API, and SDKs visit the <a href="https://developers.fioprotocol.io">FIO Protocol Developer Hub</a>.</p> <a id="md:technology" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Technology<a href="#md:technology" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>The FIO TypeScript SDK is built using tsc, to generate the JavaScript files.</p> <a id="md:version" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Version<a href="#md:version" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>Visit the <a href="https://developers.fioprotocol.io">FIO Protocol Developer Hub</a> to get information on FIO SDK versions. Only use an SDK that has a major version number that matches the current FIO Protocol blockchain major version number (e.g. 1.x.x).</p> <a id="md:installing-fio-typescript-sdk" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Installing FIO TypeScript SDK<a href="#md:installing-fio-typescript-sdk" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>The NPM Version is here:</p> <pre><code>@fioprotocol/fiosdk </code></pre> <a id="md:building-fio-typescript-sdk-manually" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Building FIO TypeScript SDK, manually<a href="#md:building-fio-typescript-sdk-manually" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>required tsc version 4.7.2 git clone <a href="http://github.com/fioprotocol/fiosdk_typescript">http://github.com/fioprotocol/fiosdk_typescript</a> --recursive cd fiosdk_typescript install typescript@4.7.2 -g npm install tsc (verify on the github that your generated .js matches what is presently in the github repository)</p> <p>Using yarn</p> <p>Navigate to the &quot;fiosdk_typescript&quot; folder, run yarn to install its dependencies, then run tsc to compile. Before running the test refer to the &quot;Workflow for using the SDK with TestNet&quot; section of this README.</p> <pre><code>cd fiosdk_typescript yarn tsc npm test (if you would like to run the unit tests) </code></pre> <a id="md:errors-with-compiling-the-sdks" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Errors with compiling the SDKs<a href="#md:errors-with-compiling-the-sdks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><a id="md:unable-to-find-tsc" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Unable to find tsc<a href="#md:unable-to-find-tsc" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3><p>Make sure to install typescript by running, this command in terminal:</p> <pre><code>sudo npm install -g typescript </code></pre> <a id="md:publishing-to-node-package-manager-npm-registry" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Publishing to Node Package Manager (npm) Registry<a href="#md:publishing-to-node-package-manager-npm-registry" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>To publish to npm registry.</p> <ol> <li> <p>Update the version number, for this release. In 'package.json'</p> </li> <li> <p>If the fioJS library was updated in npm. Also update the fioJS version number. In 'package.json'</p> </li> <li> <p>Publish to npm:</p> <pre><code> cd fiosdk_typescript yarn tsc npm test npm publish --access public (If you have enabled 2FA for authorization and publishing using an authenticator app, you will be asked to enter the 6 digit 2FA OTP during publish.) </code></pre> </li> </ol> <p>Further details: <a href="http://npmjs.com/">http://npmjs.com/</a> <a href="https://docs.npmjs.com/creating-and-publishing-scoped-public-packages">https://docs.npmjs.com/creating-and-publishing-scoped-public-packages</a></p> <a id="md:generating-documentation" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Generating Documentation<a href="#md:generating-documentation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>TypeDoc is installed as a dev dependency. Documentation is pre-generated and included with the source code. To manually generate the documentation run:</p> <pre><code>cd fiosdk_typescript ./build_docs.sh </code></pre> <p>The documentation will appear in the folder &quot;documentation&quot; in the root of the project.</p> <a id="md:issues-installing-typedoc" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Issues Installing TypeDoc?<a href="#md:issues-installing-typedoc" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>If typedoc command is not found, install typedoc using the npm global command:</p> <pre><code>npm install --global typedoc </code></pre> <a id="md:using-the-sdk" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Using the SDK<a href="#md:using-the-sdk" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>The SDK uses a singleton model requiring initialization in the constructor as these parameters are referenced in subsequent SDK Calls.</p> <a id="md:base-url-for-testnet" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Base URL for TestNet<a href="#md:base-url-for-testnet" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code>http://testnet.fioprotocol.io/v1/ </code></pre> <a id="md:testnet-monitor-tool" class="tsd-anchor"></a><h2 class="tsd-anchor-link">TestNet Monitor Tool<a href="#md:testnet-monitor-tool" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code>https://monitor.testnet.fioprotocol.io/ </code></pre> <a id="md:initializing-the-sdk" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Initializing the SDK<a href="#md:initializing-the-sdk" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code>fetch = require('node-fetch') const fetchJson = async (uri, opts = {}) =&gt; { return fetch(uri, opts) } privateKey/publicKey - the wallet user's private/public keys baseURL - the base URL to the FIO Protocol blockchain API (e.g., http://testnet.fioprotocol.io/v1/) fetchjson - a reference to fetchJson - this is the module to use for http post/get calls (see above for an example) registerMockUrl - the URL of the server used to auto-register FIO names for wallet users. This is only used by wallets that have deployed a central server used to register names on their domain. It is used by the registerOnBehalfOfUser method constructor( privateKey: string, publicKey: string, baseUrl: string, fetchjson: fetchJson, registerMockUrl = '', ) </code></pre> <a id="md:example-usage-in-javascript" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Example Usage in JavaScript<a href="#md:example-usage-in-javascript" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code>const fio = require('@fioprotocol/fiosdk'); this.fioSDK = new fio.FIOSDK(privateFioKey, publicFioKey, 'http://testnet.fioprotocol.io/v1/', this.fetchJson, '') </code></pre> <a id="md:workflow-for-using-the-sdk-with-testnet" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Workflow for using the SDK with TestNet<a href="#md:workflow-for-using-the-sdk-with-testnet" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Most Signed API calls charge fees and require a FIO address that is associated with the user making the call.</p> <a id="md:creating-a-test-account-with-fio-tokens" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Creating a test account with FIO tokens<a href="#md:creating-a-test-account-with-fio-tokens" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>When running a test you will want to register addresses and transfer funds. But, registering a new address for the first time requires FIO tokens. Therefore, some manual setup is required to associate FIO tokens with a FIO public key. To set up a FIO public key with FIO tokents in a test environment:</p> <ol> <li>Manually create two private/public FIO key pairs <ol> <li>Navigate to the website: <a href="https://monitor.testnet.fioprotocol.io">https://monitor.testnet.fioprotocol.io</a></li> <li>Select the 'Create Keypair' button (top left of the website)</li> <li>Copy the keypairs and FIO Internal Account</li> </ol> </li> <li>Manually register a FIO address for both of these FIO key pairs. <ol> <li>Navigate to the website: <a href="https://monitor.testnet.fioprotocol.io">https://monitor.testnet.fioprotocol.io</a></li> <li>Select the 'Register Address' button</li> <li>Type in a FIO address</li> <li>Paste in one of the public keys (created above)</li> <li>Select the 'Create' button</li> <li>Do this for each public key pair (twice). The created FIO address will be in this format, &quot;mytest:fiotestnet&quot;</li> </ol> </li> <li>Manually transfer funds into these FIO addresses. <ol> <li>Navigate to the website: <a href="https://monitor.testnet.fioprotocol.io">https://monitor.testnet.fioprotocol.io</a></li> <li>Select the 'Faucet' button</li> <li>Paste in one of the public keys (created above)</li> <li>Select the 'Send Coins' button</li> <li>Do this for each public key pair (twice)</li> </ol> </li> <li>These FIO public addresses now have funds available for making Signed API calls.</li> <li>Edit the test script to add these FIO addresses and the private/public FIO key pairs <ol> <li>Edit the privateKey, publicKey, privateKey2, publicKey2, testFioAddressName, testFioAddressName2 variables in the testnet.spec file (/fiofoundation-io-fiosdk/tests/testnet.spec)</li> </ol> </li> <li>Run the tests: npm test</li> </ol> <a id="md:when-calling-a-signed-api-call-that-charges-fees" class="tsd-anchor"></a><h2 class="tsd-anchor-link">When calling a Signed API call that charges FEES,<a href="#md:when-calling-a-signed-api-call-that-charges-fees" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Use the following steps to determine the fee and pass it to the signed call.</p> <pre><code>1. Call getFee to get the fee for the Signed API call 2. Call the API Signed call with the fee </code></pre> <a id="md:example-code" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Example Code<a href="#md:example-code" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code>Example code is located here: \examples For an example of how to generate keys using the SDK, see the sample project here: \examples \GenerateFioKeys For an example on how to instantiate the SDK, and register a fio address. See the sample project here: \examples \RegisterFioAddress </code></pre> <a id="md:fio-public-keys" class="tsd-anchor"></a><h1 class="tsd-anchor-link">FIO Public Keys<a href="#md:fio-public-keys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p>The SDK provides calls to generate FIO Public Key.</p> <a id="md:generating-fio-keys" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Generating FIO Keys<a href="#md:generating-fio-keys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Private key generation in the SDK is available for testing purposes only. Do not generate private keys for production application using these methods. Instead pass securely generated private keys or seed phrase to the SDK constructor. The user's FIO private/public key can be generated by calling these methods on the sdk:</p> <pre><code>createPrivateKeyMnemonic OR createPrivateKey AND derivedPublicKey </code></pre> <a id="md:example-usage" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Example Usage<a href="#md:example-usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code>For an example of how to generate keys using the SDK, see the sample project here: \examples \GenerateFioKeys </code></pre> <a id="md:example-key-generation-code" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Example Key Generation Code<a href="#md:example-key-generation-code" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><pre><code>using npm, create a javascript file ('index.js), and run &quot;node index.js&quot; i.e. JavaScript code ('index.js): const fio = require('@fioprotocol/fiosdk'); const mnemonic = 'valley alien library bread worry brother bundle hammer loyal barely dune brave' async function genKeysFromMnemonic () { console.log(&quot;&quot;) console.log(&quot;From This Mnemonic:&quot;) console.log(mnemonic) console.log(&quot;&quot;) // Private key generation in the SDK is available for testing purposes only. Do not generate private keys for production application using these methods. Instead pass securely generated private keys or seed phrase to the SDK constructor. const privateKeyRes = await fio.FIOSDK.createPrivateKeyMnemonic(mnemonic) console.log(&quot;private key generated:&quot;) console.log((privateKeyRes.fioKey)) console.log(&quot;&quot;) const publicKeyRes = fio.FIOSDK.derivedPublicKey(privateKeyRes.fioKey) console.log(&quot;public key generated&quot;) console.log((publicKeyRes.publicKey)) console.log(&quot;&quot;) } genKeysFromMnemonic() </code></pre> <a id="md:manually-creating-keys-without-using-the-fio-typescript-sdk" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Manually Creating Keys without using the FIO Typescript SDK?<a href="#md:manually-creating-keys-without-using-the-fio-typescript-sdk" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>The following information can be used to manually generate FIO keys:</p> <p>FIO Keys use SLIP-235 for BIP-0044. <a href="https://github.com/satoshilabs/slips/blob/master/slip-0044.md">https://github.com/satoshilabs/slips/blob/master/slip-0044.md</a></p> <p>Following the EOS example of private and public key generation. We replace EOS slip '194' with '235'. And 'EOS' public key prefix with 'FIO'. <a href="https://eosio.stackexchange.com/questions/397/generate-eos-keys-from-mnemonic-seed">https://eosio.stackexchange.com/questions/397/generate-eos-keys-from-mnemonic-seed</a></p> <a id="md:fio-key-derivation-path" class="tsd-anchor"></a><h2 class="tsd-anchor-link">FIO Key Derivation Path:<a href="#md:fio-key-derivation-path" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>&quot;44'/235'/0'/0/0&quot;</p> <a id="md:fio-key-generation-testing" class="tsd-anchor"></a><h2 class="tsd-anchor-link">FIO Key Generation Testing<a href="#md:fio-key-generation-testing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Using this mnemonic phrase: &quot;valley alien library bread worry brother bundle hammer loyal barely dune brave&quot;</p> <p>This is the expected Private Key: &quot;5Kbb37EAqQgZ9vWUHoPiC2uXYhyGSFNbL6oiDp24Ea1ADxV1qnu&quot;</p> <p>This is the expected Public Key: &quot;FIO5kJKNHwctcfUM5XZyiWSqSTM5HTzznJP9F3ZdbhaQAHEVq575o&quot;</p> <a id="md:versions" class="tsd-anchor"></a><h1 class="tsd-anchor-link">Versions<a href="#md:versions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><a id="md:check-for-release-versions-and-details-here" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Check for release versions and details here:<a href="#md:check-for-release-versions-and-details-here" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p><a href="https://github.com/fioprotocol/fiosdk_typescript/releases">https://github.com/fioprotocol/fiosdk_typescript/releases</a></p> </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:fio-typescript-sdk"><span>FIO <wbr/>Type<wbr/>Script SDK</span></a><a href="#md:technology"><span>Technology</span></a><a href="#md:version"><span>Version</span></a><a href="#md:installing-fio-typescript-sdk"><span>Installing FIO <wbr/>Type<wbr/>Script SDK</span></a><a href="#md:building-fio-typescript-sdk-manually"><span>Building FIO <wbr/>Type<wbr/>Script SDK, manually</span></a><ul><li><a href="#md:errors-with-compiling-the-sdks"><span>Errors with compiling the SDKs</span></a></li><li><ul><li><a href="#md:unable-to-find-tsc"><span>Unable to find tsc</span></a></li></ul></li></ul><a href="#md:publishing-to-node-package-manager-npm-registry"><span>Publishing to <wbr/>Node <wbr/>Package <wbr/>Manager (npm) <wbr/>Registry</span></a><a href="#md:generating-documentation"><span>Generating <wbr/>Documentation</span></a><ul><li><a href="#md:issues-installing-typedoc"><span>Issues <wbr/>Installing <wbr/>Type<wbr/>Doc?</span></a></li></ul><a href="#md:using-the-sdk"><span>Using the SDK</span></a><ul><li><a href="#md:base-url-for-testnet"><span>Base URL for <wbr/>Test<wbr/>Net</span></a></li><li><a href="#md:testnet-monitor-tool"><span>Test<wbr/>Net <wbr/>Monitor <wbr/>Tool</span></a></li><li><a href="#md:initializing-the-sdk"><span>Initializing the SDK</span></a></li><li><a href="#md:example-usage-in-javascript"><span>Example <wbr/>Usage in <wbr/>Java<wbr/>Script</span></a></li><li><a href="#md:workflow-for-using-the-sdk-with-testnet"><span>Workflow for using the SDK with <wbr/>Test<wbr/>Net</span></a></li><li><a href="#md:creating-a-test-account-with-fio-tokens"><span>Creating a test account with FIO tokens</span></a></li><li><a href="#md:when-calling-a-signed-api-call-that-charges-fees"><span>When calling a <wbr/>Signed API call that charges FEES,</span></a></li><li><a href="#md:example-code"><span>Example <wbr/>Code</span></a></li></ul><a href="#md:fio-public-keys"><span>FIO <wbr/>Public <wbr/>Keys</span></a><ul><li><a href="#md:generating-fio-keys"><span>Generating FIO <wbr/>Keys</span></a></li><li><a href="#md:example-usage"><span>Example <wbr/>Usage</span></a></li><li><a href="#md:example-key-generation-code"><span>Example <wbr/>Key <wbr/>Generation <wbr/>Code</span></a></li><li><a href="#md:manually-creating-keys-without-using-the-fio-typescript-sdk"><span>Manually <wbr/>Creating <wbr/>Keys without using the FIO <wbr/>Typescript SDK?</span></a></li><li><a href="#md:fio-key-derivation-path"><span>FIO <wbr/>Key <wbr/>Derivation <wbr/>Path:</span></a></li><li><a href="#md:fio-key-generation-testing"><span>FIO <wbr/>Key <wbr/>Generation <wbr/>Testing</span></a></li></ul><a href="#md:versions"><span>Versions</span></a><ul><li><a href="#md:check-for-release-versions-and-details-here"><span>Check for release versions and details here:</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>@fioprotocol/fiosdk</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a> with <a href="https://github.com/KillerJulian/typedoc-github-theme" target="_blank">typedoc-github-theme</a></p></footer><div class="overlay"></div></body></html>