UNPKG

raiden-ts

Version:

Raiden Light Client Typescript/Javascript SDK

195 lines (194 loc) 9.25 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Installing the SDK | raiden-ts - v3.1.1</title> <meta name="description" content="Documentation for raiden-ts - v3.1.1"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../../assets/css/main.css"> <link rel="stylesheet" href="../../assets/css/pages.css"> <script async src="../../assets/js/search.js" id="search-script"></script> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../../assets/js/search.json" data-base="../.."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </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">raiden-ts - v3.1.1</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <ul class="tsd-breadcrumb"> <li> <a href="../../modules.html">raiden-ts - v3.1.1</a> </li> <li> <a href="prerequisites.html">Get Started</a> </li> <li> <a href="installing-sdk.html">Installing the SDK</a> </li> </ul> <h1>Installing the SDK</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <div class="tsd-panel tsd-typography"> <a href="#install-and-import-the-sdk" id="install-and-import-the-sdk" style="color: inherit; text-decoration: none;"> <h1>Install and Import the SDK</h1> </a> <p>You can install the Raiden SDK as a node module by running:</p> <pre><code class="language-bash"><span style="color: #000000">npm install raiden-ts</span> </code></pre> <p>After installing the SDK you can simply import Raiden to your JavaScript or TypeScript project.</p> <pre><code class="language-typescript"><span style="color: #AF00DB">import</span><span style="color: #000000"> { </span><span style="color: #001080">Raiden</span><span style="color: #000000"> } </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;raiden-ts&#039;</span><span style="color: #000000">;</span> <span style="color: #008000">// async factory</span> <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">raiden</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">Raiden</span><span style="color: #000000">.</span><span style="color: #795E26">create</span><span style="color: #000000">(</span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #001080">ethereum</span><span style="color: #000000">, </span><span style="color: #098658">0</span><span style="color: #000000">);</span> </code></pre> <p>The async factory is required since a lot of the initialization code is asynchronous. You can always create the instances and fill the constructor parameters yourself, just be aware to persist and rehydrate the state and constants correctly. You should also call <code>raiden.start()</code> after creation in order to effectively start the instance.</p> <p>When done you can call <code>raiden.stop()</code> to trigger for all observables to complete and for the streams to be unsubscribed. This is not required however since state changes are atomic (non-async) and Raiden can be rehydrated from any intermediary state.</p> <p>If you happen to finish before an asynchronous operation was completed you might need to re-send it. For example if you call <code>raiden.closeChannel</code> and your app exits before the transaction was sent and the promise resolved. In such case your channel will be left in the <code>closing</code> state and you might need to call <code>closeChannel</code> again to actually send the transaction and wait until it is mined and your channel actually gets closed.</p> <p>Most of the methods in the public API for your <code>raiden</code> instance return <code>Promise</code>s and allow you to async/await on them. The output comes either from the resolved value or public <code>Observable</code>s.</p> </div> </div> <div class="col-4 col-menu menu-sticky-wrap menu-highlight"> <nav class="tsd-navigation primary"> <ul> <li class="label pp-nav pp-group"> <span>Get <wbr>Started</span> </li> <li class=" pp-nav pp-page"> <a href="prerequisites.html">Prerequisites</a> </li> <li class="current pp-nav pp-page"> <a href="installing-sdk.html">Installing the SDK</a> </li> <li class=" pp-nav pp-page"> <a href="installing-dapp.html">Installing the d<wbr>App</a> </li> <li class=" pp-nav pp-page"> <a href="connecting.html">Connecting</a> </li> <li class=" pp-nav pp-page"> <a href="private-chain.html">Private chains</a> </li> <li class="label pp-nav pp-group"> <span>Usage</span> </li> <li class=" pp-nav pp-page"> <a href="../Usage/opening-channel.html">Opening a channel</a> </li> <li class=" pp-nav pp-page"> <a href="../Usage/funding-channel.html">Funding a channel</a> </li> <li class=" pp-nav pp-page"> <a href="../Usage/direct-transfer.html">Transferring</a> </li> <li class=" pp-nav pp-page"> <a href="../Usage/closing-channel.html">Closing a channel</a> </li> <li class=" pp-nav pp-page"> <a href="../Usage/settling-channel.html">Settling a channel</a> </li> <li class="label pp-nav pp-group"> <span>Using the <wbr>Raiden d<wbr>App</span> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden dApp/using-dapp.html">Overview</a> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden dApp/navigate-dapp.html">Navigate the <wbr>Raiden d<wbr>App</a> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden dApp/hub-selection-channel-opening.html">Hub <wbr>Selection and <wbr>Channel <wbr>Opening</a> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden dApp/transfers.html">Transfers</a> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden dApp/channels.html">Channels</a> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden dApp/account.html">Accounts</a> </li> <li class="label pp-nav pp-group"> <span>Using the <wbr>Raiden CLI</span> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden CLI/README.html">Overview</a> </li> <li class=" pp-nav pp-page"> <a href="../Using the Raiden CLI/raspberrypi.html">Running raiden-<wbr>cli on the raspberry pi</a> </li> <li class="label pp-nav pp-group"> <span>API</span> </li> <li class=" "> <a href="../../modules.html">Exports</a> </li> </ul> </nav> <nav class="tsd-navigation secondary menu-sticky"> <ul class="before-current"> </ul> </nav> </div> </div> </div> <footer class="with-border-bottom"> <div class="container"> <h2>Legend</h2> <div class="tsd-legend-group"> <ul class="tsd-legend"> <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li> <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li> <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li> </ul> <ul class="tsd-legend"> <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li> <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li> </ul> </div> </div> </footer> <div class="container tsd-generator"> <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p> </div> <div class="overlay"></div> <script src="../../assets/js/main.js"></script> </body> </html>