¿Es posible almacenar la cadena de bloques en un directorio diferente?

Estoy ejecutando gethLinux dentro de un Chromebook. La cadena de bloques se almacena dentro ~/.ethereumde , junto con otros archivos importantes. El problema es que la capacidad de almacenamiento de mi Chromebook es bastante limitada, por lo que es difícil mantener los datos en el directorio del usuario.

Tengo una tarjeta SD en la que me gustaría guardar la cadena de bloques mientras mantengo la instalación de geth en el directorio de inicio y local en la computadora. ¿Cómo puedo hacer esto? No creo que esto tenga que ver con --datadir(eso es solo para el keystore, ¿verdad?). Cualquier guía o documentación es útil, ya que básicamente no puedo sincronizar con la red con mi almacenamiento limitado tal como está. ¡Gracias!

--datadires para chaindatatambién, pero no para DAG
Para simplificar mi pregunta, si tengo una copia de seguridad de mi contraseña y mi almacén de claves, pero pierdo mi computadora, ¿cómo recuperaría exactamente el éter? He leído los documentos de copia de seguridad y restauración , pero no siento que esta respuesta se establezca de manera simple (es decir, paso uno, paso dos, paso tres, etc.). Si alguien me da la respuesta, estaré feliz de incluir la solicitud de incorporación de cambios para mejorar los documentos.
Simplemente copie su carpeta (con copia de seguridad) keystorea la carpeta señalada por --datadir. Las contraseñas siguen siendo las mismas.

Respuestas (4)

El indicador --datadir especifica el directorio de datos de ubicación.

geth --datadir <path to data directory>

Este directorio debe contener los siguientes subdirectorios:

  • cadena de datos
  • almacén de claves
  • nodos

Al iniciar, GETH intentará abrir el socket unix IPC (comunicación entre procesos) dentro de su directorio de datos geth.ipc. Sin embargo, los sistemas de archivos FAT32 no admiten las operaciones necesarias para crear sockets Unix. Por lo tanto, si el directorio está en un sistema de archivos FAT32 (por ejemplo, una unidad flash externa), deberá:

  • Deshabilite la comunicación entre procesos agregando una --ipcdisablebandera
  • Si desea utilizar la consola IPC, puede especificar que geth.ipcdebe estar en un sistema de archivos de Linux ipcpath--ipcpath some/path/on/linux/geth.ipc
Gracias por su respuesta. Ejecuté este comando con la ruta que conduce a mi tarjeta SD (que generó automáticamente chaindatay nodes, pero arrojó un error). Así que creé keystorey agregué mi clave manualmente. Sin embargo, recibo un error que dice "Error al iniciar la pila de protocolos - /ruta/a/sd/tarjeta/geth.ipc bind: operación no permitida"
@eth @JackWinters He leído los documentos extensamente aquí ( github.com/ethereum/go-ethereum/wiki/Managing-your-accounts ), pero todavía no entiendo cómo comenzar gethcon mis cuentas existentes pero con el blockchain (p. ej., archivo grande) ubicado en medios externos.
El problema parece estar relacionado con el uso de una unidad externa. En esta publicación de reddit, Péter Szilágyi sugiere agregar las banderas --ipcdisable o --ipcpath some/path/on/linux/ geth.ipc
Gracias @JackWinters, lo logró.geth --datadir path/to/SD/datadir --ipcdisable
Con respecto a ese problema de "socket IPC abierto": ¿SMB es compatible? Porque me gustaría montar un almacenamiento de archivos de Microsoft Azure en mi directorio ~/.ethereum, y necesito IPC.
@Munchkin, si usa la --ipcpathbandera, puede especificar dónde se crea el socket IPC. Si simplemente lo coloca en algún lugar de su disco local, debería funcionar bien. Supongo que el error proviene de intentar crear un socket IPC en un dispositivo FAT

Comience geth con la bandera --datadir "ruta/al/directorio-que-quiere". Consulte https://ethereum.gitbooks.io/frontier-guide/content/cli.html .

El directorio predeterminado es:

  • Mac:~/Library/Ethereum
  • Linux:~/.ethereum
  • Windows: %LOCALAPPDATA%/Ethereum(la fuente dice %APPDATA% pero eso es incorrecto)

Tomado de: https://geth.ethereum.org/docs/install-and-build/backup-restore

Esta pregunta describe cómo se puede ejecutar un nodo Geth usando un archivo de configuración externo.

Además de las respuestas anteriores, puede generar archivos de configuración de modo que los nodos se puedan ejecutar para diferentes redes/opciones de configuración con sus datos almacenados en diferentes directorios usando comandos simples.

Por ejemplo

geth --config usb-config.toml

Después de perder el tiempo, descubrí que debe deshabilitar la configuración "Ajustar para el horario de verano" (suponiendo que le diga que está apagado por ~ 1 hora).

Hola. ¿Puedes explicar qué tiene que ver tu respuesta con la pregunta...? :)
@Justin, ¿Querías publicar esto en otro lugar? Considere eliminar de esta página, ya que no responde la pregunta.