¿Cómo configurar un datadir diferente en Mist?

Con bitcoin y otros, puede usar --datadirla opción para especificar dónde se guardan la cadena de bloques, el almacén de claves, etc. Pero no funciona con Mist.

De la wiki oficial:

Para configurar la ubicación del directorio de datos, se puede especificar el parámetro --datadir. Consulte Opciones de la CLI para obtener más detalles.

Comienzo Mist así, pero no funciona. Todavía escribe todo en%APPDATA%\Ethereum

R:\Ethereum\bin\Ethereum-Wallet.exe --datadir "R:\Ethereum\data\"

Además, ¿qué es esto debajo de %AppData%\Roaming\Mist:? ¿Tiene eso alguna información sensible?

¿Por qué no mantener todo en un solo lugar y hacerlo configurable? Ha sido una práctica estándar para todas las demás monedas durante mucho tiempo (por lo que es fácil de colocar en unidades extraíbles o encriptadas, idealmente en ambas).

Respuestas (6)

Ethereum-Wallet viene empaquetado con geth.exe, que es el software de nodo de cadena de bloques de Ethereum. Aquí está la lista del archivo Ethereum-Wallet-win64-0-5-2.zip descargado de https://github.com/ethereum/mist/releases :

$ unzip -tv Ethereum-Wallet-win64-0-5-2.zip  | grep geth
testing: Ethereum-Wallet-win64-0-5-2/resources/node/geth/   OK
testing: Ethereum-Wallet-win64-0-5-2/resources/node/geth/geth.exe   OK

Cuando inicia Ethereum-Wallet.exe, automáticamente ejecutará geth.exe si no detecta que ya se está ejecutando.

Si inicia manualmente R:\Ethereum\bin\Ethereum-Wallet.exe\resources\node\geth\geth.exe con la opción --datadir "R:\Ethereum\data\", geth.exe usará su directorio especificado para los datos de la cadena de bloques y la información del almacén de claves.

Después de que se haya iniciado geth.exe, inicie Ethereum-Wallet.exe y se comunicará con geth.exe que está utilizando su directorio especificado.

Acabo de probar esto y no funcionó, usando linux64-0-8-1. En lugar de conectarse al geth en ejecución, simplemente comparó que no podía iniciarlo porque ya se estaba ejecutando otro geth.
Las instrucciones anteriores son para Windows. Pruebe ethereum.stackexchange.com/a/5806/1268 para Linux. Este problema es el archivo IPC que se usa para que Mist se comunique con geth. Debe configurar el archivo IPC para que esté en $HOME/.ethereum/geth.ipc. De forma predeterminada, el archivo IPC se creará en {datadir}/geth.ipc.
Dado que Mist tiene una forma de cambiar de red desde debajo del menú, realmente debería hacerlo por sí mismo, es decir, agregando el directorio de datos apropiado.

No estoy familiarizado con ese ejecutable y, de hecho, ni siquiera estoy seguro de que sea eth por decir, así que creo que crees que usas eth mientras no lo estás.

eth -hse mostrará al final:

General Options:
    -d,--db-path,--datadir <path>  Load database from path (default: /home/YOURUSER/.ethereum).
Esta respuesta se proporcionó cuando la pregunta mencionaba erróneamente/confusamente eth.

Usando geth y la mayoría de las otras implementaciones, puede apuntar la aplicación a la ubicación de datos deseada. En geth:

 geth --datadir "/home/youruser/.ethereum"

En su caso, apúntelo al punto de montaje de su disco externo.

Ver las opciones de la línea de comandos de geth

Además, si desea que Mist funcione, debe agregar la --ipcpath ~/.ethereumbandera cuando use un directorio de datos no predeterminado.
no estoy muy seguro de lo que hace... al configurar --ipcpath ~/.ethereum Mist lee el almacén de claves de la PC. Cuando lo dejo predeterminado, puede leer el almacén de claves desde la unidad externa. Aunque todavía no puedo encontrar una manera de mover los datos de la aplicación Mist a la unidad externa.

¿Debería usar un enlace simbólico?

Porque creaste en Vista y luego en Windows si tienes privilegios de administrador.

Con privilegios de administrador, inicie un cmd.exe

cd C:\Users\[User Name]\AppData\Roaming
mklink /D Ethereum "[Data Dir Absolute Path]"
mklink /D Mist "[Mist Data Dir Absolute Path]"
Esto funciona bien incluso con solo la chaindatasubcarpeta debajo Ethereumde , que contiene la mayor parte de los datos. De esta forma, puede mantener su almacén de claves de forma segura en la carpeta de perfil y almacenar los datos de la cadena de bloques, por ejemplo, en un disco duro USB. Haga esto, debe ejecutar la billetera una vez para que C:\Users\[User Name]\AppData\Roaming\Ethereumexista el directorio debajo, luego mueva el subdirectorio chaindataal lugar deseado (por ejemplo R:\Ethereum\chaindata) y finalmente haga el enlace: mklink /D C:\Users\[User Name]\AppData\Roaming\Ethereum\chaindata R:\Ethereum\chaindata.

Use geth --datadir o si está usando el sistema *nix como Linux u osX, puede crear un enlace simbólico desde su ~/ethereum al que está en su HDD.

Esa fue la solución más fácil para mi (usando Linux). Simplemente mueva los datos y el enlace simbólico. Funciona como encanto

moviendo %userprofile%\AppData\Roaming\Ethereum = geth.exe --datadir ".\MyEthDataFolder"

%perfil de usuario%\AppData\Roaming\Mist = ???????

aclarando lo que creo que es parte de la pregunta original

Utilice el botón Publicar respuesta solo para respuestas reales. Cuando tenga más reputación , podrá editar la pregunta para agregar información adicional. Si, en cambio, tiene una NUEVA pregunta, hágala haciendo clic en el botón Hacer pregunta .