pull down to refresh
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
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=1reply
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=000000000000000000013e40cf3ae6464f5f99d415d6a1fb31577841103df5d8to the hash of the block you want to re‑enable it from.That's the size on disk - in memory it's almost 30 GiB.