I think because some people don't like poking holes into their firewalls for every outgoing connection or datagram packet to random ports. 1 Port = 1 Service. That's what we have agreed upon, how it has always been, and what makes lifes of sysadmins easier.must be 9999 for mainnet ?
why would you restrict port for mn?
why can't it be flexible?
I am not sure what will happen if you switch ports, but you can change it via the configuration file (or override with the command line). See the `port` parameter.must be 9999 for mainnet ?
app crashes if port is not equal to 9999Are you sure? It should broadcast which port it is listening on when it connects to the other peers.
Yes they can, but my impression of those links is that the primary security concern was DDoS (not verifying authenticity).no security issue
nodes can verify authenticity of each other on any port
It sounds like you are wanting to run multiple MNs off a single IP using multiple ports. Dash Core specifically prevents this (even if you could run on different ports).but RIPE policy for issuing new ips is a real problem and expensive
int mainnetDefaultPort = Params(CBaseChainParams::MAIN).GetDefaultPort();
if(Params().NetworkIDString() == CBaseChainParams::MAIN) {
if(service.GetPort() != mainnetDefaultPort) {
nState = ACTIVE_MASTERNODE_NOT_CAPABLE;
strNotCapableReason = strprintf("Invalid port: %u - only %d is supported on mainnet.", service.GetPort(), mainnetDefaultPort);
LogPrintf("CActiveMasternode::ManageStateInitial -- %s: %s\n", GetStateString(), strNotCapableReason);
return;
}