Soy nuevo en Ethereum y trato de configurar un nuevo nodo con geth (usando 1.6.5-estable).
Estoy ejecutando geth --fast --cache=1024
y hasta ahora he estado sincronizando durante unos 3 días (Win 7, 6 GB de RAM). Veo muchas advertencias en el registro y algunos errores, pero el proceso siempre parece continuar.
Sin embargo, cuando las cosas parecen moverse lentamente, he dejado de sincronizar periódicamente con Ctrl+C
. Esto parece conducir a un cierre limpio de geth. Luego reinicié nuevamente geth --fast --cache=1024
y la sincronización parece retomar desde el mismo punto. Estado hasta ahora a través eth.syncing
de la consola de javascript:
{
currentBlock: 3294258,
highestBlock: 3899534,
knownStates: 47242,
pulledStates: 3041,
startingBlock: 3293182
}
¿Esta bien? Concretamente mis preguntas son:
--fast
bandera después de interrumpir? He leído en otra parte que la bandera no debe usarse con una descarga parcial de la cadena de bloques, pero no estoy seguro de si esto se refiere a una "sincronización completa" histórica o a cualquier tipo de sincronización parcial.Sí, puede reiniciar la sincronización de la cadena con la --fast
bandera tantas veces como desee, pero debe asegurarse de que se use cada vez. Cuando sincronizaste solo durante unos segundos sin el indicador rápido, no puedes reiniciarlo en modo rápido (bueno, puedes, pero se apagará automáticamente).
Además, cuando finaliza la sincronización rápida, es decir, se sincroniza con la red y al menos uno de los bloques completos se actualiza, la sincronización rápida ya no será posible (a menos que comience de cero). Al menos así es como funcionó en mi experiencia.
Señalaré que ambas respuestas anteriores son algo correctas:
geth --fast solo funciona si chaindata está vacío, la única vez que geth está en modo rápido real es cuando lo ejecuta con chaindata vacío. Las versiones más nuevas de geths tienen el modo rápido de forma predeterminada, pero eso no significa que en realidad seas más rápido que el modo completo. esto tiene varias implicaciones:
si no está sincronizando por primera vez, geth --fast no generará errores, pero verá un mensaje de registro que dice "blockchain no vacío, sincronización rápida deshabilitada". Esto significa que aunque está ejecutando con --fast, porque chaindata no está vacío, en realidad no está sincronizando rápidamente.
2.a Si la sincronización rápida se completó antes, está bien, ha hecho su trabajo y puede continuar sincronizado
2.b Si la sincronización rápida no se completó, no hay forma de reanudarla, debe eliminar los datos de la cadena y reiniciar la sincronización rápida nuevamente desde cero
flurín
Blockchain not empty, fast sync disabled
después de un reinicio?--fast
siempre se ha usado.