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.

Gateway connectivity issue troubleshooting steps:

1. Verify the IP address of the blockchain node specified by the --enodes Gateway startup argument. Let’s assume that this IP is 225.23.22.156.

2. Verify that the gateway is using the correct port. This port is established by the --enodes Gateway startup argument. Let’s assume that this port is 30303.

3. Use netcat to test connectivity to the blockchain node:

$ nc 225.23.22.156 30303
Connection to 225.23.22.156 30303 port [tcp/ssh] succeeded!

A connectivity problem will result in a connection refused or connection timed out error:

connect to 225.23.22.156 port 30303 (tcp) failed: Connection refused
connect to 225.23.22.156 port 30303 (tcp) failed: Connection timed out

To verify that the node is indeed listening on the correct port, you can run the netcat command 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 --enodes that 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--enodes Gateway 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:

>> admin.nodeInfo
{
enode:"enode://1a6b4a7347b2fc95c7b7db5badb4998d8a4a4cec2a0e43baaee4ed04bf862fd456521e5d2edd7854485406371ff400b51289a137104176a5296358d0c503ca73@172.10.0.1:30303”,
[...]
}

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 can'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 --enodes argument. The default p2p port is 30303 for Ethereum clients.

  • 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.

Last updated