The Stack Overflow podcast is back! Listen to an interview with our new CEO.

Hot answers tagged

19

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 ...


13

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 ...


7

Data format [ "enode://f4642fa65af50cfdea8fa7414a5def7bb7991478b768e296f5e4a54e8b995de102e0ceae2e826f293c481b5325f89be6d207b003382e18a8ecba66fbaf6416c0@33.4.2.1:30303", "enode://pubkey@ip:port" ] You can configure permanent static nodes by putting something like the following into <datadir>/static-nodes.json Common problems with ...


7

The Parity page has a one-line install command provided: bash <(curl https://get.parity.io -Lk) -r stable


5

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 ...


5

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 ...


4

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.


3

Most likely your IP and Enode is already public via ethernodes.org.


2

You should only write nodes with a static IP in <datadir>/static-nodes.json. Incidentally, the enode is a way for the client to ensure it does not loop back to itself.


2

Changing or removing the network key changes the enode address: ~/.local/share/io.parity.ethereum/network/key You could increment the value by one or generate a new one or remove it and parity will take care of that.


2

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.


2

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)...


2

Found some more information: https://github.com/ethereum/devp2p/blob/38d70bb9fe9badaa48ef5262e9f78641b46d1ff4/rlpx.md 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....


1

As per spec.rs, the nodes key contains hard-coded boot node values: /// Spec deserialization. #[derive(Debug, PartialEq, Deserialize)] #[serde(deny_unknown_fields)] #[serde(rename_all = "camelCase")] pub struct Spec { /// Spec name. pub name: String, /// Special fork name. pub data_dir: Option<String>, /// Engine. pub engine: ...


1

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 ...


1

Please read this article: https://github.com/ethereum/EIPs/issues/650, it should address all of the questions you pose.


1

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 --reserved-peers=[FILE] Provide a file containing enodes, one per line. These nodes will always have a reserved slot on top of the normal maximum peers.


1

At least one difference between the two is that the --bootnodes argument sets explicitly the boot node addresses, whereas the static-nodes.json file sets the addresses of static full nodes (peers).


1

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 https://github.com/ethereum/wiki/wiki/enode-url-format I don't know why it's not supported though


1

You can find the enodes for the current standard Quorum 7Nodes example in the permissioned-nodes.json file: [ "enode://ac6b1096ca56b9f6d004b779ae3728bf83f8e22453404cc3cef16a3d9b96608bc67c4b30db88e0a5a6c6390213f7acbe1153ff6d23ce57380104288ae19373ef@127.0.0.1:21000?discport=0&raftport=50401", "enode://...


1

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. Type password: Repeat password: ff25a05f8be3d4c9c58d35bd32cdbe4edd6515e6 You'll be asked for a password and be given an ...


1

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 ...


Only top voted, non community-wiki answers of a minimum length are eligible