¿Cómo puedo vaciar la cadena de bloques?

Estoy tratando de hacer una sincronización rápida usando geth --fastpero recibo este mensaje:

blockchain no está vacío, sincronización rápida deshabilitada

¿Cómo puedo vaciar la cadena de bloques para permitir una sincronización rápida?

Respuestas (4)

Para eliminar su cadena de bloques con geth, ejecute: geth removedb
Luego:

Use --fastpero probablemente también necesite --cache=1024(y --jitvmtambién puede ayudar). Sin él, está ejecutando con el valor predeterminado que es --cache=16.

Es posible un aumento de velocidad del 50% simplemente aumentando el caché.

Si está comenzando desde el principio, use:geth --fast --cache=1024 --jitvm

Dependiendo de su RAM, también puede probar con valores más altos, como --cache=2048.

NOTA: ¡ El número que --cache=sigue es la cantidad de memoria asignada a la tarea de descargar la cadena de bloques!

Fuente

Tenga en cuenta que esto debería ser ahora geth removedb(sin guión)
¿Hay alguna manera de hacer esto mientras geth --fastya se está ejecutando? Quiero dejarlo funcionando a largo plazo para responder a las solicitudes de RPC, pero no quiero que consuma mi disco.
Me refiero a una forma segura. Puede ejecutar geth removedben un shell separado mientras geth --fastse está ejecutando. No tuve ningún problema al hacer esto y luego enviar algunos xacts, pero no sé si es seguro. Los doctores no dicen nada.

El valor predeterminado datadires:

Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%/Ethereum

Elimine el chaindatasubdirectorio que encuentre.

Ejecute geth --fast --cache=1024una forma recomendada de sincronizar la cadena rápidamente (no olvide usar una más grande --cachecon un valor como 1024; de lo contrario, el valor predeterminado es 16 y no se sincronizará tan rápido).

EDITAR: Correr geth removedbes la forma más sencilla de eliminar la cadena de bloques en Geth.

Si tiene su cadena de bloques importada parcial o totalmente al iniciar geth, entonces --fastse ignora el uso de la bandera (la bandera está deshabilitada). Para usar la --fastbandera, debe eliminar todos los datos de su chaindatacarpeta.

¿Comenzar de cero con --fast tomará menos tiempo que actualizar desde los datos almacenados? ¿En qué momento dirías que vale la pena?

usar

geth --fast --cache=2048

parece que al menos Mac no proporciona las otras opciones en go1.9.2:

flag provided but not defined: -jitvm
Esta es una pregunta antigua (marzo de 2016), las primeras iteraciones de la --fastbandera no permitían reiniciar geth hasta que terminara de sincronizarse, si reiniciaste, cambiará al modo completo.