Bumps [prettier](https://github.com/prettier/prettier) from 2.3.0 to 2.3.2. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.3.0...2.3.2) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ripple-lib (RippleAPI)
A JavaScript/TypeScript API 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 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
rippledserver 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.
npmmay work but we useyarn.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.
-
Install dependencies (you can use
npmas 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 -
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 -
Enable
crypto:rn-nodeifywill create ashim.jsfile 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') -
Import
shimin 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
- Clone the repository
cdinto the repository and install dependencies withyarn installyarn 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
- ripple-lib-announce mailing list - subscribe for release announcements
- RippleAPI Reference - XRP Ledger Dev Portal
- XRP Ledger Dev Portal
