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.
 
 
 
Evan Feenstra 07f26a7ec3 ok 5 years ago
api build binaries 5 years ago
binaries ok 5 years ago
config https for hub server 5 years ago
dist build binaries 5 years ago
frontend sphinx-relay 5 years ago
public sphinx-relay 5 years ago
.babelrc sphinx-relay 5 years ago
.drone.yml minimal drone integration 5 years ago
.gitignore ignore bins 5 years ago
Dockerfile sphinx-relay 5 years ago
LICENSE sphinx-relay 5 years ago
README.md r 5 years ago
app.ts build binaries 5 years ago
package-lock.json build binaries 5 years ago
package.json ok 5 years ago
rpc.proto sphinx-relay 5 years ago
tsconfig.json sphinx-relay 5 years ago
webpack.config.js sphinx-relay 5 years ago

README.md

Relay

Relay is a Node.js wrapper around LND, handling connectivity and storage for Sphinx. Communication between Relay nodes takes place entirely on the Lightning Network, so is decentralized, untraceable, and encrypted. Message content is also end-to-end encrypted using client public keys, on the Sphinx app itself.

Relay

Relay stores:

  • Aliases
  • Messages
  • Recurring payment configurations
  • Invites (so you can add your friends)
  • Media Keys: keys for decrypting media files, asymetrically encrypted for each contact in a chat

run your own sphinx node

You can run your own Sphinx node in order to have full ownership over your communication!

download

git clone https://github.com/stakwork/sphinx-relay

cd sphinx-relay

npm install

dependencies

sqlite3: apt-get install sqlite3

configure

Make sure your LND is running with the --accept-keysend flag! If you are using lnd.conf file, add accept-keysend=1

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

  • Change macaroon_location to the location of your LND admin macaroon
  • Change tls_location to the location of your LND cert

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

  • Update "storage" to point to where you want your DB file to live

To connect to your app

  • export NODE_IP=x.x.x.x (you can use a domain name instead if you have that set up)
  • For extra security, export USE_PASSWORD=true

run

npm run prod

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

Roadmap

  • linking recurring payments to files, to enable use cases such as subscribing to podcasts with BTC!