All Projects → getumbrel → umbrel-middleware

getumbrel / umbrel-middleware

Licence: MIT license
RESTful Bitcoin and Lightning API for Umbrel

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to umbrel-middleware

lightningj
Core implementation of the lightningj API implementations.
Stars: ✭ 41 (+95.24%)
Mutual labels:  lightning, lightning-network, lnd
shango-lightning-wallet
Shango Lightning Wallet
Stars: ✭ 65 (+209.52%)
Mutual labels:  lightning, lightning-network, lnd
lightningtip
Get tips via the Lightning Network
Stars: ✭ 91 (+333.33%)
Mutual labels:  lightning, lightning-network, lnd
pi-factory
Bootstrap a bitcoin lightning box for Raspberry Pi 3 based on Alpine Linux
Stars: ✭ 17 (-19.05%)
Mutual labels:  lightning, lightning-network, bitcoin-node
lightning-jet
Lightning Jet is a fully automated rebalancer for Lightning nodes. Jet optimizes channel liquidity allocation based on routing volume, missed routing opportunities (htlcs), and other variables.
Stars: ✭ 33 (+57.14%)
Mutual labels:  lightning, lightning-network, lnd
lnregtest
Regtest Lightning Networks for (python) integration testing
Stars: ✭ 17 (-19.05%)
Mutual labels:  lightning, lightning-network, lnd
Ln Service
Node.js interface to LND
Stars: ✭ 191 (+809.52%)
Mutual labels:  lightning, lightning-network
Lndmanage
Channel management tool for lightning network daemon (LND) operators.
Stars: ✭ 114 (+442.86%)
Mutual labels:  lightning, lightning-network
Zeus
A mobile Bitcoin/Lightning app for lnd, c-lightning, and Eclair node operators ⚡️
Stars: ✭ 175 (+733.33%)
Mutual labels:  lightning, lightning-network
Awesome Bitcoin Payment Processors
🌟 A curated list of Bitcoin payment processors enabling merchants, businesses and nonprofits to accept Bitcoin payments.
Stars: ✭ 129 (+514.29%)
Mutual labels:  lightning, lightning-network
Lightninglib
lightninglib is a fork of lnd which aims to be usable as a go library inside any application, including mobile apps.
Stars: ✭ 11 (-47.62%)
Mutual labels:  lightning, lightning-network
Plugins
Community curated plugins for c-lightning
Stars: ✭ 120 (+471.43%)
Mutual labels:  lightning, lightning-network
Eclair Mobile
An Android wallet for the Lightning Network
Stars: ✭ 231 (+1000%)
Mutual labels:  lightning, lightning-network
Lightning Rfc
Lightning Network Specifications
Stars: ✭ 1,224 (+5728.57%)
Mutual labels:  lightning, lightning-network
Lightning Faucet
A faucet for the Lightning Network!
Stars: ✭ 56 (+166.67%)
Mutual labels:  lightning, lightning-network
Lncli Web
Light-weight web client for the lnd daemon written in NodeJS / Angular.
Stars: ✭ 181 (+761.9%)
Mutual labels:  lightning, lightning-network
Blixt Wallet
Bitcoin Lightning Wallet with focus on usability and user experience
Stars: ✭ 40 (+90.48%)
Mutual labels:  lightning, lightning-network
Phoenix
Phoenix is a non custodial Bitcoin wallet using Lightning to send/receive payments.
Stars: ✭ 129 (+514.29%)
Mutual labels:  lightning, lightning-network
Spark Wallet
⚡️ A minimalistic wallet GUI for c-lightning, accessible over the web or through mobile and desktop apps.
Stars: ✭ 215 (+923.81%)
Mutual labels:  lightning, lightning-network
eznode
✨ A simple pruning-friendly setup for a personal bitcoin full node
Stars: ✭ 49 (+133.33%)
Mutual labels:  bitcoin-node, full-node

Umbrel Middleware

Version Docker Build Docker Pulls Community Chat Developer 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

yarn

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_HOSTS Comma separated list of IPs or domain names to whitelist for CORS 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
LND_WALLET_PASSWORD The password for the LND wallet which will be automatically unlocked on boot
MACAROON_DIR Path to lnd's macaroon directory /lnd/data/chain/bitcoin/mainnet/
JWT_PUBLIC_KEY_FILE Path to the JWT public key created by umbrel-manager /jwt-public-key/jwt.pem

Step 3. Run middleware

yarn 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.


License

getumbrel.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].