Я хочу запустить биткойн на виртуальной машине.
Однако размер блокчейна основной сети превышает 21 ГБ и продолжает расти.
Есть ли способ сжать это или уменьшить объем дискового пространства, необходимого для полного блокчейна?
Нет, нет простого способа уменьшить требования к дисковому пространству. Цепочка блоков имеет такой размер.
Предлагаются различные способы использования биткойном меньшего дискового пространства (см. Дисковое пространство ), но, насколько мне известно, ни один из них еще не был добавлен в стандартный дистрибутив.
Что вы можете сделать в вашем очень конкретном случае, так это включить символическую ссылку на папку, которая находится за пределами вашей виртуальной машины (т. е. общую папку с хост-машиной). Тогда блокчейн может поместиться там с большим количеством места.
Обратите внимание, однако, что люди отправили сигнатуры вирусов в блокчейн, поэтому, если ваш хост работает под управлением Windows, вам придется иметь дело с этим, а не помещать в карантин определенные папки.
В настоящее время в Bitcoin Core нет встроенного решения. Я думаю, что можно было бы написать скрипт, периодически перемещающий файлы blkxxxx.dat в сжатую файловую систему и заменяющий исходные файлы симлинками. Эти файлы большие и достаточно сжимаемые, поэтому таким образом вы можете сэкономить несколько ГБ. Однако другие файлы базы данных плохо поддаются сжатию.
Большие файлы blkxxxx.dat на самом деле не используются Bitcoin Core, за исключением передачи старых блоков пирам, повторного сканирования цепочки блоков на предмет транзакций кошелька, обработки реорганизаций и выборки произвольных блоков/транзакций через JSON-RPC. Изменить Bitcoin Core для удаления этих данных было бы довольно легко, но если бы все сделали это, сеть рухнула бы, поэтому в настоящее время она не поддерживается. В будущем узлы, вероятно, будут хранить только случайное подмножество этих данных (возможно, несколько ГБ) и отбрасывать остальные.
миксдев