Lately there has been more demand for Knots, which is a fork of Bitcoin Core with extra bug fixes and most importantly, up-to-date mempool policies that can address ordinal transactions. What’s nice about Knots is that it can be used as a drop-in replacement, meaning all services dependent on Bitcoin Core are working exactly as before. I vetted it on my own installation (knots + mempool + electrs + jam + lightning).
Here is a guide on how to do this:
This is done by installing Knots through a community marketplace, maintained by a volunteer and contributor of the anti-spam movement.
Before you do this
Backup everything!! Most importantly all your seed phrases! This is a third party solution and there is always a chance of something going wrong and you don’t want to be caught with your pants down in case SHTF.
Installing apps that depend on Bitcoin Core
After you have installed Knots, any app that depends on Bitcoin Core cannot be installed through the UI, because it doesn’t recognize Knots as such. Instead you’ll need to SSH into your machine and run:
sudo ./umbrel/scripts/app install lightning
if you want to install lightning, for example. This installation will go though without complaints.
Final thoughts
It would greatly help if the option to use Knots can get first party support by Umbrel, so that plebs don’t have to resort to hitting the command line to run the client they prefer.
I see that Knots is now available thru the marketplace, but it says that Knots does not yet automatically integrate with other apps in the Bitcoin ecosystem on Umbrel.
Will the manual installation work with other apps that required bitcoin core/knots for example electrs and mempool? or will I need to reinstall them as well?
The community installation works with other apps, but you’ll have to install them through the command line because the UI won’t allow you to (it thinks you have a missing dependency). See my original post. I don’t know if the same can be said about the “native” Knots installation. Umbrel is planning to fully support it as a drop-in replacement for Core in the future though.
Btw, if you’re on UmbrelOS v1.x, you’ll have to use different command than the one shown here, this one only works for v0.x. See this this thread for some v1.x commands for managing apps from the command line.
I will need to install as per the instructions bitcoin knots thru the command line, once finished
I will need to also reinstall the apps that I want to use with bitcoin knots, electrs, mempool, etc
In this case, just add Knots through the community store UI (section if you don’t have a node yet in the docs). Afterwards, you’ll have to install any additional apps that depend on Bitcoin through the command line.
You have a working setup of Bitcoin Core + apps that depend on it
You will have to use the command line to replace Bitcoin Core with Knots, as outlined in the docs, section if you already have a node. You don’t have to reinstall any apps that depend on Bitcoin Core. Just leave the rest like it is. They will use Knots instead of Core automatically afterwards.
I can personally recommend going with option 1, because it is the safest route. Replacing Core with Knots on a running setup is scary to be honest and if something goes wrong, you will have a bad time. On the other hand, if option 2 works out for you, you don’t need to do an entire resync of the blockchain.
On the web interface I can see it starts to install the electrs app, but it fails with this false. ( it seems that it checks for bitcoin core and it is not there)
Ok then I’m afraid we have to declare that installing dependent apps no longer works with Umbrel v1.x. This guide was written and properly tested when v0.5.x was the latest version.
I think at this point it’s best to wait for Umbrel to completely support Knots as a drop-in replacement for Core. We can already install Knots through the 1st party app store, they just need to enable other apps to use it as a dependency.
Thanks for putting in the effort and doing the right thing by running Knots. This will become much easier for plebs in the future as most home node solutions will offer it as an alternative to Core out of the box.
It does not work for me at 0.5.4. Trying to install Electrs but I’m getting this “ERROR: for electrs Cannot create container for service electrs: create .: volume name is too short, names should be at least two alphanumeric characters
ERROR: Encountered errors while bringing up the project.”.