## xrpl
Documentation for xrpl

# xrpl.js

A JavaScript/TypeScript library for interacting with the XRP Ledger

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 for all classes, methods, and utilities.

## Features

1. Managing keys & creating test credentials (`Wallet` && `Client.fundWallet()`)
2. Submitting transactions to the XRP Ledger (`Client.submit(...)` & transaction types)
3. Sending requests to observe the ledger (`Client.request(...)` using public API methods)
4. Subscribing to changes in the ledger (Ex. ledger, transactions, & more...)
5. Parsing ledger data into more convenient formats (`xrpToDrops` and `rippleTimeToISOTime`)

All of which works in Node.js (tested for v14+) & web browsers (tested for Chrome).

# Quickstart

### Requirements

- Node.js v16 is recommended. We also support v14, v18 and v20. Other versions may work but are not frequently tested.

### Installing xrpl.js

In an existing project (with package.json), install xrpl.js with:

    $ npm install --save xrpl

Or with `yarn`:

    $ yarn add xrpl

Example usage:

    const xrpl = require("xrpl");
    async function main() {
      const client = new xrpl.Client("wss://s.altnet.rippletest.net:51233");
      await client.connect();

      const response = await client.request({
        command: "account_info",
        account: "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
        ledger_index: "validated",
      });
      console.log(response);

      client.disconnect();
    }
    main();

For a more in-depth example, you can copy/forking this Code Sandbox template!
https://codesandbox.io/s/xrpl-intro-pxgdjr?file=/src/App.js

It goes through:

1. Creating a new test account
2. Sending a payment transaction
3. And sending requests to see your account balance!

### Case by Case Setup Steps

If you're using xrpl.js with React or Deno, you'll need to do a couple extra steps to set it up:

- Using xrpl.js with a CDN
- Using xrpl.js with `create-react-app`
- Using xrpl.js with `React Native`
- Using xrpl.js with `Vite React`
- Using xrpl.js with `Deno`

## Documentation

As you develop with xrpl.js, there's two sites you'll use extensively:

1. xrpl.org is the primary source for:
   - How the ledger works (See Concepts)
   - What kinds of transactions there are (Transaction Types)
   - Requests you can send (Public API Methods)
   - Tutorials for interacting with various features of the ledger (Tutorials)
2. js.xrpl.org has the reference docs for this library

### Mailing Lists

If you want to hear when we release new versions of xrpl.js, you can join our low-traffic mailing list (About 1 email per week):

- Subscribe to xrpl-announce

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.

- Subscribe to ripple-server

## Asking for help

One of the best spots to ask for help is in the XRPL Developer Discord - There's a channel for xrpl.js where other community members can help you figure out how to accomplish your goals.

You are also welcome to create an issue here and we'll do our best to respond within 3 days.

## Key Links

- xrpl.js Reference Docs
- xrpl.org (Detailed docs on how the XRPL works)
- XRPL Code Samples
- #javascript in the XRPL Developer Discord for questions & support
- xrpl-announce (The mailing list for new xrpl.js versions)
- Applications that use xrpl.js (You can open a PR to add your project!)

Generated using TypeDoc