xahau.js
A JavaScript/TypeScript library for interacting with the Xahau Ledger
This is the recommended library for integrating a JavaScript/TypeScript app with the Xahau 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.
Quickstart
Requirements
- Node.js v18 is recommended. We also support v20. Other versions may work but are not frequently tested.
Installing xahau.js
In an existing project (with package.json), install xahau.js with:
$ npm install --save xahau
Or with yarn:
$ yarn add xahau
Example usage:
const xahau = require("xahau");
async function main() {
const client = new xahau.Client("wss://xahau-test.net");
await client.connect();
const response = await client.request({
command: "account_info",
account: "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
ledger_index: "validated",
});
console.log(response);
await client.disconnect();
}
main();
It goes through:
- Creating a new test account
- Sending a payment transaction
- And sending requests to see your account balance!
Case by Case Setup Steps
If you're using xahau.js with React or Deno, you'll need to do a couple extra steps to set it up:
- Using xahau.js with a CDN
- Using xahau.js with
create-react-app - Using xahau.js with
React Native - Using xahau.js with
Vite React - Using xahau.js with
Deno
Documentation
As you develop with xahau.js, there's two sites you'll use extensively:
- docs.xahau.network 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)
Mailing Lists
If you want to hear when we release new versions of xahau.js, you can join our low-traffic mailing list (About 1 email per week):
If you're using the Xahau Ledger in production, you should run a xahaud server and subscribe to the xahau-server mailing list as well.
You are also welcome to create an issue here and we'll do our best to respond within 3 days.
