This page contains instructions how to natively install opendexd
and its minimal dependencies lnd
(BTC) & connext
(ETH & ERC20) on linux. It is mainly geared towards developers and administrators which prefer a native installation over docker.
Make sure to have the following installed:
- Node.js, current active LTS (we recommend installing via nvm)
- Go, v1.14 or higher
- a user called
opendexd
This is the easiest and fastest way to install opendexd
on a amd64
machine:
sudo npm install opendexd -g --unsafe-perm
Testers and developers are encouraged to clone the repository from GitHub and install from source:
git clone https://github.com/opendexnetwork/opendexd
cd opendexd
npm install
npm run compile
npm run compile:seedutil
If you are on an architecture that is not amd64
, you'll have to remove grpc-tools
and potentially others from the devDependencies
section of package.json
.
If you want to daemonize opendexd
, so that it starts on boot without needing its own terminal, you can do this using systemd
:
[Unit]
Description=opendexd
[Service]
User=opendexd
Group=opendexd
Type=simple
Environment=NODE_ENV=production
ExecStart=/home/opendexd/opendexd/bin/opendexd --mainnet
KillMode=process
KillSignal=SIGINT
Follow the lnd installation guide.
If you want to daemonize lnd
, so that it starts on boot without needing its own terminal, you can do this using systemd
:
[Unit]
Description=LND
[Service]
User=opendexd
Group=opendexd
Type=simple
ExecStart=/home/opendexd/lnd/bin/lnd --bitcoin.mainnet
KillMode=process
KillSignal=SIGINT
Follow the docs, you want the node
: vector node + database stack.
If you want to daemonize connext
, so that it starts on boot without needing its own terminal, you can do this using systemd
:
[Unit]
Description=Connext
[Service]
User=opendexd
Group=opendexd
Type=simple
Environment="NODE_ENV=production"
Environment="CONNEXT_NODE_URL=https://connext.boltz.exchange"
Environment="CONNEXT_ETH_PROVIDER_URL=http://eth.kilrau.com:41007"
Environment="LEGACY_MODE=true"
WorkingDirectory=/home/opendexd/connext/
ExecStart=node /home/opendexd/connext/build/src/index.js
KillMode=process
KillSignal=SIGINT
You can install tor via sudo apt install tor
on most linux distros nowadays, just make sure the version is fairly recent. If not, consult the tor installation guides. Run systemctl status tor
or ps aux | grep tor
to verify the tor process is running.
Create the following opendexd.conf
in /home/opendexd/.opendexd
:
mainnet = true
[p2p]
tor = true
torport = 9050
[connext]
disable = false
host = "localhost"
port = 8000
webhookhost = "localhost"
webhookport = 8887
[lnd.BTC]
disable = false
host = "localhost"
certpath = "/home/opendexd/.lnd/tls.cert"
macaroonpath = "/home/opendexd/.lnd/admin.macaroon"
[lnd.LTC]
disable = true
For convenience, consider adding alias opendex-cli='/home/opendexd/opendexd/bin/opendex-cli -p 8886'
to the opendexd user's .bashrc
and source it. Then restart opendexd
once (e.g. with systemctl restart opendexd
) and try running opendex-cli getinfo
, which should return with an overview of opendexd's, as well as lnd's and connext status.
Ping us in the help channel of our Discord server for support.
- When installing on a Raspberry Pi you might see
Unexpected error during initialization
. Here is the solution. - If you see an
install error
when installing vianpm install
, trynpm install --production
&npm install typescript
.