This guide is intended to help developers who want to contribute to
opendexd. Developers who want to build services on top of
opendexd, should check out the node's API Documentation.
Be sure to read the Contribution Guidelines before starting to work or opening a Pull Request.
The following development environments are known to be compatible with
opendexd and are recommended for developers that are unsure what tools to use.
Visual Studio Code is a cross-platform code editor that's compatible with most popular programming languages and extensible via a large collection of plug-ins.
Consider using the following plugins for working with
Adding the two files from this gist into a
.vscode folder within the folder where you've cloned
opendexd will automatically provide debug configurations and general settings that are helpful when developing
Auto restart on every file change under
dist folder with
nodemon --watch dist -e js bin/opendexd
With some sample args disabling lndbtc/lndltc:
nodemon --watch dist -e js bin/opendexd --lndbtc.disable=true --lndltc.disable=true
We recommend to connect the
opendexd instance you are developing on to testnet. Combined with above restarting mechanism, this lets you instantly see how your changes behave in a real-world trading environment.
Start testnet with default settings as described here.
Once the environment is up and running, exit from the cli session by typing
exit or open a second terminal.
Stop the opendexd container with
docker stop testnet_opendexd_1.
Copy the testnet lndbtc & lndltc folders into some path that you can easily access. E.g. into your home directory:
sudo cp -R ~/.opendex-docker/testnet/data/lndbtc ~/sudo cp -R ~/.opendex-docker/testnet/data/lndltc ~/
Ensure that you own the copied folders:
sudo chown -R <youruser> ~/lndbtcsudo chown -R <youruser> ~/lndltc
~/.opendexd to contain the following:
[lnd.BTC]cltvdelta = 40disable = falsehost = "localhost"nomacaroons = falseport = 20009certpath = "/home/<youruser>/lndbtc/tls.cert"macaroonpath = "/home/<youruser>/lndbtc/data/chain/bitcoin/testnet/admin.macaroon"[lnd.LTC]cltvdelta = 576disable = falsehost = "localhost"nomacaroons = falseport = 21009certpath = "/home/<youruser>/lndltc/tls.cert"macaroonpath = "/home/<youruser>/lndltc/data/chain/litecoin/testnet/admin.macaroon"[connext]disable = falsehost = "localhost"port = 18000
Now you can start your local
opendexd instance and it should connect to the running testnet docker environment. You can check that everything works with
~/opendexd/bin$ ./opendex-cli -p 18886 getinfo.