ripple-lib
    TypeScript icon, indicating that this package has built-in type declarations

    1.10.0 • Public • Published

    ripple-lib (RippleAPI)

    A JavaScript/TypeScript API for interacting with the XRP Ledger

    NPM

    This is the recommended library for integrating a JavaScript/TypeScript app with the XRP Ledger, especially if you intend to use advanced functionality such as IOUs, payment paths, the decentralized exchange, account settings, payment channels, escrows, multi-signing, and more.

    ➡️ Reference Documentation

    See the full reference documentation on the XRP Ledger Dev Portal.

    ➡️ Applications and Projects

    What is ripple-lib used for? The applications on the list linked above use ripple-lib. Open a PR to add your app or project to the list!

    Features

    • Connect to a rippled server from Node.js or a web browser
    • Helpers for creating requests and parsing responses for the rippled API
    • Listen to events on the XRP Ledger (transactions, ledger, validations, etc.)
    • Sign and submit transactions to the XRP Ledger
    • Type definitions for TypeScript

    Requirements

    • Node.js v14 is recommended. Other versions may work but are not frequently tested.
    • Yarn is recommended. npm may work but we use yarn.lock.

    Getting Started

    See also: RippleAPI Beginners Guide

    In an existing project (with package.json), install ripple-lib:

    $ yarn add ripple-lib
    

    Then see the documentation.

    Using ripple-lib with React Native

    If you want to use ripple-lib with React Native you will need to have some of the NodeJS modules available. To help with this you can use a module like rn-nodeify.

    1. Install dependencies (you can use npm as well):

      yarn add react-native-crypto
      yarn add ripple-lib 
      # install peer deps
      yarn add react-native-randombytes
      # install latest rn-nodeify
      yarn add rn-nodeify@latest --dev
    2. After that, run the following command:

      # install node core shims and recursively hack package.json files
      # in ./node_modules to add/update the "browser"/"react-native" field with relevant mappings
      ./node_modules/.bin/rn-nodeify --hack --install
    3. Enable crypto:

      rn-nodeify will create a shim.js file in the project root directory. Open it and uncomment the line that requires the crypto module:

      // If using the crypto shim, uncomment the following line to ensure
      // crypto is loaded first, so it can populate global.crypto
      require('crypto')
    4. Import shim in your project (it must be the first line):

    import './shim'
    ...

    Using ripple-lib with Deno

    Until official support for Deno is added, you can use the following work-around to use ripple-lib with Deno:

    import ripple from 'https://dev.jspm.io/npm:ripple-lib';
    
    (async () => {
      const api = new (ripple as any).RippleAPI({ server: 'wss://s.altnet.rippletest.net:51233' });
      const address = 'rH8NxV12EuV...khfJ5uw9kT';
    
      api.connect().then(() => {
        api.getBalances(address).then((balances: any) => {
          console.log(JSON.stringify(balances, null, 2));
        });
      });
    })();

    Documentation

    Mailing Lists

    We have a low-traffic mailing list for announcements of new ripple-lib releases. (About 1 email per week)

    If you're using the XRP Ledger in production, you should run a rippled server and subscribe to the ripple-server mailing list as well.

    Development

    To build the library for Node.js and the browser:

    $ yarn build
    

    The TypeScript compiler will output the resulting JS files in ./dist/npm/.

    webpack will output the resulting JS files in ./build/.

    For details, see the scripts in package.json.

    Running Tests

    Unit Tests

    1. Clone the repository
    2. cd into the repository and install dependencies with yarn install
    3. yarn test

    Linting

    Run yarn lint to lint the code with eslint.

    Generating Documentation

    Do not edit ./docs/index.md directly because it is a generated file.

    Instead, edit the appropriate .md.ejs files in ./docs/src/.

    If you make changes to the JSON schemas, fixtures, or documentation sources, update the documentation by running yarn run docgen.

    More Information

    Build Status

    Keywords

    none

    Install

    npm i ripple-lib

    DownloadsWeekly Downloads

    20,196

    Version

    1.10.0

    License

    ISC

    Unpacked Size

    4.98 MB

    Total Files

    620

    Last publish

    Collaborators

    • ahbritto
    • justmoon
    • geertweening
    • wilsonianb
    • shekenahglory
    • intelliot
    • hansbergren