Guide: Switching from Bitcoin Core to Bitcoin Knots on StartOS v0.3.5.1

Context

Bitcoin Core and Bitcoin Knots both appear as interchangeable on StartOS 0351 and this is both intentional and a result of a missing feature.

By design, because we aim to facilitate seamless switching between similar services that share most of the same data, ensuring that users can transition without needing to resync the entire Bitcoin blockchain from scratch. With this “hack” both Core and Knots will be able to utilize the same already downloaded blocks without you needing to uninstall one and then install the other.

Due to a missing feature because, until we have the feature available in v040, the only way to allow the two services to share the same data on v035 is to allow StartOS to think they are the same service. So, as a temporary solution, StartOS treats the two services as if they are the same, which can lead to some confusion. For instance, if you have one installed, StartOS may indicate that the other is also installed. Additionally, you might receive update notifications for the flavor you do not use. This is a necessary tradeoff for the time being.

If you prefer not to switch between the two, please ensure that you only click to upgrade the version of Bitcoin you wish to keep. Upgrading Knots while running Core has on occasion resulted in a switch to Knots, and vice versa. We added a check to prevent this, but it’s still better to refrain from doing so.

Switching from Bitcoin Core to Bitcoin Knots

If you are running Core and you’d like to start running Knots, you’d follow the steps below. (Reverse the names to switch from Knots to Core)

  1. Hit stop on the flavor of Bitcoin you already have installed (i.e. Core)
  2. Go to System and scroll to the “Manage” heading.
  3. Click on the heading “Manage” five times to activate the ‘secret’ developer mode in StartOS
  4. To the the Marketplace, then to the Community Registry, click on Knots
  5. Click “Resinstall”

It will say Reinstall rather than Install, remember, because StartOS sees Core and Knots as the same thing, so detects Core as installed so displays Knots and installed. Reinstalling one when you have the other will overwrite the previous install without removing the already synced blocks.

Dependencies

Services that depend on a flavor of Bitcoin should be happy with either. If you are running LND or CLN, switching should not cause you any issues other than your lightning implementation potentially failing to route payments while the switch is happening.

All services that depend on Bitcoin should continue to work normally, but if they don’t, then it’s likely that the RPC credentials were changed and not picked up. To fix this, open each service that has stopped working, click on the config button and then immediately hit save without doing anything.

Also keep in mind that some services specifically require a flavor of Bitcoin. Datum will only work with Knots. Dojo will only work with Core. Because of the missing feature that causes both services to appear as one, it may not be clear what the real dependencies are, but it is mentioned in the descriptions/guides for those services… which you always read in full, right?

3 Likes

Contexto

Bitcoin Core y Bitcoin Knots aparecen como intercambiables en StartOS 0351, y esto es tanto intencional como resultado de una característica faltante.

Por diseño, porque nuestro objetivo es facilitar el cambio sin problemas entre servicios similares que comparten la mayor parte de los mismos datos, asegurando que los usuarios puedan hacer la transición sin necesidad de volver a sincronizar toda la blockchain de Bitcoin desde cero. Con este “hack”, tanto Core como Knots podrán utilizar los mismos bloques ya descargados sin que necesites desinstalar uno y luego instalar el otro.

Debido a una característica faltante, porque, hasta que tengamos la función disponible en v040, la única forma de permitir que los dos servicios compartan los mismos datos en v035 es permitir que StartOS piense que son el mismo servicio. Así que, como solución temporal, StartOS trata a los dos servicios como si fueran el mismo, lo que puede llevar a cierta confusión. Por ejemplo, si tienes uno instalado, StartOS puede indicar que el otro también está instalado. Además, podrías recibir notificaciones de actualización para la versión que no utilizas. Este es un compromiso necesario por el momento.

Si prefieres no cambiar entre los dos, asegúrate de hacer clic solo para actualizar la versión de Bitcoin que deseas mantener. Actualizar Knots mientras ejecutas Core resultará en un cambio a Knots, y viceversa.

Cambio de Bitcoin Core a Bitcoin Knots

Si estás ejecutando Core y te gustaría comenzar a usar Knots, sigue los pasos a continuación. (Invierte los nombres para cambiar de Knots a Core)

  1. Haz clic en “Stop” en Bitcoin Core
  2. Ve a System y desplázate hasta el encabezado “Manage”.
  3. Haz clic en el encabezado “Manage” cinco veces para activar el modo de desarrollador ‘secreto’ en StartOS.
  4. Ve al Marketplace, luego al Registro de Community, haz clic en Knots.
  5. Haz clic en “Reinstall”.

Dirá Reinstalar en lugar de Instalar, recuerda, porque StartOS ve a Core y Knots como lo mismo, por lo que detecta Core como instalado y muestra Knots como instalado. Reinstalar uno cuando tienes el otro sobrescribirá la instalación anterior sin eliminar los bloques ya sincronizados.

Dependencias

Los servicios que dependen de una versión de Bitcoin deberían estar contentos con cualquiera de los dos. Si estás ejecutando LND o CLN, el cambio no debería causarte ningún problema, aparte de que tu implementación de lightning podría fallar en enrutar pagos mientras se realiza el cambio.

Todos los servicios que dependen de Bitcoin deberían seguir funcionando normalmente, pero si no lo hacen, es probable que las credenciales RPC hayan cambiado y no se hayan actualizado en esos otros servicios. Para solucionar esto, abre cada servicio que ha dejado de funcionar, haz clic en el botón de configuración y luego presiona guardar inmediatamente sin hacer nada más.

También ten en cuenta que algunos servicios requieren específicamente una versión de Bitcoin. Datum solo funcionará con Knots. Dojo solo funcionará con Core. Debido a la característica faltante que hace que ambos servicios aparezcan como uno, puede no estar claro cuáles son las verdaderas dependencias, pero se menciona en las descripciones/guias de esos servicios… que siempre lees en su totalidad, ¿verdad?

Was wondering about this! Did exactly as you said and worked perfectly. Sparrow wallet took a little to connect to the node after changing for me. Only small thing was I had to restart LND to get it to sync. Cannot help but notice the timing of this :smiley:

I did get this error
" Install of bitcoind@28.1.0.2 Failed: Config Generation Error: No Match: blkconstr: Field Is Not Nullable".

However once I clicked on config and save everything looked to be functional and LND is recognizing the Bitcoin Knots dependency.

Thank you very much for this tutorial.