Я синхронизировал блокчейн 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 предлагает сокращение базы данных только при начальной синхронизации.
Это причина? Что, если я хочу синхронизировать полный узел блокчейна?
Какую команду следует использовать для синхронизации полного узла?
У вас есть весь блокчейн, вы не пропускаете никакой информации. Это правда, что начальная синхронизация выполняется в «быстром» режиме и содержит обрезанную информацию, которая вам не нужна.
Так что все хорошо и хорошо.
Это также означает, что было бы неплохо удалить данные блокчейна и перезапустить его, если у вас мало места на диске и вы используете узел более 6 месяцев. База данных будет намного меньше (но опять же, они оба являются полными узлами).
Режим быстрого синхроимпульса — это еще один алгоритм синхронизации.
Быстрая синхронизация: получает заголовки блоков, тела блоков, не обрабатывает транзакции до текущего блока - 1024. Затем> он получает состояние моментального снимка и происходит как полная синхронизация.
( Что такое «легкая» синхронизация Geth и почему она такая быстрая? )
Подробнее здесь: https://github.com/ethereum/go-ethereum/pull/1889
ДжейБи Ким
xgabrielx
ДжейБи Ким
--fast
режим, я синхронизировал обрезанные данные блокчейна.