Evan Feenstra
07f26a7ec3
|
5 years ago | |
---|---|---|
api | 5 years ago | |
binaries | 5 years ago | |
config | 5 years ago | |
dist | 5 years ago | |
frontend | 5 years ago | |
public | 5 years ago | |
.babelrc | 5 years ago | |
.drone.yml | 5 years ago | |
.gitignore | 5 years ago | |
Dockerfile | 5 years ago | |
LICENSE | 5 years ago | |
README.md | 5 years ago | |
app.ts | 5 years ago | |
package-lock.json | 5 years ago | |
package.json | 5 years ago | |
rpc.proto | 5 years ago | |
tsconfig.json | 5 years ago | |
webpack.config.js | 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 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!