Skip to content

opendexnetwork/opendexd

Repository files navigation

OpenDEX daemon

Discord CI Status SimTest Status License: AGPL v3

OpenDEX logo

The OpenDEX Daemon (opendexd) is the reference implementation powering OpenDEX, a decentralized exchange built on top of the Lightning and Connext networks.

Get started ๐Ÿ‘‰ here ๐Ÿ‘ˆ

OpenDEX Network Specification Compliance

opendexd 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 opendexd. The BOLDs, as well as opendexds implementation of it is still a work-in-progress. The current status of opendexd's BOLD compliance is:

opendexd 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 opendex-cli.

Documentation

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

Installation

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

Prerequisites

Install dependencies

npm i

Build

npm run compile
npm run compile:seedutil

Start in development mode

npm run dev

Open a new terminal and issue commands to opendexd with the opendex-cli command line tool. To see a list of available commands, run:

./bin/opendex-cli --help

Tests

npm run test
npm run test:sim

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!