# ripple-lib

> Deprecated - consider migrating to xrpl.js: https://xrpl.org/xrpljs2-migration-guide.html

Latest version **1.10.1** (published 2022-05-31) · ISC license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install ripple-lib
pnpm add ripple-lib
yarn add ripple-lib
bun add ripple-lib
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.10.1 |
| Published | 2022-05-31 |
| First published | 2013-02-01 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=10.13.0 |
| Dependencies | 11 |
| Unpacked size | 4.7 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1327 |
| Maintainers | ahbritto, justmoon, geertweening, wilsonianb, shekenahglory, intelliot, hansbergren |

## Links

- npm: https://www.npmjs.com/package/ripple-lib
- Repository: https://github.com/XRPLF/xrpl.js
- Homepage: https://github.com/XRPLF/xrpl.js#readme
- Issues: https://github.com/XRPLF/xrpl.js/issues
- npm.io page: https://npm.io/package/ripple-lib

## Dependencies (11)

- [ws](https://npm.io/package/ws.md) ^7.2.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.4
- [@types/ws](https://npm.io/package/@types/ws.md) ^7.2.0
- [jsonschema](https://npm.io/package/jsonschema.md) 1.2.2
- [bignumber.js](https://npm.io/package/bignumber.js.md) ^9.0.0
- [@types/lodash](https://npm.io/package/@types/lodash.md) ^4.14.136
- [ripple-keypairs](https://npm.io/package/ripple-keypairs.md) ^1.0.3
- [https-proxy-agent](https://npm.io/package/https-proxy-agent.md) ^5.0.0
- [ripple-binary-codec](https://npm.io/package/ripple-binary-codec.md) ^1.1.3
- [ripple-address-codec](https://npm.io/package/ripple-address-codec.md) ^4.1.1
- [ripple-lib-transactionparser](https://npm.io/package/ripple-lib-transactionparser.md) 0.8.2

## Recent versions

- 1.10.1 (latest) — 2022-05-31
- 1.9.8-storm.4 (storm) — 2021-12-01
- 1.9.3-beta.0 (beta) — 2021-03-16
- 1.9.8-storm.3 — 2021-12-01
- 1.9.8-storm.2 — 2021-12-01
- 1.9.8-storm.1 — 2021-12-01
- 1.9.8-storm.0 — 2021-12-01
- 1.10.0 — 2021-08-17
- 1.9.8 — 2021-07-30
- 1.9.7 — 2021-07-15
- 1.9.6 — 2021-07-01
- 1.9.5 — 2021-06-01
- 1.9.4 — 2021-04-19
- 1.9.3 — 2021-03-17
- 1.9.2 — 2021-03-13
- … 203 more at https://npm.io/package/ripple-lib/versions

## README

## Deprecated

This library (ripple-lib 1.x) has been deprecated in favor of [xrpl.js version 2+](https://github.com/XRPLF/xrpl.js).

# ripple-lib (RippleAPI)

A JavaScript/TypeScript API for interacting with the XRP Ledger

[![NPM](https://nodei.co/npm/ripple-lib.png)](https://www.npmjs.org/package/ripple-lib)

This library is for integrating a JavaScript/TypeScript app with the XRP Ledger and supports functionality such as IOUs, payment paths, the decentralized exchange, account settings, payment channels, escrows, multi-signing, and more.

## [➡️ Reference Documentation](https://github.com/XRPLF/xrpl.js/blob/1.x/docs/index.md)

Use the above link to view the full reference documentation.

### Features

+ Connect to a `rippled` server from Node.js or a web browser
+ Helpers for creating requests and parsing responses for the [rippled API](https://developers.ripple.com/rippled-api.html)
+ 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](https://nodejs.org/)** is recommended. Other versions may work but are not frequently tested.
+ **[Yarn](https://yarnpkg.com/)** is recommended. `npm` may work but we use `yarn.lock`.

## Getting Started

See also: [RippleAPI Beginners Guide](https://xrpl.org/get-started-with-rippleapi-for-javascript.html)

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

Then see the [documentation](#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](https://github.com/tradle/rn-nodeify).

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

    ```shell
    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:

    ```shell
    # 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:

    ```javascript
    // 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):

  ```javascript
  import './shim'
  ...
  ```

### Using ripple-lib with Deno

Until official support for [Deno](https://deno.land) is added, you can use the following work-around to use `ripple-lib` with Deno:

```javascript
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

+ [RippleAPI Beginners Guide](https://xrpl.org/get-started-with-rippleapi-for-javascript.html)
+ [RippleAPI Full Reference Documentation](https://xrpl.org/rippleapi-reference.html) ([in this repo](https://github.com/ripple/ripple-lib/blob/develop/docs/index.md))
+ [Code Samples](https://github.com/ripple/ripple-lib/tree/develop/docs/samples)
+ [XRP Ledger Dev Portal](https://xrpl.org/)

### Mailing Lists

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

+ [Subscribe to xrpl-announce](https://groups.google.com/g/xrpl-announce)

If you're using the XRP Ledger in production, you should run a [rippled server](https://github.com/ripple/rippled) and subscribe to the ripple-server mailing list as well.

+ [Subscribe to ripple-server](https://groups.google.com/forum/#!forum/ripple-server)

## Development

To build the library for Node.js and the browser:
```
$ yarn build
```

The TypeScript compiler will [output](./tsconfig.json#L7) 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`.

---
_Source: https://npm.io/package/ripple-lib · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
