Categories
Lightning

Stuck Channel Open
Double Spend in Core Lightning

Difficulty: Low

When it comes to sending Bitcoin transactions of any kind, I try to pay the smallest fee possible. With the current popularity of inscriptions the fee market has changed. Apparently I’m still adjusting to the change and recently made a mistake in picking my transaction fee when opening a lightning channel with my Core Lightning node. The result was a lightning channel open transaction that would never have confirmed.

Categories
Lightning

Zeus setup with Core Lightning
and c-lightning-REST setup

Difficulty: Intermediate

If you run your own Lightning node and you’re not familiar with Zeus you are missing out. Zeus is a fully featured mobile Lightning front end which will allow you to send and receive Lightning payments from your home LND or Core Lightning node when you are out and about. We’ll be leveraging Zeus’s built in Tor support to connect to our home Core Lightning node. Since we are using Zeus with our own node this is a completely noncustodial solution, no trusted third parties here! In my opinion, Zeus is the best mobile lightning wallet out there.

There are several quality guides online that demonstrate the configuration of the Zeus mobile wallet with LND but I haven’t seen one for Core Lightning. Yes, Zeus also works great with Core Lightning!

In this guide I’ll demonstrate the setup of the c-lightning-REST program which acts as a shim to allow Zeus to talk to your Core Lightning node via REST API. Zeus requires a REST API for communication and Core Lightning doesn’t provide one natively. After c-lightning-REST is in place I’ll demonstrate how to connect Zeus to your Core Lightning node. You’ll then be able to make payments from your Core Lightning node while you’re on the go with your mobile phone!

Categories
Lightning

Drive failure on LND node or…
How to lose some Bitcoin

Difficulty: Low

Tonight, on a very special episode of BitcoinLizard Blog…

I created this blog with the intention of mostly writing about the setup and implementation of various Bitcoin related software projects. In particular I was planning on writing about moving away from what I considered to be an unreliable Lightning node implementation. That implementation being a Raspberry Pi with the LND node data stored on the SD card. My intention was that I’d shutter my BitcoinLizard Tor only routing node that was running on a Raspberry Pi and build out a new routing node running Core Lightning on a more robust server with redundant storage. This post is about how I waited too long to decommission this LND node and as a result faced serious consequences. This post is a warning to anyone whom runs a Lightning node and doesn’t take the proper precautions with regard to backing up their node data.

Categories
Raspberry Pi

Compile Bitcoin-QT from source on Raspberry Pi

Difficulty: Low

A lot of posts on this blog will be about running your own Bitcoin infrastructure without the major node in a box implementations such Umbrel. This has the benefit of getting new features and critical updates sooner as you don’t have to wait for the node in a box implementation to push a new update. The official distribution site for the Bitcoin Core node software does include a binary for Raspberry Pi so there is no need to build from source yourself. I’m not sure that was always the case so at one time I went through the process of building Bitcoin-QT myself and have been doing so ever since.

Categories
Networking

VPS Passthrough Hosting
Host a large website or application with a modest VPS

Difficulty: Intermediate to High

Have you ever wanted to host a website or other web service without exposing your home IP address or paying for a gigantic VPS (Virtual Private Server)? While VPSs tend to be rather generous on bandwidth they tend to be rather stingy on storage space and general compute power. If I want the VPS with 500GB of storage space to host a clearnet Bitcoin node, I’m going to have to pay a pretty high reoccurring fee. I’m going to explain a method which leverages Firewalld and Wireguard VPN to allow public hosting with a very modestly priced VPS. With this method you’ll be able to leverage your existing home storage and compute resources to do the heavy lifting on your home network while getting the benefit making your application public without exposing your home IP address. This solution will work even if you are stuck behind the dreaded Carrier Grade NAT.

The idea is that you’ll actually run your service from your home network but through the magic of VPN and NAT (Network Address Translation) technology the service can be made available on the public internet. I run a VM (Virtual Machine) host via KVM at my home but this should work equally well with a Raspberry Pi or similar less powerful computer. I would consider this deployment to be of intermediate to high level difficulty depending on your knowledge of Linux and general networking. For this example I’m going to make my BTCPay Server, which I run on my local network, publicly available on the IPv4 internet. I’ll do this without needing an expensive VPS with enough storage for a full Bitcoin node or without exposing my home IP address. See the image above for a high-level overview of what we’ll be configuring.