pull down to refresh

Hey @SimpleStacker, I'm working full‑time on speeding up Bitcoin Core IBD, see https://github.com/bitcoin/bitcoin/pull/32043.
I'm really surprised by the 7‑day, 78 % sync you're seeing. I run multiple IBDs and reindex‑chainstates per day to hunt new bottlenecks, and even the worst finish in about 12 hours. I should get some Raspberry Pi benchmarking servers somehow.
A few of us are also working on an experimental IBD alternative called SwiftSync (https://delvingbitcoin.org/t/swiftsync-speeding-up-ibd-with-pre-generated-hints-poc/1562). The latest prototype reindex‑chainstated up to block 888888 in 29 minutes on my laptop (with profiling enabled!). Granted, it's a really powerful laptop.
My first guess is that your disk I/O is probably very slow, something that can be mitigated by keeping more data in memory with, for example, -dbcache=5000. You can also increase the batch size of writes to LevelDB with -dbbatchsize=67108864. Lastly, you can turn off script verification by setting -assumevalid=000000000000000000013e40cf3ae6464f5f99d415d6a1fb31577841103df5d8 to the hash of the block you want to re‑enable it from.
No wonder your 8 GB RAM Pi performs poorly on an 11 GB UTXO set.
That's the size on disk - in memory it's almost 30 GiB.
Thanks! Glad to hear someone is working on IBD optimization.
I have dbcache=4000, and my HD speed testing with hdparm was something like 250 MB/s... which I think is supposed to be ok?
Haven't tried dbbatchsize or assumevalid yet
reply
5 sats \ 1 reply \ @anon 14 May
Forgot to ask: are you doing IBD over TOR? That's notoriously slow (I'm really proud of the "no-tor-io" pun here)
reply
Tor is enabled, but I thought it can download via both clearnet and Tor.
Here are my bitcoin.conf settings. Let me know if there's anything I should change:
# RaspiBolt: bitcoind configuration
# /home/bitcoin/.bitcoin/bitcoin.conf

# Bitcoin daemon
server=1
txindex=1

# Allow creation of legacy wallets (required for JoinMarket)
deprecatedrpc=create_bdb

# Network
listen=1
listenonion=1
proxy=127.0.0.1:9050
bind=127.0.0.1

# Activate v2 P2P
v2transport=1

# Connections
rpcauth=<replace with your own auth line generated by rpcauth.py>
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
whitelist=download@127.0.0.1          # for Electrs

# Raspberry Pi optimizations
maxconnections=40
maxuploadtarget=5000

# Initial block download optimizations
dbcache=4000
blocksonly=1
reply