Avatar
Keith Mukai
5b0e8da6fdfba663038690b37d216d8345a623cc33e111afd0f738ed7792bc54
SeedSigner lead dev. Bitcoin Core dev (barely). Specter Desktop contributor. python-nostr, rana, NIP-26.

Plot twist: this was the roof inside a container that's inside my house...

(I lie, ofc)

Spent two hours changing out the vent cap on the roof today. Temps hit 89°F. Finished the job (mostly), started feeling really horrible, climbed down, doused myself in cold water, threw up a few times. whee...🤢

Holy hell. So glad it's (mostly) done, though. Still have go back up and retrieve some tools and garbage and do some more sealing, but I was going to pass out if I stayed up there any longer.

Physical labor IS HARD.

Yep! I was worried about what the performance might be like inside of Docker's virtualized universe that is itself running inside a proxmox virtualized container... but was assured it would hardly matter.

Also mempool.space shouldn't be doing much heavy lifting since that's Fulcrum & bitcoind's job.

Everywhere you use the phrase "Seed Signer" in this article, you actually mean "signing device". It's super confusing.

SeedSigner is an open source project, not a product category.

The basic concept, as I understand it, is that the more isolated each thing is, the easier the maintenance, changes, etc will be. Let's say Fulcrum needs way more RAM; I could just move that container to a different host machine without reconfiguring anything else.

Or let's say I'm trying to install some tool or app, I follow instructions to install all these dependencies, and then find out that info was outdated or that those dependencies cause other headaches. Oops, too late, already inserted those dependencies into way too many places to try to undo. Even worse if I did that in the Linux OS that runs my main bitcoin node.

I've restarted a Docker + mempool install twice now by blowing it away and starting clean. It just frees you to really iterate through try, fail, retry cycles.

I don't need super bulletproof uptime. My main bitcoin node has been down for like 2+ months and I've gotten by okay!

Just want an easier path to rebuilding when something hardware-related goes wrong.

And now fulcrum is indexing!

bitcoind and fulcrum are running in their own separate Debian 11 containers. Got the rpc permissions/bindings/etc setup in bitcoind so fulcrum could access it. And off it goes!

This whole container-level isolation concept is wild.

On deck: Specter Desktop, mempool.space.

For the foreseeable future, Phoenix and its single-channel splicing will be my only LN node.

As for digging this deep into proxmox... I'll def need to take it slow!

Doxxing my health stats with a Garmin wifi scale!!

Ah, that'll be fun to experiment with. I have a second old laptop here that I can also work into the mix. I don't have a NAS so I guess I'd configure my bitcoind data volume to replicate/backup to the other host? Doesn't help much to have bitcoind survive if it has to restart IBD.

First time I've played with it. Pretty crazy that it actually works! Haven't tried any of the backup / restore scenarios yet.

And do I understand correctly that I could cluster a bunch of host machines together to the point where I don't even necessarily know where a specific container is running? Or is that more about replicating a container elsewhere in the cluster?

Using the built-in Debian 11 lxt/CT/container (idk all this f'n lingo!!) in proxmox.

YES!!!

My (new-to-me) 8yr old laptop has finished IBD!!

Took a couple days but now we're ready to rock and really put proxmox to the test! Will kick off Fulcrum indexing next. And start layering in more bitcoin-related/depdendent stuff!

Doesn't quite cover every screen (e.g. the live preview screens that use the camera) but coverage is pretty good and we're focusing more and more on getting to 100%.

Just updated with the not-quite-final (but close enough) v0.7.0 screenshots.

https://github.com/kdmukai/seedsigner-screenshots/blob/main/en/README.md

Multiple times a day, I suddenly realize I'm doing five things at once. And all of them poorly.

EVERY SAT IS PRECIOUS!!!!

Woot! I had BlockFi credit card rewards locked up in the bankruptcy. Happy to see those sats on their way home*!

---

*(they said withdrawals could take up to 90 days! 🤣)

Whoa, mega-nerd confusion here for a moment. "Rust" is a game, ya? 100% thought you were talking about the programming language. Then I thought it was a game centered around *learning* the programming language (and was a tiny bit excited for that!). Then finally realized, naw, it's a normie game that just happens to have the same name.

Unquantifiable gray area between "need some muscle" vs me being less strong *by gymnastics standards*. Like, I'm not going to win any Crossfit competitions but my "out of shape" floor (a few months ago) is:

https://cdn.nostr.build/p/w25d.mp4

But when I was in exceptional shape a few years ago, man was I STRONG!

NUMBER GO DOWN!!! 🔥

Body fat reading was exactly 13.0% this morning! Down from 20% on June 2nd.

Absolutely amazing to fit comfortably in my smaller t-shirts again!

Continuing w/intermittent fasting (16/8) + keto. You can see a mini vacation blip in there, but solidly back on track now.

Tracking weight is a bit bullshit. I haven't been this light (~138lbs) since I was about 17yrs old. BUT a few years ago, even though I weighed more, I was much stronger AND had a lower body fat percentage. Better in both dimensions.

I "fixed" it by finally managing to install the r8168 driver. But after a reboot, networking was totally dead. I haven't had time to do any further debugging.

Two lessons learned so far:

1. I should have mixed the mud with a bit more water.

2. 20min mud wasn't a great call for a first timer who doesn't know what he's doing. I had to really race to patch the second cutout. I wish I'd bought more like 45min.

Def ain't pretty at this stage. And the plywood I used was way too hard for this purpose. Had a helluva time getting the screws in deep enough.

Screw a mounting plank in to give you something to screw the filler piece into.

Mixed up drywall mud for the first time and did my first patch today!

nostr:npub1ugnq57hn8va6xqr5zywy2eunem6c624583vkt0dmv40ep7tnnxkqrr898l for what it's worth, I'm confident in nostr:npub1qny3tkh0acurzla8x3zy4nhrjz5zd8l9sy9jys09umwng00manysew95gx 's transparency and honesty.

I know in bitcoin we don't trust, we verify. But human interactions are built on trust, earned over time.

These steps are fairly ancient now, but still helped me figure out how to configure some things for my node yesterday. Def helpful to have me in the past explaining something I've long since forgotten to me in the present!

https://github.com/kdmukai/raspi4_bitcoin_node_tutorial

Sys admin shit is hell.

Proxmox and its first VM working great... until it isn't. Spontaneously. Looks like everything is still running but the networking is getting knocked out.

Googling... specific ethernet controller + specific driver release = these failures. Sure, yeah, that classic "r8168 vs r8169" gotcha.

How do I install/revert to r8168? Enable `non-free-firmware` apt sources. But, what... can't resolve the domains? Total DNS failure... Oh, DNS server is set to localhost? Update to 8.8.8.8 (this is shit I'm surprised I know and am not happy it's taking space in my brain). Ah, now able to resolve DNS.

Cool, back to apt. Can't update from an unsecure repository? Okay, googling... edit `/etc/apt/sources.list` (again).

Nope, not there. Ah, remove the proxmox enterprise repos...

(endless spiraling sys admin hell continues)

Ha, yeah. I think v2 of this attempt will be Ubuntu with no desktop. In my original thinking / early misunderstanding of proxmox, I was envisioning the laptop screen itself presenting me the Ubuntu UI.

But even then... why? I only ever use the command line. Just didn't know how to think clearly about proxmox at the beginning.

I'm starting to run into more things I don't know/can't remember about ubuntu & configuring Bitcoin Core and so far no further problems in proxmox blocking me. So that's definitely big progress!

Running proxmox

↳Running Ubuntu

↳Running bitcoin