Cuando uso Mist, siempre usa la ruta IPC predeterminada a mi sistema operativo (en este caso, OSX es /Users/me/Library/Ethereum/geth.ipc
). ¿Hay alguna forma de configurar o especificar una ruta IPC no predeterminada para Mist? Esto me permitiría separar las conexiones IPC de la red principal y de la red de prueba.
Estas respuestas ya deben ser "viejas" :) ....
En mi Mac, Mist versión 0.8.2,
/Applications/Mist.app/Contents/MacOS/Mist --rpc /my/path/to/geth.ipc
funciona bien.
También funciona con RPC (y una advertencia apropiada), es decir
/Applications/Mist.app/Contents/MacOS/Mist --rpc http://machine:rpcport
Está codificado. Entonces, "hay alguna manera" = seguro, cambia el código. :-D
https://github.com/ethereum/mist/blob/v0.3.8/modules/ipc/getIpcPath.js
(Como referencia porque el intercambio de pila odia el enlace solo responde:
module.exports = function() {
var p = require('path');
var path = global.path.HOME;
if(process.platform === 'darwin')
path += '/Library/Ethereum/geth.ipc';
if(process.platform === 'freebsd' ||
process.platform === 'linux' ||
process.platform === 'sunos')
path += '/.ethereum/geth.ipc';
if(process.platform === 'win32')
path = '\\\\.\\pipe\\geth.ipc';
console.log('CONNECT to IPC PATH: '+ path);
return path;
};
)
Puede haber una mejor manera, pero una técnica simple que sin duda funcionará es ejecutar mainnet y testnet en diferentes cuentas de usuario.
Solo quería agregar mis 2 centavos para configurar un entorno en el que varias instancias puedan ejecutarse una al lado de la otra en una caja de Windows. Si está ejecutando esto en Linux o Mac, las instrucciones deberían darle una idea clara de cómo configurarlo.
Para poder ejecutar esta configuración, creé un directorio en mi unidad D: para datos relacionados con Ethereum y creé dos subdirectorios, uno para la red principal y otro para la red de prueba:
D:\Ethereum
mainnet
testnet
Cuando se ejecuta Mist, genera automáticamente un proceso geth para conectarse a la cadena de bloques y luego Mist se conecta a esa instancia. (En mi configuración, Mist y geth se conectan de forma predeterminada a la red principal). Para controlar qué cadena de bloques se conecta geth también, he creado dos archivos por lotes con los siguientes contenidos:
Mainnet: C:\Users\Erwin\AppData\Roaming\Mist\binaries\Geth\unpacked\geth.exe --datadir "D:\Ethereum\mainnet"
Testnet: C:\Users\Erwin\AppData\Roaming\Mist\binaries\Geth\unpacked\geth.exe --testnet --datadir "D:\Ethereum\testnet" --port 30313 --rpcport 8555 --wsport 8556 --ipcpath "geth-testnet.ipc"
Asegúrese de que el archivo por lotes se ejecute antes de iniciar Mist, ya que Mist se adjuntará automáticamente a una instancia de geth en ejecución. Para la red principal, Mist se conectará a través de IPC a \\.\pipe\geth.ipc. Para la red de prueba, especifiqué un nombre de IPC alternativo \\.\pipe\geth-testnet.ipc. Para que Mist se conecte a la instancia de geth conectada a la red de prueba, debe copiar y editar el acceso directo de Mist de la siguiente manera:
1. Navigate to the shortcut tab
2. Modify the target field as follows: "C:\Program Files\Mist\Mist.exe" --node-datadir="D:\Ethereum\testnet" --rpc \\.\pipe\geth-testnet.ipc
Si ahora inicia la instancia de Mist para la red de prueba, se conectará automáticamente a su instancia de red de prueba geth en ejecución. Para la red principal, puede continuar usando el acceso directo predeterminado de Mist siempre que cuando instaló Mist, especificó que deseaba conectarse a la red principal de forma predeterminada.