Как подключить Mist к удаленной частной сети? [Дубликат]

    

У этого вопроса уже есть ответ:

    

Я видел вариант подключения Mist к privatenet здесь как это

geth --networkid 1234 --ipcpath /Users/you/Library/Ethereum/geth.ipc

Похоже, что путь закодирован где-то в коде.

Как подключить Mist к частной сети, которая является удаленной?

5 голосов | спросил niksmac 15 AMpFri, 15 Apr 2016 05:43:19 +030043Friday 2016, 05:43:19

1 ответ


4

Похоже, что путь жестко закодирован где-то в коде.

Да. Соединения Mist жестко закодированы для использования только IPC, а не RPC.

[email protected]:~/EthereumSource/mist$ find . -iname '*ipc*'
./tests/mocha-in-browser/spec/ipc-spec.js
./modules/ipc
./modules/ipc/ipcProviderBackend.js
./modules/ipc/ipcProviderWrapper.js
./modules/ipc/getIpcPath.js
./modules/ipcCommunicator.js
[email protected]:~/EthereumSource/mist$ find . -iname '*rpc*'
./nodes/eth/darwin-x64/libjsonrpccpp-client.0.dylib
./nodes/eth/darwin-x64/libjsonrpccpp-server.0.dylib
./nodes/eth/darwin-x64/libjsonrpccpp-common.0.dylib
./nodes/eth/darwin-x64/libweb3jsonrpc.dylib

И ваши пути IPC можно найти в modules /ipc /getIpcPath.js с 7 по 24

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;
};

Mist и geth взаимодействуют через IPC, открывая дескриптор файла на локальном компьютере и затем отправляя сообщения друг другу через этот файловый дескриптор , Поэтому в настоящее время нет удаленного подключения.



Как подключить Mist к частной сети, которая является удаленной?

Вы можете попробовать подключить свой локальный экземпляр geth к удаленному geth, используя протокол P2P, а затем подключите Mist к вашему локальному экземпляру geth, используя IPC.

Другими словами, просто сделайте свой локальный компьютер другим узлом в вашей частной сети.

Вы можете установить отдельно установленную копию geth или использовать geth, упакованный с помощью Mist, который доступен в следующих каталогах:

  • {MISTINSTALLDIRECTORY}/resources/node/geth/geth для Linux и Mac OS X
  • {MISTINSTALLDIRECTORY}\resources\node\geth\geth.exe для Windows

Если ваша частная сеть имеет --networkid {xyz} и пользовательский файл генезиса, используйте --networkid {xyz} и --genesis {custom genesis file}

Следующее - получить локальный geth, чтобы поговорить с вашими частными сетевыми узлами. Это нужно сделать с помощью --bootnodes или создания файлов static-nodes.json или trusted nodes в вашем каталоге данных. Не забудьте добавить --maxpeers {x} для ненулевого {x}, поскольку исключение из командной строки, по-видимому, предотвращает создание соединений.

ответил The Officious BokkyPooBah 15 AMpFri, 15 Apr 2016 06:07:45 +030007Friday 2016, 06:07:45

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132