You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

6.3 KiB

Guide: install Sphinx-relay on myNode / Raspiblitz.

This guide is focused on installing Sphinx-relay on top of myNode. Information about myNode can be found at: https://mynodebtc.com/.

Preparations

  • Be able to connect with your node through SSH.
  • Make sure you are running LND version 0.9.0 or higher. This can be seen at http://mynode.local/lnd at the right top. Or by inserting the following console command:
$ lncli getinfo
> "version": "0.9.0-beta commit=v0.9.0-beta"

Let's Start

Open port 3001 on myNode

Open up a console window with SSH. And log in as root

$ sudo su

Open up port 3001 on your machine and make sure it has been added to the list.

$ ufw allow 3001 comment 'allow Sphinx-Chat'
$ ufw status

> Status: active
>
> To                         Action      From
> --                         ------      ----
> 3001 (v6)                  ALLOW       Anywhere (v6)              # Sphinx-Chat

Download

login as user bitcoin.

$ sudo su bitcoin
$ cd

Clone the repository from Github and install the package.

$ git clone https://github.com/stakwork/sphinx-relay
$ cd sphinx-relay
$ npm install

Dependencies

sqlite3: $ apt-get install sqlite3 python2: $ apt-get install python2

Configure

Edit the "production" section of config/app.json.

$ cd
$ cd sphinx-relay/config/
$ nano app.json

Change the following 4 lines:

myNode

"macaroon_location": "/home/bitcoin/.lnd/data/chain/bitcoin/mainnet/admin.macaroon",
"tls_location": "/mnt/hdd/mynode/lnd/tls.cert",
"lnd_log_location": "/home/bitcoin/.lnd/logs/bitcoin/mainnet/lnd.log",
"lncli_location": "/home/bitcoin/go/bin",

Raspiblitz

"macaroon_location": "/home/bitcoin/.lnd/data/chain/bitcoin/mainnet/admin.macaroon",
"tls_location": "/mnt/hdd/lnd/tls.cert",
"lnd_log_location": "/home/bitcoin/.lnd/logs/bitcoin/mainnet/lnd.log",
"lncli_location": "/home/bitcoin/go/bin",

Save and exit: Ctrl + X

Y

Enter

Edit the "production" section of config/config.json

$ nano config.json

Change to following line to:

"storage": "/home/bitcoin/sphinx.db"

Save and exit: Ctrl + X

Y

Enter

To connect to your app: (replace x.x.x.x with your IP - NOTE: This is your external IP)

$ cd
$ cd sphinx-relay/config/
$ export NODE_IP=x.x.x.x:3001

For extra security:

$ export USE_PASSWORD=true

Activate keysend

We need LND to run with keysend activated. First we check if it is already activated on your node.

myNode:

Go to http://mynode.local/lnd/config and check if the line accept-keysend=1 is included somewhere in the text.

If accept-keysend=1 is already included you can continue without changing anything. If accept-keysend=1 is not included, add it to a new line and click the Save button. This will restart your device. (Restarting could take up to several minutes but also hours, so be patient.)

Raspiblitz:

Go to raspiblitz menu, or:

$ raspiblitz

Find item menu "Services" and activate Keysend

Run

Now it's time to run the software.

$ cd
$ cd sphinx-relay/config/
$ npm run prod

When Relay starts up, it will print a QR in the terminal. You can scan this in your app (Android or iOS) to connect!

To make relay run continuously (also after a restart).

Before you start this part. Make sure your app is connected and you are able to send & receive messages.

Login as admin.

$ sudo su admin

Create a file named sphinx-relay.service

$ sudo nano /etc/systemd/system/sphinx/sphinx-relay.service

Copy and paste the following text to add it to the file:

[Unit]
Description=Sphinx Relay Service
After=network.target

[Service]
Type=simple
User=bitcoin
WorkingDirectory=/home/bitcoin/sphinx-relay/config/
ExecStart=npm run prod
Restart=always
RestartSec=5
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=sphinx-relay

[Install]
WantedBy=multi-user.target

Save and exit: Ctrl + X

Y

Enter

Let's run!

$ sudo systemctl enable sphinx-relay.service
$ sudo systemctl start sphinx-relay.service

Check if relay succesfully started.

$ sudo systemctl status sphinx-relay.service

To stop the program

$ sudo systemctl stop sphinx-relay.service

To update Sphinx-Relay

(This probably is not the most efficient way to update. But it works so we got that goin which is nice. Feel free to optimize the process and contribute. :) )

Login as Admin and stop the program.

$ sudo systemctl stop sphinx-relay.service

login as user bitcoin.

$ sudo su bitcoin
$ cd

Remove the old version

$ rm -rf sphinx-relay

Download the new version

Clone the repository from Github and install the package.

$ git clone https://github.com/stakwork/sphinx-relay
$ cd sphinx-relay
$ npm install

Configure

Edit the "production" section of config/app.json.

$ cd
$ cd sphinx-relay/config/
$ nano app.json

Change the following 4 lines:

myNode

"macaroon_location": "/home/bitcoin/.lnd/data/chain/bitcoin/mainnet/admin.macaroon",
"tls_location": "/mnt/hdd/mynode/lnd/tls.cert",
"lnd_log_location": "/home/bitcoin/.lnd/logs/bitcoin/mainnet/lnd.log",
"lncli_location": "/home/bitcoin/go/bin",

Raspiblitz

"macaroon_location": "/home/bitcoin/.lnd/data/chain/bitcoin/mainnet/admin.macaroon",
"tls_location": "/mnt/hdd/lnd/tls.cert",
"lnd_log_location": "/home/bitcoin/.lnd/logs/bitcoin/mainnet/lnd.log",
"lncli_location": "/home/bitcoin/go/bin",

Save and exit: Ctrl + X

Y

Enter

Edit the "production" section of config/config.json

$ nano config.json

Change to following line to:

"storage": "/home/bitcoin/sphinx.db"

Save and exit: Ctrl + X

Y

Enter

To connect to your app: (replace x.x.x.x with your IP - NOTE: This is your external IP)

$ cd
$ cd sphinx-relay/config/
$ export NODE_IP=x.x.x.x:3001

For extra security:

$ export USE_PASSWORD=true

Turn on the service.

Login as admin.

$ su admin

Or

$ exit

Turn the service on and check the status.

$ sudo systemctl enable sphinx-relay.service
$ sudo systemctl start sphinx-relay.service