/bisq-api-node

Node.js wrapper for local and remote Bisq API endpoints

Primary LanguageJavaScriptMIT LicenseMIT

bisq-api-node

bisq-api-node is a Node.js wrapper that simplifies the process of interacting with both local and remote Bisq API endpoints.

The Bisq API is built on the gRPC framework.
bisq-api-node abstracts away the complexities of gRPC communication. Developers can interact with the Bisq API in a simplified and intuitive manner, without the need to directly handle the intricacies of the underlying gRPC implementation.

The functionality of bisq-api-node is organized in a single class, making it straightforward to use.

Contents

Install

npm install --save bisq-api-node

or

yarn add bisq-api-node

Usage

Constructor

  • new Bisq({ ipAddress, password })

You must supply the IP address of your Bisq daemon and the API password.

Example:

const bisq = new Bisq({ ipAddress: '192.168.1.230:9998', password: 'myapiPassword' })

Methods

Available RPC Methods are described in the official Bisq gRPC API reference documentation.

A method can be simply accessed using the format .serviceName.methodName.

For example, you would call gRPC method GetMarketPrice of service Price like this: bisq.price.getMarketPrice({ currency_code: 'usd' }).

Note that both the service name and method name are starting with a small letter.

All methods accept one object parameter, which is used to pass all gRPC request parameters for the API call.

All methods return a promise.

Example:

result  = await bisq.offers.getOffers({ direction: 'BUY', currency_code: 'xmr'})
console.log(result)

Requirements for target Bisq API Daemon

  • Java JDK 11 or 15

  • Bisq API Daemon installed and running

Never Run API Daemon and Bisq GUI On Same Host At Same Time.

The API daemon and the GUI share the same default wallet and connection ports. Beyond inevitable failures due to fighting over the wallet and ports, doing so will probably corrupt your wallet. Before starting the API daemon, make sure your GUI is shut down, and vice-versa. Please back up your mainnet wallet early and often with the GUI.

Running Bisq API daemon

Start Bisq API Daemon:

# Shutdown Bisq GUI
kill -15 $(pgrep Bisq)

# Start Bisq API daemon
java -jar daemon.jar --apiPort=9998 --apiPassword=becareful