I have this little NUC (small computer) that I've been using for ~8 years now to run my bitcoin/lightning node and everything else related. I've been using it as a playground to just try everything, I've installed and reinstalled so many things, I ran it with FreeBSD (my fav), Ubuntu and in the last years Debian, it's been running pretty stable with very little maintenance. 

But a few days ago it would't boot anymore, disk full, the 500 GB internal SSD isn't enough anymore for full blockchain + indexes and I don't want to run it pruned, it's also connected to a 2 TB external USB HDD but that one is a bit slow. I've moved some things around a few times to make it work again but now its not booting anymore with a totally unrelated error about a wifi device (wtf, its not even using wifi), so after all these years of experiments and bloat I've decided to just start over with fresh install, same NUC, bigger disks, reinstall OS and restore config. This time I'm going to install the minimal just to: - Connect my wallets to my own bitcoin or lightning node - Look up transactions on my own blockchain explorer - Connect a BitAxe solo lottery miner Bookmark this post if you want to follow along as I will post my updates as replies. #sidequest #hobby #server image

Replies (13)

While bitcoind is still syncing I've started with the mempool backend and electrs following the steps from Unfortunately there is no simple mempoold to just download and run, I also need to install rust first (in addition to nodejs and npm) to run the backend installer, more bloat :( image
Compiling electrs by following steps on: But instead of doing it on the NUC, I'm doing it on a virtual machine, installed with the same Debian .iso file that I used on the usb stick for the NUC. I'm doing this with UTM: This way I can just copy over only electrs and don't need all the mess of packages required to build it on the NUC. It would have been great if I could do this with nodejs/npm stuff too but I don’t think that’s possible. image
the new electrs build is ready, the docs said the build would take ~20 minutes, I didn't measure it but left it running in the background and it took longer than an hour. bitcoind is still syncing in the background, blocks are at june 2024 now, will probably be finished by tomorrow. After that I will start electrs with a fresh sync too. image
I took the latest lightning lnd from At first thought I copied wrong version because the file dates are jan 1st 2020, but after checking —version it says 0.18.3-beta. Probably the machine used to build it has the wrong date or maybe needed for deterministic builds, I never looked in to how thats done. image
ziggie's avatar
ziggie 1 year ago
I think we set a default timestamp iirc
bitcoind has finished its sync, now I can start electrs. I wasn't sure how slow the sync would be so I tried it first from scratch but it was going very slow, would probably take days, so instead I copied over the data from my old disk, which was around 50 GB. With bitcoind running, electrs running, I can start the mempool backend and my now local block explorer is working: image
now I should also be able to start lightning lnd but I was getting errors: [ERR] LTND: unable to create partial chain control: unable to determine if bitcoind is pruned: unable to detect bitcoind version I vaguely remember @Derek Ross posted about a special config flag and after some digging around that was it: lnd can’t connect to bitcoin core v28 without it, after adding the flag the problem went away and my lightning channels are back online.
Derek Ross's avatar Derek Ross
LND? Did you added deprecatedrpc=warnings to your bitcoin.conf?
View quoted note →
Now time to get the BitAxe lottery miner connected, I can't connect it directly to my bitcoin node, it needs something that does stratum protocol in between. A few options I found: public-pool, ckpool, stratum SRI. public-pool seems easy to use but needs nodejs stratum SRI looks way too complex for solo lottery mining, I don't understand anything on the docs so I'm trying out ckpool, it has instructions specifically for solo mining which I'm following: https://bitbucket.org/ckolivas/ckpool-solo/src/solobtc/README I'm doing it the same as with electrs, building it in the virtual machine so I can keep the NUC clean. Following the steps, I kept getting stuck on the ./configure command. For some reason this line in configure breaks it: PKG_PROG_PKG_CONFIG(). I'm not sure what it does but the only way I could continue was by removing it. This resulted in 4 files, I think only 1 is needed for solo mining but I copied all 4 to the NUC just to be sure. I pointed ckpool to bitcoind, and the bitaxe miner to ckpool and all looks good: