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:

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