I wanted to copy the fully-synced #Bitcoin blockchain data from my @getumbrel node to a new raspi that I'm setting up.
Quick 🧵on how to do it:
* First you have to STOP the Umbrel services but keep its Pi running.
You want the Bitcoin Core data to be frozen in time so that it doesn't get out of sync with itself when you're copying (which will take a while).
In order to stop Umbrel...
* `ssh` into your Umbrel node. Password is the same as the web UI.
ssh umbrel@umbrel.local
If you can't resolve `umbrel.local`, you can use its IP addr:
ssh umbrel@192.168.x.y
* `cd` into the `umbrel` dir.
* Run the `stop` script.
The `sudo` password is once again the same as the web UI.
* ssh into your new Raspi (e.g. `ssh pi@raspberrypi.local`; default password is "raspberry").
* Use `scp` to copy these three blockchain dirs from your Umbrel node over the network.
(obv adjust the output dir for your setup)
* Install Bitcoin Core on the new Raspi (whole separate 🧵).
* Test it out by manually running `bitcoind` and verify that it starts up and is happy w/the blockchain data.
CTRL-C to kill it.
* Configure Raspi to run `bitcoind` automatically.
Why bother with this? The external fan is so freakin' quiet that it (plus a Noctua fan for the psu) makes an S9 totally viable as a space heater in any room.
Default S9 fans (set to ~1100W) are a bit worse than a loud bathroom exhaust. Not horrible, but not quiet.
Here's the fan. It isn't completely silent but you could easily sleep next to it.
And because it wasn't pulling enough cfms, I ditched the speed controller entirely so it's running at max speed (which isn't so max).
* v0.5.x has been out since April. It's f'n awesome and still gaining more features.
* But the Raspi Zero is near-impossible to find.
* We must port to alternate hardware.
* Begin MicroPython R&D hell.
Strategy:
Focus on easily-sourced microcontrollers (MCUs) instead of Pi-like single-board computers (SBCs).
The Pi Zero was an amazing cheat to get @SeedSigner off the ground quickly, but an MCU always made more sense (e.g. waiting 45s for linux to load is ridiculous).
The most popular MCU afaik is the STM32 line. But they're in supply chain hell. "See you in 2023" is not an option.
ALMOST through the hardest parts of @SeedSigner's PSBT review screens.
BIG breakthrough: realizing we can confirm change addrs much more easily than previously thought!
We can instantly provide assurances that single sig change addrs are legit. Multisig requires a 2nd step.
"35c5d905: change #0" means:
* For the seed that we selected to sign this psbt (ID'ed by its fingerprint)...
* The addr from the psbt was confirmed to match the seed's first (#0) change addr.
This is undeniably my seed's correct change addr. My change is not being stolen.
And, yes, probably the "confirmed address for seed" label could be improved. So f'n hard to convey complex concepts in limited real estate!
Experimenting with this @SeedSigner PSBT warning screen.
If your coordinator software gives you an evil PSBT that steals your change output, this would call that out.
But legit txs can obv be a full spend, too.
So too scary or confusing for noobs? Better wording ideas?
Obv a noob could misconstrue "input value" with "OMG is it stealing my WHOLE WALLET?!!"
But I think noobs are unlikely to ever construct a tx that spends exactly a whole utxo (and so wouldn't see this warning) unless they're actually sweeping their whole wallet.
The other possibility is that they're trying to sign with the wrong key.
(though me may be able to prevent this from happening, too)