OpenDEX
🖥️ Web App📥 Desktop App🤙 Support🐦 Twitter
develop
develop
  • 👋-Hello!
  • Community
    • 🎥-Weekly Call & Videos
  • Docs
    • 📝-Intro
    • 🌊-Liquidity Providers
      • 🧑‍🏭 Standard Hardware Guide
      • 💪Pro Hardware Guide
    • 🔁-Swap Providers
    • 📈-Day Traders
    • 👨‍💻-Developers
    • 🤝-Code Contribution
    • ✋-Dockerless Setup
    • 🛑-How-to Close Shop
    • 💻-CLI Docs
    • 🎚️-Config Docs
    • 🤖-API Docs
  • BOLD
    • 📜-Intro
    • 1️⃣-Message Format
    • 2️⃣-Peer Protocol
    • 3️⃣-Trade Protocol
    • 4️⃣-Swap Protocol
  • MOAR
    • 👑-Bitcoin Whitepaper
Powered by GitBook
On this page
  • Requirements
  • opendexd
  • Option 1: Installing latest release via npm
  • Option 2: Cloning from GitHub
  • Daemonize opendexd
  • LND (BTC)
  • Daemonize lnd
  • Connext
  • Daemonize connext
  • Tor
  • Putting it all together
  • Tips 'n Tricks

Was this helpful?

  1. Docs

✋-Dockerless Setup

Previous🤝-Code ContributionNext🛑-How-to Close Shop

Last updated 4 years ago

Was this helpful?

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.

Requirements

Make sure to have the following installed:

  • , current active LTS (we recommend )

  • , v1.14 or higher

  • a user called opendexd

opendexd

Option 1: Installing latest release via npm

This is the easiest and fastest way to install opendexd on a amd64 machine:

sudo npm install opendexd -g --unsafe-perm

Option 2: Cloning from GitHub

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

Daemonize opendexd

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

LND (BTC)

Daemonize lnd

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

Connext

Daemonize connext

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

Tor

Putting it all together

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.

Tips 'n Tricks

  • If you see an install error when installing via npm install, try npm install --production & npm install typescript.

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 .

Follow the .

Follow the , you want the node: vector node + database stack.

You can install tor via sudo apt install tor on most linux distros nowadays, just make sure . If not, consult the . Run systemctl status tor or ps aux | grep tor to verify the tor process is running.

Ping us in the help channel of our for support.

When installing on a Raspberry Pi you might see Unexpected error during initialization. is the solution.

Node.js
installing via nvm
Go
package.json
lnd installation guide
docs
the version is fairly recent
tor installation guides
Discord server
Here