¿Qué puertos TCP y UDP se requieren para ejecutar un cliente Ethereum?

Las opciones geth CLI sugieren que, de manera predeterminada, el cliente escucha en el puerto TCP 30303. Esta página , además, sugiere que el puerto UDP 30301 se usa para el descubrimiento de nodos.

¿Es esto todo lo que se requiere o hay puertos adicionales en uso?

Respuestas (1)

Los clientes de Ethereum usan un puerto de escucha (TCP) y un puerto de descubrimiento (UDP ), ambos en 30303 de manera predeterminada.

Si necesita ejecutar JSON-RPC , también necesitará el puerto TCP 8545 . Tenga en cuenta que el puerto JSON-RPC no debe abrirse al mundo exterior, porque desde allí puede realizar operaciones de administración.

Todos los puertos del cliente se pueden personalizar desde el valor predeterminado.

Si desea que geth/eth encuentre UPnP, también querrá habilitarlo en su enrutador. Eso es solo para que pueda escuchar en un puerto, no es necesario si ya los abrió/enrutó manualmente.

Acerca de la página wiki que vinculó, en realidad informa solo un ejemplo:

Si los puertos TCP y UDP (descubrimiento) difieren , el puerto UDP se especifica como parámetro de consulta discport .

En el siguiente ejemplo , la URL del nodo describe un nodo con la dirección IP 10.3.58.6, el puerto de escucha TCP 30303 y el puerto de descubrimiento UDP 30301.

Creo que este malentendido se está extendiendo también por el comportamiento de la utilidad bootnode . De hecho, utiliza 30301 como puerto de descubrimiento UDP predeterminado.

Nota: geth usará IPv6 como una prioridad si está disponible, lo que puede causar problemas si asume que está escuchando la dirección IPv4.

Asegúrese de permitir la salida a través de TCP/30303 también.
Tengo ambos puertos abiertos y, sin embargo, no puedo sincronizar. Parece que geth está intentando conectarse a pares a través de otros puertos TCP. Consulte ethereum.stackexchange.com/questions/26652/…
Y asegúrese de bloquear activamente el JSON-RPC entrante (8545) etherscan.io/address/…
Entonces, ¿se requiere que TCP 30303 esté abierto para la conexión INCOMMING cuando simplemente se ejecuta el cliente geth? Solo quiero tener el estado/datos de blockchain más actualizados en mi sistema local, no tengo ningún interés en la minería. ¿Todavía tengo que abrir 30303 para el tráfico entrante?