Сколько времени занимает загрузка блокчейна

Мой вопрос заключается в том, сколько времени в среднем требуется для загрузки всего блокчейна и настройки нового кошелька со стандартным клиентом Bitcoin-QT.

Поищите в инете, там полно сайтов по этому поводу. Я думаю, что на этом стеке уже есть несколько вопросов. PS. обычно один день, в зависимости от скорости шины и процессора.

Ответы (1)

Это зависит от вашей пропускной способности и (в меньшей степени) мощности вашего процессора, потому что каждый блок требует проверки. Вы можете увидеть последний размер здесь . В настоящее время это 10,8 ГБ или около того.

Одним из способов ускорить загрузку является загрузка файла bootstrap.dat. Биткойн-клиент будет искать файл «bootstrap.dat» для предварительного заполнения блоков. Вы можете загрузить версию bootstrap.dat на сайте bitcoincharts.com . В большинстве случаев это будет быстрее, чем сеть биткойнов с ограниченными ресурсами.

В качестве альтернативы, если вы используете Linux, попробуйте этот пакетный скрипт:

#!/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

Сохраните его в «coin_get_diff.sh» и запустите:

$ bash coin_get_diff.sh bitcoind

Пример вывода:

...
....
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 ]
...
..