Размер блокчейна Ethereum

Я синхронизировал блокчейн Ethereum на своем сервере AWS Ubuntu 16.04 с жестким диском на 110 ГБ.

Команда, которую я использовал,geth --syncmode=fast --cache=1024

Согласно bitinfocharts , общий размер блокчейна Ethereum на сегодняшний день (2017.11.26) составляет 103,10 ГБ.

После завершения синхронизации я набрал, dh -hчтобы узнать, сколько места на диске она потребляет.

ИСПОЛЬЗУЕТСЯ ТОЛЬКО 38 ГБ, что составляет 1/3 размера блокчейна!

Кто-нибудь знает, почему?

ОТРЕДАКТИРОВАНО:

По этой ссылке 5chdn ответил, что Geth предлагает сокращение базы данных только при начальной синхронизации.

Это причина? Что, если я хочу синхронизировать полный узел блокчейна?

Какую команду следует использовать для синхронизации полного узла?

Ответы (2)

У вас есть весь блокчейн, вы не пропускаете никакой информации. Это правда, что начальная синхронизация выполняется в «быстром» режиме и содержит обрезанную информацию, которая вам не нужна.

Так что все хорошо и хорошо.

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

Спасибо за ваш комментарий. Но я до сих пор не понимаю, почему размер блокчейна сильно отличается от размера на сайте bitinfocharts ( bitinfocharts.com , сейчас размер блокчейна составляет 121,79 ГБ). Если у меня есть весь блокчейн, то я подумал, что он должен быть ближе к 121,79 ГБ.
Есть много деталей, на которые я могу ответить, чтобы ответить на ваш вопрос, но вы найдете лучшие ответы, если будете искать, в чем разница между сокращенным и архивным блокчейном для Ethereum. Одна аналогия - сжатие. Вы можете сжать файл размером 10 МБ до 1 МБ, у вас все равно будет вся необходимая информация с файлом размером 1 МБ (даже если обрезка — это не то же самое, что сжатие).
спасибо! буду искать дальше. По сути, поскольку я использовал --fastрежим, я синхронизировал обрезанные данные блокчейна.

Режим быстрого синхроимпульса — это еще один алгоритм синхронизации.

Быстрая синхронизация: получает заголовки блоков, тела блоков, не обрабатывает транзакции до текущего блока - 1024. Затем> он получает состояние моментального снимка и происходит как полная синхронизация.

( Что такое «легкая» синхронизация Geth и почему она такая быстрая? )

Подробнее здесь: https://github.com/ethereum/go-ethereum/pull/1889