An enode is a way to describe an Ethereum node in the form of a URI.
The hexadecimal node ID is encoded in the username portion of the URL, separated from the host by an @ sign. The hostname can only be given as an IP address, DNS domain names are not allowed. The port
in the host name section is the TCP listening port. If the TCP and UDP (discovery) ports ...
Expanding on Hudson Jameson's answer: "The hexadecimal node ID is encoded in the username portion of the URL"
The username portion is a 512-bit public key that is used to verify communication came from a particular node on the network.
More about the RLPx protocol used can be found here.
Main parts of that:
Node discovery and network formation are ...
You can configure permanent static nodes by putting something like the following into <datadir>/static-nodes.json
Common problems with ...
There are a couple of issues here, that I hadn't outlined when I posted the question.
The first is that you may have other nodes running in your LAN that you may or may not be aware of - the external IP will be the same for all of them.
The second is that you should consider that being behind a router you want to route traffic to your node when it is ...
What am I missing? Please let me know if there is other information I can supply. Thank you.
Next time tag your question with parity, to make sure I wont miss it :p
Cross-client private networks: The problem
Geth is a client written for Ethereum. It was one of the first official reference implementations and was never meant to run anything else but ...
You can already see the enodes (node ID, aka the public key, and IP address) of nodes your node is connected to, for example by typing "admin.peers" into the geth console. So worst case is your node gets more connection attempts than may be desired.
Changing or removing the network key changes the enode address:
You could increment the value by one or generate a new one or remove it and parity will take care of that.
Yes geth --nodkey=key.txt will (re)generate the same enode url repeatedly as the cli options would suggest. It wasn't working for me due to the unfortunate combination of a typo in my sh script and a bad nodekey file.
Where do we place static-nodes.json? Additionally, where do we place trusted-nodes.json?
If you specify --datadir=./ when running your node, the files: static-nodes.json and trusted-nodes.json should be in the current directory.
If for example you do not specify the datadir directory, place the files next to the nodekey, keystore folders (on the same level)...
Found some more information:
nodeId is the secp256k1 public key corresponding to the node's private key.
So the node has a private key and the node ID is the corresponding public key. As the private key is chosen randomly the public key has no significance by itself....
According to my understanding, when a new node is added in the blockchain network a mesh network is formed among the nodes. This is the core conceptual idea of decentralization. If some node is down then the system can remain up till at least one node in the blockchain network is up.
According to geth documentation-
How Peers Are Found
Geth continuously ...
In Parity UI, in the Node health Dapp (Home>Node health) you can click on the cogwheel and add any enode to your peers.
In the command line, you could use the flag --reserved-peers
Provide a file containing enodes, one per line. These nodes will always
have a reserved slot on top of the normal maximum peers.
referring to the official doc, no it is not possible to use DNS domain names in enode URL:
The hostname can only be given as an IP address, DNS domain names are not allowed
I don't know why it's not supported though
You can find the enodes for the current standard Quorum 7Nodes example in the permissioned-nodes.json file:
You'll probably want to set the destination address (where the rewards go). If you have an address already, great. If you don't, then you can make one in Parity with:
$ parity account new
Please note that password is NOT RECOVERABLE.
You'll be asked for a password and be given an ...
I'd consider using a distributed key-value store such as ETCD (https://coreos.com/etcd/docs/latest/getting-started-with-etcd.html). You could set up an ETCD alongside ethereum and share arbitrary data between each node.
While this works well for your specific use case, it may be worth it to consider piggybacking on the Bit Torrent DHT -- a publicly ...