Подключение 2 узлов на разных машинах в другой сети с терминала в эфириуме

Подключение 2 узлов на разных машинах в другой сети с терминала в эфириуме.

У меня есть 3 узла, работающих на моей машине с Ubuntu, скажем, A, я предварительно выделил им некоторую сумму, и они могут передавать эту сумму друг другу, используя адреса узлов.

Я хочу передавать/общаться с другой машины, скажем, B, на которой также работают 3 узла. как узлы на машине A могут подключаться к узлам на машине B. Я хочу настроить частную сеть между A и B без подключения к основному блокчейну, чтобы A и B начали общаться друг с другом,

На первом узле я запускаю это:

geth --genesis /home/cgen.json --datadir '/home/jedi/Desktop/node1' --networkid 12588 --port 30305 --verbosity 0 console

и на 2-м терминале:

geth --genesis /home/customgen.json --datadir '/home/jedi/Desktop/node1' --networkid 12345 --nodiscover --port 30311 --verbosity 0 console --bootnodes "enode://5675641adc6106447d9741c48ce382aca7becddd6da99881e8c98ef26f73bf4a63252fb‌​e5ec29ddec6960cb78c7d69d39c181c6ca83e38d39670be6742f76d94@1.39.47.145:30311" 

Не уверен, какая версия geth.

Вы используете сетевые идентификаторы 12588и 12345убедитесь, что они совпадают.
попробовал это, но мой net.peercount равен 0 после запуска
Вы используете тот же файл генезиса? Имена в ваших командах разные. Если эти узлы находятся на одном компьютере, их каталоги данных не могут совпадать. Проверьте это для более подробной информации.
@varm они на разных машинах, я сохранил идентификатор сети одинаковым
@ 5chdn, когда я запускаю команду на 2-й машине для подключения к машине 1, она работает, не показывает ошибок, но консоль geth не открыта, и одновременно, если я проверяю количество пиров на машине 1, он приходит 1 только на доли секунды, а затем возвращается к 0
Mahine 1- geth --genesis /home/cgen1.json --datadir '/home/jedi/Desktop/node8' --networkid 13245 --port 30010 console Machine2 -geth --genesis /home/cgen1.json --datadir '/home/jedi/Desktop/node8' --networkid 13245 --port 30010 --bootnodes "enode://5dfa40c241eac4a3e26d46441847f372bae24b0eb668cd1104dd983ee079b3d5bfeeea758f1a101525c1bf51305a278b1f1d2a18bccfe0a314725be81e418dc8@1.39.47.145:30010"
@jassu Вы также должны использовать тот же файл генезиса. Вместо загрузочных узлов вы пытались использовать функцию admin.addPeer() .
@varm Это мой файл генезиса на обеих машинах { "nonce": "0xdeadbeefdeadbeef", "timestamp": "0x0", "parentHash": "0x00000000000000000000000000000000000000000000000000000000000000000000", "080Limit": "0x0", "080Limit": "0x0", "08Limit": "0x0", "08Limit": ", "difficulty": "0x400", "mixhash": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
Я также сталкиваюсь с той же проблемой. у меня есть 2 узла на разных машинах, и я не могу добавить их как одноранговые узлы. Пожалуйста, дайте мне знать, если кто-нибудь достиг этого. Спасибо.
Это на самом деле не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав Задать вопрос . Вы также можете добавить вознаграждение , чтобы привлечь больше внимания к этому вопросу, когда у вас будет достаточно репутации . - Из обзора

Ответы (2)

Сгенерируйте какой-нибудь случайный ID , например, с помощью случайной точки org, давайте воспользуемся 88259. На первой машине вы запускаете клиент таким образом (обратите внимание, я также изменил сетевой порт и каталог данных, чтобы избежать конфликтов с основной сетью):

geth --datadir "/home/user/.eth-private" --port 30259 --networkid 88259

Это запустит новый экземпляр частной сети ethereum на вашей первой машине.

I0621 10:19:02.655014 ethdb/database.go:82] Alloted 128MB cache and 1024 file handles to /home/user/.eth-private/chaindata
I0621 10:19:02.827145 ethdb/database.go:169] closed db:/home/user/.eth-private/chaindata
I0621 10:19:02.827243 cmd/utils/flags.go:601] WARNING: No etherbase set and no accounts found as default
I0621 10:19:02.827886 ethdb/database.go:82] Alloted 128MB cache and 1024 file handles to /home/user/.eth-private/chaindata
I0621 10:19:02.840042 ethdb/database.go:82] Alloted 16MB cache and 16 file handles to /home/user/.eth-private/dapp
I0621 10:19:02.841749 eth/backend.go:172] Protocol Versions: [63 62 61], Network Id: 88259
I0621 10:19:02.841907 eth/backend.go:201] Blockchain DB Version: 3
I0621 10:19:02.842241 core/blockchain.go:206] Last header: #0 [d4e56740…] TD=17179869184
I0621 10:19:02.842260 core/blockchain.go:207] Last block: #0 [d4e56740…] TD=17179869184
I0621 10:19:02.842271 core/blockchain.go:208] Fast block: #0 [d4e56740…] TD=17179869184
I0621 10:19:02.842952 p2p/server.go:313] Starting Server
I0621 10:19:04.844709 p2p/discover/udp.go:217] Listening, enode://6179e58bb512415a76e4169dd25ae5a171e34069660b233cf79dabd3581d8dd1221a7f3a5e5d64251aa7e8ac20eda5430e42eed161e68cb05d05e6c3cab68a6e@[::]:30259
I0621 10:19:04.845128 p2p/server.go:556] Listening on [::]:30259
I0621 10:19:04.848679 node/node.go:296] IPC endpoint opened: /home/user/.eth-private/geth.ipc

Теперь вы извлекаете enode uri из первого узла и заменяете IP-адрес идентификатором вашей локальной сети (LAN или используйте общедоступный IP-адрес, если узлы распределены), например:

enode://6179e58bb512415a76e4169dd25ae5a171e34069660b233cf79dabd3581d8dd1221a7f3a5e5d64251aa7e8ac20eda5430e42eed161e68cb05d05e6c3cab68a6e@192.168.1.159:30259

Теперь вы можете передать этот узел в качестве загрузочного узла второму и третьему узлу, например:

geth --datadir "/home/user/.eth-private" --port 30259 --networkid 88259 --bootnodes "enode://6179e58bb512415a76e4169dd25ae5a171e34069660b233cf79dabd3581d8dd1221a7f3a5e5d64251aa7e8ac20eda5430e42eed161e68cb05d05e6c3cab68a6e@192.168.1.159:30259"

Обратите внимание, что идентификатор сети должен быть одинаковым на всех клиентах. Он попытается подключиться к вашему первому узлу.

Если у вас запущено несколько узлов, вы также можете добавить дополнительные узлы в параметр bootnodes, просто разделив их запятой.

при работе на 2 консоли geth получение флага ошибки предоставлено, но не определено: - bootnodes
Пожалуйста, дополните свой вопрос более подробно : какая версия geth, какая у вас точная командная строка и т. д. стр.

Чтобы сделать узел одноранговым, вам нужны три одинаковых параметра на обоих узлах:

  • одноразовый номер
  • Идентификатор сети
  • Файл Бытия

После этого используйте значение enode, полученное при выполнении команды admin.nodeInfo . Вместо {::} введите IP-адрес другого компьютера. Надеюсь, это решит вашу проблему.

Пожалуйста, прочитайте мои комментарии выше, дайте мне знать, если будут внесены какие-либо изменения
Попробуйте использовать 12345 в качестве идентификатора сети на обоих концах.