|
5 years ago | |
---|---|---|
.github/workflows | 5 years ago | |
bin | 5 years ago | |
logic | 5 years ago | |
middlewares | 5 years ago | |
models | 5 years ago | |
resources | 5 years ago | |
routes | 5 years ago | |
services | 5 years ago | |
test | 5 years ago | |
utils | 5 years ago | |
.dockerignore | 5 years ago | |
.eslintignore | 5 years ago | |
.eslintrc | 5 years ago | |
.gitignore | 5 years ago | |
Dockerfile | 5 years ago | |
LICENSE | 5 years ago | |
Makefile | 5 years ago | |
README.md | 5 years ago | |
app.js | 5 years ago | |
package-lock.json | 5 years ago | |
package.json | 5 years ago | |
pre-commit | 5 years ago | |
qemu-arm-static | 5 years ago | |
test.setup.js | 5 years ago | |
wait-for-node-manager.sh | 5 years ago |
README.md
☂️ 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.
🙏 Acknowledgements
Umbrel Middleware is built upon the work done by Casa on its open-source API.