mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-12-02 01:55:48 +00:00
clean up docs
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- 10
|
||||
- 12
|
||||
- 13
|
||||
script:
|
||||
- npm test
|
||||
- npm build
|
||||
- npm lint
|
||||
@@ -1,163 +0,0 @@
|
||||
# Applications using xrpl.js
|
||||
|
||||
A curated list of some of the projects and apps that leverage `xrpl.js` in some way.
|
||||
|
||||
**Have one to add?** Please edit this file and open a PR!
|
||||
|
||||
## Notice (disclaimer)
|
||||
|
||||
These sites are independent of Ripple and have not been authorized, endorsed, sponsored or otherwise approved by Ripple or its affiliates.
|
||||
|
||||
Warning: Use at your own risk.
|
||||
|
||||
## Exchanges
|
||||
|
||||
- **[The World Exchange](https://www.theworldexchange.net/)**
|
||||
|
||||
Trade, issue, and send directly on the XRP Ledger. A user interface for the XRPL's decentralized exchange.
|
||||
|
||||
- **[Bitso](https://bitso.com/)**
|
||||
|
||||
Exchange allowing clients to buy and sell XRP, based in Mexico.
|
||||
|
||||
## Explorers
|
||||
|
||||
- **[xrpintel - XRP Intelligence](https://xrpintel.com/)**
|
||||
|
||||
Monitor the XRP Network in real time and explore historical statistics.
|
||||
|
||||
- **[XRP Charts](https://xrpcharts.ripple.com/)** (xrpcharts.ripple.com)
|
||||
|
||||
XRP Charts provides information based on public data, including trade volume, top markets, metrics, transactions, and more.
|
||||
|
||||
- **[Ripple Live](https://gatehub.net/live)** (gatehub.net/live)
|
||||
|
||||
Visualize XRP network transactions.
|
||||
|
||||
- **[XRPL Dev. Dashboard](https://xrp.fans/)** (xrp.fans)
|
||||
|
||||
Debugging dashboard for `rippled-ws-client-pool`, transaction and query explorer, and transaction signing and submission tool.
|
||||
|
||||
- **[XRP Value](http://xrpvalue.com/)**
|
||||
|
||||
Real-time XRP price, trades, and orderbook data from the XRP Ledger.
|
||||
|
||||
- **[Bithomp - XRP Explorer](https://bithomp.com/explorer/)**
|
||||
|
||||
Look up information by entering an address, transaction hash, username, or PayID.
|
||||
|
||||
- **[Bithomp - XRPL validators](https://bithomp.com/validators)**
|
||||
|
||||
List of XRPL validators, nodes, and testnet validators.
|
||||
|
||||
- **[XRP Scan - XRP Ledger explorer](https://xrpscan.com)**
|
||||
|
||||
XRP Ledger explorer, metrics and analytics.
|
||||
|
||||
- **[xrplorer](https://xrplorer.com)**
|
||||
|
||||
XRP Ledger explorer, API, metrics, and analytics using a graph database that is synchronized live with the XRPL.
|
||||
|
||||
## Data monitoring
|
||||
|
||||
- **[zerptracker](https://zerptracker.com)**
|
||||
|
||||
Monitor the XRPL using powerful JSONPath expressions, and receive notifications via email, SMS, webhooks, and more.
|
||||
|
||||
- **[Utility-Scan](https://utility-scan.com)**
|
||||
|
||||
Attempts to detect RippleNet on-demand liquidity (ODL) transactions through known fiat corridors and report these transactions in real time.
|
||||
|
||||
- **[XRPL Rosetta](https://xrpl-rosetta-oepox.ondigitalocean.app)**
|
||||
|
||||
3D Globe written in three.js connected to a Node.js websocket server that is listening to exchanges and the XRPL. The visualization aims to show trading, ODL, and liquidity at exchanges, intra-exchange volume, and flows.
|
||||
|
||||
## Wallets and wallet tools
|
||||
|
||||
- **[XUMM](https://xumm.app/)**
|
||||
|
||||
Users can use the xumm application to track their accounts, balances and transactions. The true power of xumm is the platform available for developers.
|
||||
|
||||
- **[Xpring Wallet](https://xpring.io)** (uses `ripple-keypairs`)
|
||||
|
||||
Non-custodial XRP wallet.
|
||||
|
||||
- **[XRP Toolkit](https://www.xrptoolkit.com)**
|
||||
|
||||
A web interface to the XRP Ledger, supporting both hardware and software wallets.
|
||||
|
||||
- **[Toast Wallet](https://toastwallet.com/)**
|
||||
|
||||
A free, open source XRP Wallet for iOS, Android, Windows, Mac and Linux.
|
||||
|
||||
- **[Toastify Ledger](https://github.com/WietseWind/toastify-ledger)** (uses `ripple-keypairs`)
|
||||
|
||||
Add a Regular Key to a mnemonic XRP Wallet (e.g. Ledger Nano S) to use the account with a Family Seed (secret).
|
||||
|
||||
- **[Bithomp-submit](https://github.com/Bithomp/bithomp-submit)** (GitHub)
|
||||
|
||||
A tool to submit an offline-signed XRPL transaction.
|
||||
|
||||
- **[Kyte](https://kyteapp.co/)** (kyteapp.co) ([Source](https://github.com/WietseWind/Zerp-Wallet)) (Deprecated)
|
||||
|
||||
Web-based XRP wallet.
|
||||
|
||||
- **[XRP Vanity Address Generator](https://github.com/WietseWind/xrp-vanity-generator)** (Node.js)
|
||||
|
||||
A vanity address is a wallet address containing a few characters you like at the beginning or the end of the wallet address.
|
||||
|
||||
- **[XRP Account Mnemonic Recovery](https://github.com/WietseWind/xrp-mnemonic-recovery)** (uses `ripple-keypairs`)
|
||||
|
||||
Recover a 24 word mnemonic if one word is wrong or one word is missing.
|
||||
|
||||
## Send and request payments
|
||||
|
||||
- **[XRP Tip Bot](https://www.xrptipbot.com/)**
|
||||
|
||||
A bot that enables users on reddit, Twitter and Discord to send XRP to each other through reddit comments and Twitter tweets.
|
||||
|
||||
- **[XRP Text](https://xrptext.com/)**
|
||||
|
||||
Send XRP using SMS text messages.
|
||||
|
||||
- **[XRParrot](https://xrparrot.com/)** (uses `ripple-address-codec`)
|
||||
|
||||
Easy EUR (SEPA) to XRP transfer (currency conversion).
|
||||
|
||||
- **[XRP Payment](https://xrpayments.co/)** (xrpayments.co)
|
||||
|
||||
Tool for generating a XRP payment request URI in a QR code, with currency converter.
|
||||
|
||||
## Development tools
|
||||
|
||||
- **[XRP Faucets for Testnet and Devnet](https://xrpl.org/xrp-testnet-faucet.html)**
|
||||
|
||||
Get some test funds for development on the test network. The faucet uses `xrpl.js`.
|
||||
|
||||
## Code samples and libraries
|
||||
|
||||
- **[ilp-plugin-xrp-paychan](https://github.com/interledgerjs/ilp-plugin-xrp-paychan)**
|
||||
|
||||
Send ILP payments using XRP and payment channels (PayChan).
|
||||
|
||||
- **[RunKit: WietseWind](https://runkit.com/wietsewind/)**
|
||||
|
||||
XRP Ledger code samples for Node.js.
|
||||
|
||||
- **[GitHub Gist: WietseWind](https://gist.github.com/WietseWind)**
|
||||
|
||||
XRP Ledger code samples for Node.js and the web (mostly).
|
||||
|
||||
- **[rippled-ws-client-sign](https://github.com/WietseWind/rippled-ws-client-sign)**
|
||||
|
||||
Sign transactions, with support for MultiSign.
|
||||
|
||||
- **[ILP-enabled power switch](https://xrpcommunity.blog/raspberry-pi-interledger-xp-powerswitch-howto/)** ([video](https://www.youtube.com/watch?v=c-eS0HQUuJg)) (uses [`moneyd-uplink-xrp`](https://github.com/interledgerjs/moneyd-uplink-xrp))
|
||||
|
||||
For about $30 in parts (Raspberry Pi, 3.3V Relay board and a few wires) you can build your own power switch that will switch on if a streaming ILP payment comes in. When the payment stream stops, the power turns off.
|
||||
|
||||
## Related apps that do not appear to use xrpl.js
|
||||
|
||||
- **[XRP Stats](https://ledger.exposed/)** (ledger.exposed)
|
||||
|
||||
Rich list, live ledger stats and XRP distribution. Visualize escrows and flow of funds.
|
||||
@@ -1,101 +0,0 @@
|
||||
# Contributing
|
||||
|
||||
## Set up your dev environment
|
||||
|
||||
We use Node v14 for development - that is the version that our linters require.
|
||||
|
||||
To set up the repository:
|
||||
1. Clone the repository
|
||||
2. `cd` into the repository
|
||||
3. Install dependencies with `npm install`
|
||||
|
||||
To build the library:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
## Run the linter
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run lint
|
||||
```
|
||||
|
||||
## Running Tests
|
||||
|
||||
For integration and browser tests, we use a `rippled` node in standalone mode to test xrpl.js code against. To set this up, you can either run `rippled` locally, or set up the Docker container `natenichols/rippled-standalone:latest` for this purpose. The latter will require you to [install Docker](https://docs.docker.com/get-docker/).
|
||||
|
||||
### Unit Tests
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm test
|
||||
```
|
||||
|
||||
### Integration Tests
|
||||
|
||||
```bash
|
||||
npm install
|
||||
# sets up the rippled standalone Docker container - you can skip this step if you already have it set up
|
||||
docker run -p 6006:6006 -it natenichols/rippled-standalone:latest
|
||||
npm run test:integration
|
||||
```
|
||||
|
||||
### Browser Tests
|
||||
|
||||
There are two ways to run browser tests.
|
||||
|
||||
One is in the browser - run `npm run build:browserTests` and open `test/localIntegrationRunner.html` in your browser.
|
||||
|
||||
The other is in the command line (this is what we use for CI) -
|
||||
|
||||
```bash
|
||||
npm run build:browserTests
|
||||
# sets up the rippled standalone Docker container - you can skip this step if you already have it set up
|
||||
docker run -p 6006:6006 -it natenichols/rippled-standalone:latest
|
||||
npm run test:browser
|
||||
```
|
||||
|
||||
## Generate reference docs
|
||||
|
||||
You can see the complete reference documentation at [`xrpl.js` docs](js.xrpl.org). You can also generate them locally using `typedoc`:
|
||||
|
||||
```bash
|
||||
npm run docgen
|
||||
```
|
||||
|
||||
## Release process
|
||||
|
||||
### Editing the Code
|
||||
|
||||
* Your changes should have unit and/or integration tests.
|
||||
* Your changes should pass the linter.
|
||||
* Your code should pass all the tests on Github (which check the linter, unit and integration tests on Node 12/14/16, and browser tests).
|
||||
* Open a PR against `develop` and ensure that all CI passes.
|
||||
* Get a full code review from one of the maintainers.
|
||||
* Merge your changes.
|
||||
|
||||
### Release
|
||||
|
||||
1. Ensure that all tests passed on the last CI that ran on `develop`.
|
||||
2. Open a PR to update the docs if docs were modified.
|
||||
3. Create a branch off `develop` that properly increments the version in `package.json` and ensures that `HISTORY.md` is updated appropriately. We follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
* Use `shasum -a 256 build/*` to get the SHA-256 checksums. Add these to `HISTORY.md` as well.
|
||||
4. Merge this branch into `develop`.
|
||||
5. If this is not a beta release: Merge `develop` into `master` (`--ff-only`) and push to github. This is important because we have docs telling developers to use master to get the latest release.
|
||||
6. Create a new Github release/tag off of this branch.
|
||||
7. Run `npm publish --dry-run` and make sure everything looks good.
|
||||
8. Publish the release to `npm`.
|
||||
* If this is a beta release, run `npm publish --tag beta`. This allows someone else to install this version of the package with `npm install xrpl@beta`.
|
||||
* If this is a stable release, run `npm publish`.
|
||||
* This will require entering `npm` login info.
|
||||
9. Send an email to [xrpl-announce](https://groups.google.com/g/xrpl-announce).
|
||||
|
||||
## Mailing Lists
|
||||
We have a low-traffic mailing list for announcements of new `xrpl.js` releases. (About 1 email every couple of weeks)
|
||||
|
||||
+ [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/g/ripple-server)
|
||||
@@ -1,141 +1,8 @@
|
||||
# xrpl.js
|
||||
|
||||
A JavaScript/TypeScript library for interacting with the XRP Ledger
|
||||
This package includes the `xrpl` library. This repository uses a monorepo
|
||||
layout. Please find the README for `xrpl` [here](https://github.com/XRPLF/xrpl.js/tree/master/README.md).
|
||||
|
||||
[](https://www.npmjs.org/package/xrpl)
|
||||

|
||||
|
||||
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](http://js.xrpl.org)
|
||||
|
||||
See the full reference documentation for all classes, methods, and utilities.
|
||||
|
||||
## [➡️ Applications and Projects](https://github.com/XRPLF/xrpl.js/blob/master/APPLICATIONS.md)
|
||||
|
||||
What is `xrpl.js` used for? The applications on the list linked above use `xrpl.js`. Open a PR to add your app or project to the list!
|
||||
|
||||
### Features
|
||||
|
||||
+ Works in Node.js and in web browsers
|
||||
+ Helpers for creating requests and parsing responses for the [XRP Ledger APIs](https://xrpl.org/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. We also support v12 and v16. Other versions may work but are not frequently tested.
|
||||
+ **[npm](https://www.npmjs.com/)** is recommended. `yarn` may work but we use `package-lock.json`.
|
||||
|
||||
## Getting Started
|
||||
|
||||
In an existing project (with `package.json`), install `xrpl.js`:
|
||||
|
||||
```
|
||||
$ npm install xrpl
|
||||
```
|
||||
|
||||
Example usage:
|
||||
|
||||
```js
|
||||
const xrpl = require("xrpl")
|
||||
async function main() {
|
||||
const client = new xrpl.Client("https://s.altnet.rippletest.net:51234/")
|
||||
await client.connect()
|
||||
|
||||
const response = await client.request({
|
||||
"command": "account_info",
|
||||
"account": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
|
||||
"ledger_index": "validated"
|
||||
})
|
||||
console.log(response)
|
||||
|
||||
client.disconnect()
|
||||
}
|
||||
main()
|
||||
```
|
||||
|
||||
For more examples, see the [documentation](#documentation).
|
||||
|
||||
### Using xrpl.js with React Native
|
||||
|
||||
If you want to use `xrpl.js` with React Native you will need to install shims for core NodeJS modules. To help with this you can use a module like [rn-nodeify](https://github.com/tradle/rn-nodeify).
|
||||
|
||||
1. Install dependencies (you can use `yarn` as well):
|
||||
|
||||
```shell
|
||||
npm install react-native-crypto
|
||||
npm install xrpl
|
||||
# install peer deps
|
||||
npm install react-native-randombytes
|
||||
# install latest rn-nodeify
|
||||
npm install 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 xrpl.js with Deno
|
||||
|
||||
Until official support for [Deno](https://deno.land) is added, you can use the following work-around to use `xrpl.js` with Deno:
|
||||
|
||||
```javascript
|
||||
import xrpl from 'https://dev.jspm.io/npm:xrpl';
|
||||
|
||||
(async () => {
|
||||
const api = new (xrpl as any).Client('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
|
||||
|
||||
+ [Get Started in Node.js](https://xrpl.org/get-started-using-node-js.html)
|
||||
+ [Full Reference Documentation](https://js.xrpl.org)
|
||||
+ [Code Samples](https://github.com/XRPLF/xrpl.js/tree/develop/snippets/src)
|
||||
|
||||
### Mailing Lists
|
||||
|
||||
We have a low-traffic mailing list for announcements of new `xrpl.js` 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/g/ripple-server)
|
||||
|
||||
## More Information
|
||||
|
||||
+ [xrpl-announce mailing list](https://groups.google.com/g/xrpl-announce) - subscribe for release announcements
|
||||
+ [xrpl.js API Reference](https://js.xrpl.org)
|
||||
+ [XRP Ledger Dev Portal](https://xrpl.org)
|
||||
READMEs for other packages in this monorepo are located at the root of their
|
||||
package, but since newcomers to XRPL are likely to want to use the `xrpl`
|
||||
package this README is at the root of the project.
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
This table shows which versions of xrpl.js are currently supported with security updates:
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ---------------------- |
|
||||
| 2.x | :white_check_mark: Yes |
|
||||
| 1.x | :white_check_mark: Yes |
|
||||
| 0.x | :x: No |
|
||||
|
||||
## Responsible disclosure security policy
|
||||
|
||||
The responsible disclosure of vulnerabilities helps to protect users of the project. Vulnerabilities are first triaged in a private manner, and only publicly disclosed after a reasonable time period that allows patching the vulnerability and provides an upgrade path for users.
|
||||
|
||||
When contacting us directly via email, we will do our best to respond in a reasonable time to resolve the issue. Do not disclose the vulnerability until it has been patched and users have been given time to upgrade.
|
||||
|
||||
We kindly ask you to refrain from malicious acts that put our users, the project, or any of the project’s team members at risk.
|
||||
|
||||
## Reporting a security issue
|
||||
|
||||
Security is a top priority. But no matter how much effort we put into security, there can still be vulnerabilities present.
|
||||
|
||||
If you discover a security vulnerability, please use the following means of communications to report it to us:
|
||||
|
||||
- Report the security issue to bugs@ripple.com
|
||||
- [Ripple Bug Bounty](https://ripple.com/bug-bounty/)
|
||||
|
||||
Your efforts to responsibly disclose your findings are sincerely appreciated and will be taken into account to acknowledge your contributions.
|
||||
@@ -4,8 +4,6 @@
|
||||
"./src/**/*.ts",
|
||||
"./test/**/*.ts",
|
||||
"./snippets/src/**/*.ts",
|
||||
".prettierrc.js",
|
||||
".eslintrc.js",
|
||||
"jest.config.js"
|
||||
".eslintrc.js"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user