-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define hardcoded ports #457
Comments
According to this issue dappnode/DAppNode#457 We are selecting the host port for the client.
According to this issue dappnode/DAppNode#457 We are selecting the host port for the client.
According to this issue dappnode/DAppNode#457 We are selecting the host port for the client.
According to this issue dappnode/DAppNode#457 We are selecting the host port for the client.
Crucial to update the documentation with this! People doing new packages with new chains need to be aware of the logic to use the ports. |
Before we get too far is there a way to bake in an option to have an A standard a B standard a C standard etc port config for core packages required for use so that everyone wanting to run multiple DAppNodes on one LAN can choose at install time to either use the default core ports (A standard). Or have an option to click this is not the first dappnode, it asks how many you have already. |
Yeah, that is a good point. At the very least, we must enable these values to be editable in DAppManager. |
For now, we are only set up these standard ports for clients. But I agree if we will assign standards on the core package we should implement that. |
Don't we already have standards for the core packages? OpenVPN (8092,1194), Wireguard (51820), IPFS (4001,4002), HTTPS (80,443) etc? |
Yes, and some packages like mysterium use some specific ports too. |
Add port standarization following this issue dappnode/DAppNode#457
Add port standarization following this issue dappnode/DAppNode#457
According to this dappnode/DAppNode#457 the old ports number are wrong
Requesting Besu Goerli & Lodestar to be put on this list! :) It should probably be 30814 for Besu Goerli and 9125 for Lodestar, right? |
So which is correct, the first 4? or last 4? because it reads as first 4 for but your example shows the last 4 digits being used. |
Shouldn't it be 9112? ChainID 10 x 10 = 100 + And I added Besu Goerli and Lodestar for mainnet, prater, and gnosis. Based on the schema as I understand it. Will create repos for the ones that don't exist yet soon. Still need the upstream fix in Lodestar for the web3signer to work with lodestar but it works to sync ELs at least right now. |
This whole issue needs to be gone through and reviewed, the checks and X's cannot be relied on. I was struggling to get teku Gnosis to sync and i saw it was not done on the package but here it was marked as completed. I merged it in already, but this isnt the first ive found that was marked as done or not done only to find that the opposite is true in the package |
Hardcoded ports were listed wrong in the issue dappnode/DAppNode#457 I fixed the ports in the issue and now here
set hardcoded port as defined in dappnode/DAppNode#457 also removed the deprecated `--no-usb` flag to get rid of a warning about it on boot.
this issue is far from closed, well this "Issue" can be closed soon but must be converted to a repo. i will create the repo with this data, and add a page in the builder and SDK docs relating to ports. This is incredibly important for safety, reliability, and it must be standardized in the docs if we expect any partners and tech savvy users to develop packages that will be interoperable with existing packages, external ports namely P2P ports but also torrent ports, and other ports that must be open for proper functioning of a package. So far the partners whove made new packages have totally ignored this, and need to change their packages to use assigned ports not whatever they please. It's the only way dappnode even works, i discovered this issue a couple years ago when we used random constantly changing ephemeral ports that allowed no incoming connections which made each dappnode a drain on any network, defeating the goal of dappnodes. if you dont allow incoming then you give nothing back to the network, you only take from the network, which is why this was such a problem and it took a year to even get to this issue's creation. So we cant just toss it away now especially since were making it easier to for anyone to make packages, it's great we are but if they dont follow what Carlos defined here and I implemented for port usage packages will start to break each other. So i gotta get that repo up and a new page on the dev docs for requesting assigned ports for hardcoding into their packages |
Is your feature request related to a problem? Please describe.
Setting up random ports in docker-compose files seems to provoke a problem to find incoming peers in the blockchain clients. Without properly broadcasting and opening the P2P ports for each client other peers cannot connect to your client which harms decentralization since in this situation you are not contributing to the network by sharing your info with peers you're only taking info when you have no inbound peers.
Describe the solution you'd like
The solution would be to add a hardcoded port and set up the client to use this port. To be able to do this, we have to define a clear way to define what ports we will use for the different clients and chains.
We will use 3 values in order to define what number port will be hardcoded in the package:
The sum of the 3 above values for each package will be the defined P2P port(s) for the package. This avoids port collisions caused by many clients using the same P2P port and also using the same client with up to 5 separate network implementations again trying to use the same port.
Additional Schema Rules (i.e. the chainID value is larger than the port range)
The ClientID is a value we have defined:
┆Issue is synchronized with this Basecamp todo by Unito
The text was updated successfully, but these errors were encountered: