General Connectivity Troubleshooting
When configuring the Gateway, it is important to verify that the blockchain node is reachable from the machine where the Gateway will be running and that it can accept its connection.
1. Verify the IP address of the blockchain node
--enodes[Go Gateway] Let’s assume that this IP is
2. Verify that the Gateway is using the correct port. This port is established by
--enodes[Go Gateway] flags. Let’s assume that this port is 30303.
netcatto test connectivity to the blockchain node:
$ nc 220.127.116.11 30303
Connection to 18.104.22.168 30303 port [tcp/ssh] succeeded!
A connectivity problem will result in a connection refused or connection timed out error:
connect to 22.214.171.124 port 30303 (tcp) failed: Connection refused
connect to 126.96.36.199 port 30303 (tcp) failed: Connection timed out
To verify that the node is indeed listening on the correct port, you can run the
netcatcommand locally on the node server. If you get a “succeeded!” message, this means the port is correct, but might not be open for external connections. In this case, a firewall may be blocking the connection.
Wrong IP address for the blockchain node: If you provide an IP address in the arguments
--enodesthat doesn’t match the IP of your node, the Gateway will not be able to connect.
Wrong node public key: For Ethereum nodes, specifying an incorrect
--enodesGateway startup argument will lead to the Ethereum node closing the Gateway connection. To verify that the Gateway is using the correct node public key, you can run the following command:
The public key in the above command is: "1a6b4a7347b2fc95c7b7db5badb4998d8a4a4cec2a0e43baaee4ed04bf862fd456521e5d2edd7854485406371ff400b51289a137104176a5296358d0c503ca73"
Node not completely synced: Until the blockchain node is fully synced, it may not accept a connection from the Gateway.
Unsupported node sync mode: The Gateway is not compatible with a node started with the light sync mode, which couldn't interpret some p2p messages supported in the default sync mode.
The blockchain node’s peer list is full: Unless customized, Ethereum nodes have a maximum of 25 peers, while Bitcoin nodes have a maximum of 117 peers. If your node has been running for a while, there may be no space for the Gateway to connect. To work around this, please see the section Adding the Gateway As a Trusted Peer.
Node machine unreachable: bloXroute recommends running the Gateway on a separate machine with low latency to your blockchain node. Make sure that the machine you are trying to connect to is reachable.
To verify this, please check that:
- The node’s machine is reachable using ping.
- You are using the standard ports, or otherwise that you have specified the non-standard port in the
--enodesargument. Default p2p port is 30303 for Ethereum client.
- The ports you are using are open in the node machine. Check firewall rules and verify that they meet the requirements specified in the section above.