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.
 
 
 
Mayank Chhabra e2aabc21de
Merge pull request #27 from mayankchhabra/alias
4 years ago
.github removed linux/368 as no node image 4 years ago
bin init 5 years ago
logic Send remote node alias with list of channels 4 years ago
middlewares auth 4 years ago
models init 5 years ago
resources init 5 years ago
routes auth 4 years ago
services paginated blocks 5 years ago
test init 5 years ago
utils auth 4 years ago
.dockerignore return chain in /sync and use port from env variable 5 years ago
.eslintignore init 5 years ago
.eslintrc init 5 years ago
.gitignore auth 4 years ago
Dockerfile revert back to node-8 slim 4 years ago
LICENSE init 5 years ago
Makefile init 5 years ago
README.md SVG Banner 4 years ago
app.js return chain in /sync and use port from env variable 5 years ago
package.json Merge branch 'mayankchhabra-auth' into umbrelbox-compose-checks 4 years ago
pre-commit init 5 years ago
qemu-arm-static init 5 years ago
test.setup.js init 5 years ago
wait-for-node-manager.sh Retry 15 times then give up 4 years ago

README.md

Umbrel Middleware

Version Docker Build Docker Pulls Chat

Twitter Reddit

☂️ middleware

Middleware runs by-default on Umbrel OS as a containerized service. It wraps Bitcoin Core's RPC and LND's gRPC, and exposes them via a RESTful API.

Umbrel OS's web dashboard uses middleware to interact with both Bitcoin and Lightning Network.

🚀 Getting started

If you are looking to run Umbrel on your hardware, you do not need to run this service on it's own. Just download Umbrel OS and you're good to go.

🛠 Running middleware

Make sure a bitcoind and lnd instance is running and available on the same machine.

Step 1. Install dependencies

npm install

Step 2. Set environment variables

Set the following environment variables directly or by placing them in .env file of project's root.

Variable Description Default
PORT Port where middleware should listen for requests 3005
DEVICE_HOST IP or domain from where umbrel-dashboard will request http://umbrel.local
BITCOIN_HOST IP or domain where bitcoind RPC is listening 127.0.0.1
RPC_USER bitcoind RPC username
RPC_PASSWORD bitcoind RPC password
LND_HOST IP or domain where lnd RPC is listening 127.0.0.1
TLS_FILE Path to lnd's TLS certificate /lnd/tls.cert
LND_PORT Port where lnd RPC is listening 10009
LND_NETWORK The chain bitcoind is running on (mainnet, testnet, regtest, simnet) mainnet
MACAROON_DIR Path to lnd's admin.macroon file /lnd/data/chain/bitcoin/mainnet/admin.macaroon
JWT_PUBLIC_KEY_FILE Path to the JWT public key created by umbrel-manager /jwt-public-key/jwt.pem

Step 3. Run middleware

npm start

You can browse through the available API endpoints here.


️ Don't be too reckless

Umbrel is still in an early stage and things are expected to break every now and then. We DO NOT recommend running it on the mainnet with real money just yet, unless you want to be really #reckless.

❤️ Contributing

We welcome and appreciate new contributions!

If you're a developer looking to help but not sure where to begin, check out these issues that have specifically been marked as being friendly to new contributors.

If you're looking for a bigger challenge, before opening a pull request please create an issue or join our community chat to get feedback, discuss the best way to tackle the challenge, and to ensure that there's no duplication of work.


License

getumbrel.com