3

Consider a base set up consisting of 'n' docker containers (within a VM running on OSX), each running a geth instance. Thanks to the guidance from @BokkyPooBah, in a different thread, I have been able to set up a cluster of 4 containers all added as peers on the network each having an account. Now, I am trying to have the Mist browser interface on the host OSX to interface with the containers to be able to navigate across accounts. Typical instructions and help around using the browser suggest how the browser can be connected to a single geth instance. Is there a way to have the browser, interface across multiple nodes(containers)?

  • Possible duplicate of Running a custom private go-ethereum node cluster using docker – niksmac Apr 27 '16 at 9:31
  • The other post was around running a cluster and this question is interfacing the cluster with a common Mist browser on the host machine to connect to the multiple containers. Edited the original question to clarify where the browser is hosted – skarred14 Apr 27 '16 at 9:34
3

You should be able to run geth on your command line with your private network setup parameters IF you have --ipcpath pointing to the default ~/Library/Ethereum/geth.ipc file path.

Start Ethereum Wallet and it will use the default IPC path to communicate with geth that is running to communicate with your local private network.

I have just tested this with geth --dev ... and I see a "PRIVATE-NET" in red in the top menu bar of Ethereum Wallet, with my --dev network accounts loaded.


Q: Now, I am trying to have the Mist browser interface on the host OSX to interface with the containers to be able to navigate across accounts.

A: You can navigate across the accounts if you have all the accounts loaded in the geth instance that the Mist browser is connected to. Just copy the files from your keystores in each Docker node into the keystore of the geth instance that Ethereum Wallet will connect to.


Q: Is there a way to have the browser, interface across multiple nodes(containers)?

A: From the source code, it seems that the Ethereum Wallet will only communicate with one geth instance at the one time.


Ethereum Wallet Hardcoded IPC File Paths

From Mist getIpcPath.js - lines 10 to 23, here are the hardcoded IPC file paths:

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';
  • Thanks for the suggestions. With respect to being able to navigate across accounts, I think the container volume can be synced with the ethereum wallet's default keystore directory. For multiple node scenario, the only way I can think of is to sync every node's keystore with the keystore on the host, but that wouldnt solve the identification of nodes on the browser. Probably there are avenues within the source code, to be able to make an extension for multiple nodes. – skarred14 Apr 27 '16 at 23:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.