Как подключить нелокальную ноду к приватному блокчейну?

Есть ли способ подключить НЕ ЛОКАЛЬНЫЙ узел к работающему частному блокчейну? Итак, в одной локальной сети 3 виртуальные машины. Они синхронизированы с частным блокчейном. У них есть static-nodes.json и тот же genesis.json. Одна из этих виртуальных машин имеет подключение к Интернету и сопоставление порта 8545 с белого IP-адреса на локальный IP-адрес. Я хочу подключить туда еще один узел, но этот узел не находится в локальной сети виртуальных машин. Есть ли шансы это сделать? Может какие-то параметры rpcallow и тд? Надеюсь, кто-нибудь может мне помочь и прояснить этот вопрос.

Спасибо!

у вас есть два варианта: запуск процесса загрузочного узла или добавление пиров вручную с помощью admin.addPeer()
RPC предназначен для клиентов, которые хотят использовать узел, но не для подключения узлов, узлы подключаются с использованием протокола Ethereum 63.
Но как я могу это сделать?
geth --networkid 57 --fast --datadir "~/Blockchain4" --rpc --rpcapi "admin,personal,db,eth,net,web3" --rpcport "8545" --rpcaddr "195.182.149.109" - -rpccorsdomain "*" --mine --unlock 0 --password ~/Blockchain3/password.sec --ipcpath "~/Blockchain4/geth.ipc" Вот моя команда. Если я ставлю туда rpc-адрес типа whire IP одной из виртуальных машин - возникает ошибка. Узел, который мне нужно подключить, находится не в локальной сети, и я уже не знаю, как это сделать.

Ответы (1)

Одна из этих виртуальных машин имеет подключение к Интернету и сопоставление порта 8545 с белого IP-адреса на локальный IP-адрес.

Не путаете ли вы порт RPC с портом TCP/UDP при локальном переназначении портов?

8545 — это порт, обычно используемый для RPC-соединений, указанный с помощью --rpcport «8545» при запуске geth. Тем не менее, порт, обычно используемый для TCP/UDP (т.е. соединения с пирами), это "30303", указанный с --port "30303" при запуске geth.

Я подозреваю, что вам следует переназначить 30303 вместо 8545.