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 (as defined in --blockchain-ip [Python Gateway] or --enodes [Go Gateway]) 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 either the --blockchain-port [Python Gateway] or the --enodes [Go Gateway] flags. Let’s assume that this port is 30303.
3. Use netcat to test connectivity to the blockchain node:
1
$ nc 225.23.22.156 30303
2
Connection to 225.23.22.156 30303 port [tcp/ssh] succeeded!
Copied!
A connectivity problem will result in a connection refused or connection timed out:
1
connect to 225.23.22.156 port 30303 (tcp) failed: Connection refused
2
connect to 225.23.22.156 port 30303 (tcp) failed: Connection timed out
Copied!
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.

Python Gateway installation Troubleshooting

To verify that the bloXroute Gateway is working properly you can use the Gateway status log. For information on the Gateway status log, see sections Gateway Monitoring and bloXroute-cli. A fully functioning Python Gateway should have a status of “Online” and the value “Established” for the following fields:
  • block_relay_connection_state
  • transaction_relay_connection_state
  • Blockchain_node_connection_state
  • remote_blockchain_node_connection_state
Example
1
{
2
"gateway_status": "Online",
3
"account_info": "This gateway is not registered to any account and is limited to the daily free quota",
4
"block_relay_connection_state": "Established",
5
"transaction_relay_connection_state": "Established",
6
"blockchain_node_connection_state": "Established",
7
"remote_blockchain_node_connection_state": "Established",
8
"ip_address": "555.555.555.555",
9
"continent": "AS",
10
"country": "China",
11
"update_required": false
12
}
13
Copied!
It is important to pay attention to the state of the connection between the Gateway and the blockchain node. If the state changes back and forth between “established” and “closed” there is a problem. This could be caused by a number of factors, such as:
Wrong IP address for the blockchain node: If you provide an IP address in the arguments --blockchain-ip or --enode that doesn’t match the IP of your node, the Gateway will not be able to connect. To verify what IP is in use, please look at the Gateway_status.log file under analysis -> network -> blockchain_nodes -> ip_address. Alternatively, you can use the gateway_status command in bloxroute-cli with the argument DETAILED to show the same information.
Wrong ports: If you are not using the standard port on your blockchain node, please make sure to specify it with –blockchain-port. You can check the blockchain node port the Gateway is attempting to connect to by opening the Gateway_status.log file or using the bloxroute-cli Gateway_status DETAILED command and look for analysis -> network -> blockchain_nodes -> port.
Wrong node public key: For Ethereum nodes, specifying an incorrect--node-public-key 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:
1
>> admin.nodeInfo
2
{
3
enode:"enode://1a6b4a7347b2fc95c7b7db5badb4998d8a4a4cec2a0e43baaee4ed04bf862fd45[email protected]172.10.0.1:30303”,
4
[...]
5
}
6
Copied!
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: Gateway is not compatiable with node started with 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 --blockchain-port argument. 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.
Last modified 1mo ago