Posting these notes which I will use in today’s tutorial video.
If you are running a pruned node, STOP HERE AND DO NOT PROCEED!
StartOS 0.4.0.x
The straightforward case. Both Knots flavors are listed on the Start9 Registry on 0.4.0.x.
Stop your Lightning service first (LND or Core Lightning), and Forktower if you run it. A Lightning node watching a chain that is being rewritten underneath it is the thing to avoid.
Stop Bitcoin Knots (RDTS).
In the Start9 Registry, install Bitcoin Knots (pre-RDTS). It takes over the same bitcoind package id and the existing data.
Start it, and wait. If your node had stored and rejected blocks you will see a “Chain Verdicts Reset” notification; on the machines measured for this guide there was nothing to reset and none appeared, which is fine. Let it catch up to the legacy tip.
If Knots doesn’t start cleanly or advance to latest block, you may need to run “Actions & Config” > “Reindex Blockchain”.
Start LND once Knots is fully caught up.
StartOS 0.3.5.1
RECOMMENDED: Update to StartOS 0.4.0.x first, then follow the 0.4.0.x steps above. i.e. Do the OS update before touching Knots.
Stop all services and make a backup
Uninstall every service which does not contain data that absolutely must be preserved. If a service can be reinstalled later, then uninstall it now before the update, and reinstall it after.
Update StartOS to 0.4.0.x, following Start9’s own upgrade guide.
When 0.4.0.x is up and your services are back, do not start Lightning yet.
Follow the StartOS 0.4.0.x steps above, from step 2.
Start Lightning only once Bitcoin is caught up to the legacy tip and you have checked the tip against a block explorer.
Reinstall any services that you removed in step 2
If you will not update StartOS
You need a pre-RDTS Knots package built for 0.3.5.1. One is published HERE
That is Knots 29.3.knots20260507, the last build before the enforcement gate (one day before 20260508)
It takes over your existing Bitcoin data rather than starting a new sync.
Stop All Services
System → Sideload a Service, and upload the pre-RDTS bitcoind.s9pk.
Start Knots. Leave LND stopped.
If Knots doesn’t start cleanly or advance to latest block, you may need to run “Actions” > “Reindex Blockchain”.
Start LND once Knots is fully caught up.
Umbrel
Umbrel’s Bitcoin Knots app has a version selector under Settings → Bitcoin Knots Version.
**Prefer the most recent build that is still before v29.3.knots20260508.
Stop your Lightning Node app, (and dependecies like Forktower, Mempool, Agent Wallet).
In the Bitcoin Knots app, open Settings → Bitcoin Knots Version and select a build earlier than v29.3.knots20260508.
Apply and let Knots restart.
If Knots doesn’t start cleanly or advance to latest block, set under Advanced → custom bitcoin.conf overrides:
reindex=1
Then restart Knots. Remove reindex=1 as soon as it completes, then restart once and confirm Knots comes up without rebuilding again. Left in place it throws everything away and rebuilds on every start, indefinitely. Do not remove it partway through hoping to save time (reindexing does not reliably resume after an interruption).
Start Lightning Node once Bitcoin Knots is fully caught up.
I just switched over to v29.3.knots20260507 in Umbrel (if you choose the 0508 version like @paul recommends, you’ll constantly get a “Consensus rules change” pop up window you can’t dismiss) and I did not have to do anything else. Just go into the Knots settings > Bitcoin Knots Version > and select the appropriate version in the drop down list. Knots app will restart and it will look like it didn’t work because it will have on the latest BIP110 tip but just leave it alone. Walk away for a few hours. It will eventually find the Core chain tip and start syncing that.
If running Forktower, no need to restart after switching back to legacy chain since it is hardwired to monitor legacy chain and both sides would now be looking at the same chain, unless steps are taken to add a differing watchtower that is watching the BIP-110 chain. Correct?
for the start9 I am running bitcoin knots 29.2 you say unistalll all services , dose this mean everything or just bitcoin related services , or eveerthing on the start9, then do the update and reinstall all the services I had before the update , and do I need to install etc core or can I reinstall knots , I am running datum connected to a bitaxe
which does not contain data that absolutely must be preserved (i.e. not everything)
Datum is fine to keep installed for the update (though it is easy to reconfigure, so I’d just capture the bitcoin address and uninstall it too before upgrading). The main ones you want to keep are the ones that take forever to sync (Knots, electrs, mempool), lightning nodes (LND or Core Lightning), and Vaultwarden. But if there are other services (except any of mine – mine do not survive the update to 0.4.0) that you want to bring along so you don’t have to lose some data or reconfigure them, then keep them. Just make sure everything is fully updated (refresh the marketplace page in case it is cached, to make sure).
this is suggested, If you haven’t already, add an SSH key to your server. If something goes wrong during the migration, SSH access makes it much easier to debug.
got it done , ,can you clarify something about bitcoin core and knots as they stand now , are both compatible with datum , for the purpose of solo mining , is one preferred over. the other for that purpose , thanks
Yes, unfortunately I didn’t have time to get them submitted to the Community Registry (was focused on getting as many tools out as possible before mandatory signaling).
In this video I show how to switch from the stalled BIP-110 chain back to the legacy chain by replacing Knots with a pre-RDTS version. I cover StartOS 0.3.5.1 (with or without upgrading the OS), 0.4.0.1, and Umbrel.
IMPORTANT: Please read the official guide for upgading StartOS from 0.3.5.1 to 0.4.0! Some additional steps are recommended, such as adding a SSH key before the upgrade, and using the preferred installation from USB path rather than over the air. And there are special considerations for some services (such as Jam, Ghost, and others). Read and understand the process rather than just blindly following the path I showed in this video. See: Update to StartOS 0.4.0 - StartOS
I’m on Start09 0.3.5.x following your instructions to sideload Knots 29.3.1 in place of my current Knots 29.3.0 installation. StartOS shows that I need to update from 29.3.0 to 29.3.1. Neither pressing the Update button nor doing the sideloading is working. I’ve downloaded the bitcoind.s9pk file more than once and verified the SHA256 checksum. File seems to be fine, but Start OS is erroring out with the message:
Bitcoin Knots - Install Failed
Install of bitcoind@29.3.1 Failed: Filesystem I/O Error: error reading a body from connection: end of file before message length reached
Any thoughts on why this is happening and/or what I can do at this point to get updated to StartOS 0.4.0? Apparently I can’t update the OS until my Services are updated completely and for now I’ve still got an update notification that I can’t get rid of.
I would check if your server is low on disk space first (let me know what percentage it shows). If that is it, then try uninstalling some unnecessary apps if possible (Mempool is fairly large, for example, and it can always be reinstalled later after the update).
If space looks good, then the most likely cause is a flaky network. You might try checking the ethernet connection, using a different cable if you have one, and stoping/ restarting the router and rebooting the server.
I’m at 53.2% disk space used of 1981 GB total capacity drive. I don’t think I’m low on space and am down to only 5 services installed. I have rebooted the StartOS device. Not my router yet - I guess that’s next to try.