Giter Club home page Giter Club logo

Comments (5)

sfxdxdev avatar sfxdxdev commented on July 17, 2024

The problem is related to Opera bootnodes configuration. This configuration doesn't use discovery bootnodes, but rather static nodes. According to the response you mentioned, those static nodes have exhausted their connections limit, and as a result they won't accept any new connections.

To configure a discovery node, you have to specify external IP which you want to be advertised in discovery: --nat=extip:YOUR_IP.
Also discovery uses UDP, so you'll have to open 5050 UDP port if it's closed on your server (or any other p2p port if it's not default).
Without these steps, you'll find other nodes in discovery, but other nodes won't find you.
After both of those conditions are true, the node may be used as a discovery node.

From your side, you may setup a discovery node, and then when Opera bootnodes configuration is resolved, your node will participate in discovery and hence will improve the connectivity of the network. Until then, you may use your own discovery node as a bootnode. To do that, use flag --bootnodesv5 "enode://[email protected]:5050"

from go-lachesis.

 avatar commented on July 17, 2024

By Opera bootnodes configuration you mean an issue in the code, right?

What are those parameters related to?

--bootnodes value                    Comma separated enode URLs for P2P discovery bootstrap (set v4+v5 instead for light servers)
--bootnodesv4 value                  Comma separated enode URLs for P2P v4 discovery bootstrap (light server, full nodes)
--bootnodesv5 value                  Comma separated enode URLs for P2P v5 discovery bootstrap (light server, light nodes)

Seems like the difference is light server/node vs full server/node. What's the difference?

In the mainnet.toml config file there are these parameters:

...

[Node.P2P]
NoDiscovery = false
DiscoveryV5 = true

...

What are those for? Seems like DiscoveryV5 enables the node to be discovered by others. Not sure about NoDiscovery. Are they the same as the parameters for the Lachesis binary?

--nodiscover                         Disables the peer discovery mechanism (manual peer addition)
--v5disc                             Enables the experimental RLPx V5 (Topic Discovery) mechanism

When you say using my own discovery node as my boot node, are you talking about 2 separate machines? Or is a single node using the discovery service of itself?

from go-lachesis.

sfxdxdev avatar sfxdxdev commented on July 17, 2024

By Opera bootnodes configuration you mean an issue in the code, right?

The issue is absence of bootnodes in Opera mainnet.toml.
It can be fixed by updating mainnet.toml, without updating go-lachesis executable.

Seems like the difference is light server/node vs full server/node. What's the difference?

There's no difference really, because there's no light nodes yet. The description has to be fixed. Discovery V5 does work for full nodes (it's the only type of node we have currently).

What are those for? Seems like DiscoveryV5 enables the node to be discovered by others. Not sure about NoDiscovery. Are they the same as the parameters for the Lachesis binary?

NoDiscovery = false specifies that discovery isn't disabled. DiscoveryV5 = true specifies that discovery v5 is enabled (in addition to discovery v4).
"Discovery is enabled" means:

  • Your node will search for other nodes in discovery network
  • If you specified --nat=extip:YOUR_IP, then your IP will be advertised in discovery network

What are those for? Seems like DiscoveryV5 enables the node to be discovered by others. Not sure about NoDiscovery. Are they the same as the parameters for the Lachesis binary?

Yes, those are flag versions of config fields NoDiscovery and DiscoveryV5

You can check it by running lachesis --nodiscover dumpconfig, lachesis dumpconfig and comparing the output. dumpconfig is a command to return the final config, after all keys are applied.

When you say using my own discovery node as my boot node, are you talking about 2 separate machines? Or is a single node using the discovery service of itself?

Single node does use discovery service of itself, but if there's no discovery nodes - then there's no peers to be found. Since mainnet.toml doesn't offer default discovery nodes right now, the only way to use discovery is to either setup your own bootnode, or find community bootnodes.

Usage of static nodes is still an option for you, but ensure you use as many static connections as possible.

from go-lachesis.

quan8 avatar quan8 commented on July 17, 2024

@rekt0x ok to close this issue?

from go-lachesis.

 avatar commented on July 17, 2024

@quan8 yes, can be closed.

from go-lachesis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.