Как уменьшить дисковое пространство, необходимое для полного блокчейна?

Я хочу запустить биткойн на виртуальной машине.

Однако размер блокчейна основной сети превышает 21 ГБ и продолжает расти.

Есть ли способ сжать это или уменьшить объем дискового пространства, необходимого для полного блокчейна?

в мае 2017 г. рекомендуемое минимальное пространство составляет 125 ГБ.

Ответы (3)

Нет, нет простого способа уменьшить требования к дисковому пространству. Цепочка блоков имеет такой размер.

Предлагаются различные способы использования биткойном меньшего дискового пространства (см. пространство ), но, насколько мне известно, ни один из них еще не был добавлен в стандартный дистрибутив.

Что вы можете сделать в вашем очень конкретном случае, так это включить символическую ссылку на папку, которая находится за пределами вашей виртуальной машины (т. е. общую папку с хост-машиной). Тогда блокчейн может поместиться там с большим количеством места.

Обратите внимание, однако, что люди отправили сигнатуры вирусов в блокчейн, поэтому, если ваш хост работает под управлением Windows, вам придется иметь дело с этим, а не помещать в карантин определенные папки.

перемещение данных из виртуальной машины не уменьшит необходимое пространство, также два экземпляра биткойнов не могут получить доступ к одной и той же папке одновременно. Также ни один антивирусный инструмент не блокирует блокчейн, который уже известен и игнорируется.
хм? Это уменьшит дисковое пространство внутри виртуальной машины. Разве это не его вариант использования?
Вы уменьшаете пространство, необходимое для виртуальной машины, но место на физическом диске по-прежнему необходимо, даже если оно не подключено непосредственно к виртуальной машине, поэтому вы не экономите место. Размер диска виртуальной машины всегда можно изменить, так что это не должно быть проблемой.
Итак, вы говорите, что упоминание ОП о виртуальной машине в вопросе абсолютно не имеет значения; что это так же актуально, как ОП, говорящий о его / ее прическе. Это правильно? По крайней мере, я так читаю ваш комментарий.
Правильно, важна не виртуальная машина, а общее дисковое пространство. Вы видите, что принятый ответ не имеет ничего общего с vm.

В настоящее время в Bitcoin Core нет встроенного решения. Я думаю, что можно было бы написать скрипт, периодически перемещающий файлы blkxxxx.dat в сжатую файловую систему и заменяющий исходные файлы симлинками. Эти файлы большие и достаточно сжимаемые, поэтому таким образом вы можете сэкономить несколько ГБ. Однако другие файлы базы данных плохо поддаются сжатию.

Большие файлы blkxxxx.dat на самом деле не используются Bitcoin Core, за исключением передачи старых блоков пирам, повторного сканирования цепочки блоков на предмет транзакций кошелька, обработки реорганизаций и выборки произвольных блоков/транзакций через JSON-RPC. Изменить Bitcoin Core для удаления этих данных было бы довольно легко, но если бы все сделали это, сеть рухнула бы, поэтому в настоящее время она не поддерживается. В будущем узлы, вероятно, будут хранить только случайное подмножество этих данных (возможно, несколько ГБ) и отбрасывать остальные.