See here for all command line arguments.
It’s important that your node is well connected to other nodes. It needs to be able to create outgoing connections to other nodes as well as accept incoming connections. This means that:
- Your node must know its public IP
- Your node must be able to receive traffic on the P2P port (
If your node is on a machine with a static IP (e.g. AWS Elastic IP) then you should run your node with
If not, you should configure your node to fetch its public IP from a web service. To do so, run with
If you use neither of the above arguments, your node will attempt to use UPnP or NAT-PMP to fetch your public IP from your router. Your router needs to have one of these features enabled, and you should allow UDP traffic from port 1900 to the node machine for UPnP.
Open P2P Port
If you run a node with
--dynamic-public-ip then you must manually allow incoming TCP traffic the P2P port (
9651 by default.) If the node machine is behind a router, you should set up a port forwarding rule. If your node is on a cloud service, you should update your network security settings. If you use neither of the above arguments, your node will try to set up a port forwarding rule on your router, if it exists and supports UPnP or NAT-PMP.
What is my public IP
You can use either of the following commands:
$ curl ifconfig.co
$ dig +short myip.opendns.com @resolver1.opendns.com
$ dig +short -4 myip.opendns.com @resolver1.opendns.com
UPnP or NAT-PMP router attach failed, you may not be listening publicly ... on startup
The message indicates a dynamic port forwarding may not have worked. Check your router settings to ensure that you have these settings enabled, and restart the node.
failed with goupnp: SOAP request got HTTP 500 Internal Server Error
Your node is attempting UPnP and is having issues mapping on your router. Your router might have manually created port forwarding rules. Ensure that you do not have conflicting port forwarding rules on your router.