Hi guys, I was following the cardano node stake pool tutorials for the testnet and was unsure how to properly run the node. I am using an amazon EC2 instance. In the tutorial (Cardano stake pool tutorial | Download configuration files and run the node - YouTube), the guy uses the public IP address of his instance, however when I try to do the same thing, I get an error message: cardano-node: Network.Socket.bind: unsupported operation (Cannot assign requested address). I played around a little and found two solutions. The private IP address of my instance and 0.0.0.0. Can someone please clear this up for me. More specifically, why does the public IP address of the instance work for the guy in the tutorial, but not me ? Why does my private IP address of the instance work ? Why does 0.0.0.0 also work ? Are there potential security implications for using a particular host-addr ? I am new to programming and I would appreciate any advice. I am also open to mentorship as I plan on running my own stakepool in the near future. Thanks for reading
Just use 0.0.0.0 on the EC2 Instance.
The cardano-node daemon (any daemon actually) cannot listen on an IP Address that is not configured on the server. The public IP Address is NOT configured on the server (ec2 instance), only the private IP Address is. And 0.0.0.0 represents any IP Address.
"Are there potential security implications for using a particular host-addr ? I am new to programming and I would appreciate any advice. "
This has nothing to do with programming.
There is no security implication in your case, since you only have one private IP Address on the instance. There might be security implications if you have multiple IP Addresses from different networks, and you do not want the service to be accessible from a specific network. But also in this case you could use a firewall rule to block the unwanted traffic (or security groups in AWS to allow only what you want, or Network Access Lists to block the traffic you do not want).