Какие порты TCP и UDP необходимы для запуска клиента Ethereum?

Параметры командной строки geth предполагают, что по умолчанию клиент прослушивает TCP-порт 30303. На этой странице дополнительно предлагается использовать UDP-порт 30301 для обнаружения узлов.

Это все, что требуется, или используются какие-то дополнительные порты?

Ответы (1)

Клиенты Ethereum используют порт прослушивателя (TCP) и порт обнаружения (UDP ), оба по умолчанию 30303 .

Если вам нужно запустить JSON-RPC , вам также понадобится TCP - порт 8545 . Обратите внимание , что порт JSON-RPC не должен быть открыт для внешнего мира, потому что оттуда вы можете выполнять административные операции.

Все порты клиента можно настроить по умолчанию.

Если вы хотите, чтобы geth/eth находил UPnP, вам также нужно, чтобы он был включен на вашем маршрутизаторе. Это просто для того, чтобы он мог прослушивать порт, в этом нет необходимости, если вы уже открыли/маршрутизировали их вручную.

Что касается вики-страницы, на которую вы ссылаетесь, на самом деле это просто пример:

Если порты TCP и UDP (обнаружение) различаются , порт UDP указывается как параметр запроса diskport .

В следующем примере URL-адрес узла описывает узел с IP-адресом 10.3.58.6, портом прослушивания TCP 30303 и портом обнаружения UDP 30301.

Я думаю, что это недоразумение распространяется еще и из-за поведения утилиты bootnode . Фактически, он использует 30301 в качестве порта обнаружения UDP по умолчанию.

Примечание: geth будет использовать IPv6 в качестве приоритета, если он доступен, что может вызвать проблемы, если вы предполагаете, что он прослушивает адрес IPv4.

Убедитесь, что вы также разрешаете исходящий трафик через TCP/30303.
У меня открыты оба этих порта, но я не могу синхронизироваться. Похоже, что geth пытается подключиться к пирам через другие TCP-порты. См. ethereum.stackexchange.com/questions/26652/…
И убедитесь, что вы активно блокируете входящие JSON-RPC (8545) etherscan.io/address/…
Итак, требуется ли, чтобы TCP 30303 был открыт для ВХОДЯЩЕГО соединения при простом запуске клиента geth? Я просто хочу иметь самое последнее состояние / данные блокчейна в своей локальной системе, меня не интересует майнинг. Нужно ли еще открывать 30303 для входящего трафика?