Skip to content
master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
bin
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Exchange Union Daemon

Discord CI Status SimTest Status Codacy Badge License: AGPL v3

xud logo

The Exchange Union Daemon (xud) is the reference implementation powering OpenDEX, a decentralized exchange built on top of the Lightning and Connext networks. xud brings individual traders, market makers and exchanges onto OpenDEX to form a single global trading network and liquidity pool.

Get started πŸ‘‰ here πŸ‘ˆ

OpenDEX Network Specification Compliance

xud implements the OpenDEX protocol and fully conforms to its so-called BOLD specifications. BOLD stands for: Basis of L3 DEX. The naming is intentionally derived from BOLT, the Lightning Network specifications and role model of OpenDEX. The specifications are currently being drafted by several implementers based around the world, including the developers of xud. The BOLDs, as well as xuds implementation of it is still a work-in-progress. The current status of xud's BOLD compliance is:

xud encompasses the following components:

  • Integration with lnd and connext clients.
  • Decentralized order book to locally aggregate orders from the known network.
  • Matching engine to match new local orders with existing local and remote orders and initiate atomic swaps with remote peers.
  • Peer-to-peer networking with and discovery of other nodes.
  • gRPC API with web proxy to serve other applications, also accessible via the command-line interface xucli.

Documentation

The daemon has been designed to be as developer friendly as possible in order to facilitate application development on top of xud.

Installation

This section contains brief instructions for installing xud manually, without treating setup of dependencies like bitcoind or lnd. It is mainly geared towards developers. For all other users, we recommend our streamlined xud-docker setup.

If you already have Node.js installed, you can install xud via npm by running

sudo npm install xud -g --unsafe-perm

We officially support the current Node.js LTS only, since it often takes time for the latest version to be supported by the gRPC library. Detailed instructions for installing xud can be found in the installation & developer docs.

Usage

Launch xud:

./xud
2018-9-11 01:11:59 [GLOBAL] info: config loaded
2018-9-11 01:11:59 [GLOBAL] info: Local nodePubKey is 029a96c975d301c1c8787fcb4647b5be65a3b8d8a70153ff72e3eac73759e5e345
2018-9-11 01:11:59 [DB] info: connected to database. host:localhost port:3306 database:xud
2018-9-11 01:11:59 [P2P] info: p2p server listening on 0.0.0.0:8885
2018-9-11 01:11:59 [RPC] info: gRPC server listening on localhost:8886

Open a new terminal and issue commands to xud with the xucli command line tool. To see a list of available commands, run:

./xucli --help

You can find more information on how to use & configure xud in the docs for developers.

Note: If you installed xud globally via npm, you can run xud and xucli from anywhere. Otherwise you must run them from the bin folder.

License

All files in this repository are licensed under the GNU Affero General Public License v3.0 unless explicitly stated otherwise in the header of a given file.

Discussion

Comments, questions, and any development-related discussions are welcome in our Discord chat!