My question is how long does it take on average to download whole blockchain and set-up new wallet with standard Bitcoin-QT client.
-
Look on internet, there are plenty of sites discussing this. I think there are already several question on this stackexhange too. PS. usually one day, depending on your BUS and CPU speed.– JoriOct 27, 2013 at 11:15
-
possible duplicate of How long should synchronizing your wallet for the first time take?– Murch ♦Oct 27, 2013 at 22:11
1 Answer
It depends on your bandwidth and (to a lesser extent) your power of your CPU, because each block requires verification. You can see the latest size at here. Currently it is 10.8GB or so.
One option to speed up the download is to download a bootstrap.dat. The Bitcoin client will look for a "bootstrap.dat" file to pre-seed blocks. You can download on version of bootstrap.dat at bitcoincharts.com. In most cases this will be faster, than the under-resourced bitcoin network.
Alternatively, if you run linux try this batch script:
#!/bin/bash
[ -z "$1" ] && echo "Usage: input=coinname" && exit 1
coin="$1"
while sleep 1; do
blk="$(eval "$coin getblockcount")"
h="$(eval "$coin getblockhash $blk")"
coin_t="$(eval "$coin getblock $h" | grep '"time"' | awk '{print $3}' | sed -e 's/,//g')"
d="$[$(date +%s) - $coin_t]"; dm="$[$d / 60]"; dh="$[$dm / 60 ]"; dd="$[$dh / 24 ]"
echo "Difference from main chain $d s. or $dm m. or $dh h. or $dd d."
if [ -z "$first_t" ];then
first_t="$d"
start_watch_time="$(date +%s)"
else
difference=$[$first_t - $d]
speed="$(echo "$difference / $[$(date +%s) - $start_watch_time ]" | bc -l)"
remain_seconds="$(echo "$d / $speed" | bc -l)"
remain_minutes="$(echo "$remain_seconds / 60" | bc -l)"
remain_hours="$(echo "$remain_minutes / 60" | bc -l)"
remain_days="$(echo "$remain_hours / 24" | bc -l)"
# eval "$coin getinfo"
echo -n "Approximate Time Remaining: $remain_seconds seconds to complete sync."
echo "[m: $remain_minutes; h: $remain_hours; d: $remain_days ]"
fi
[ "$LAST_BLK" == "$blk" ] && echo "Alarm! Stuck on block # $blk!"
LAST_BLK="$blk"
done
Save it to "coin_get_diff.sh" and run:
$ bash coin_get_diff.sh bitcoind
Example output:
...
....
Difference from main chain 2528577 s. or 42142 m. or 702 h. or 29 d.
Approximate Time Remaining: 2186.83957899106610047826 seconds to complete sync.[m: 36.44732631651776834130; h: .60745543860862947235; d: .02531064327535956134 ]
Difference from main chain 2526232 s. or 42103 m. or 701 h. or 29 d.
Approximate Time Remaining: 2184.21035499949140474011 seconds to complete sync.[m: 36.40350591665819007900; h: .60672509861096983465; d: .02528021244212374311 ]
Difference from main chain 2524021 s. or 42067 m. or 701 h. or 29 d.
Approximate Time Remaining: 2205.15551284291455530316 seconds to complete sync.[m: 36.75259188071524258838; h: .61254319801192070980; d: .02552263325049669624 ]
...
..