Skip to content
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

Questions about LibP2P (specifically for usage in Flow) #55

Open
vishalchangraniaxiom-old opened this issue Nov 29, 2019 · 0 comments
Open

Comments

@vishalchangraniaxiom-old
Copy link

vishalchangraniaxiom-old commented Nov 29, 2019

Hi,

I am engineer working on Flow (https://www.withflow.org/en/). We were considering using LibP2P as our underlying transport library and had some questions around that. If you don't mind, can you take a look at it and we will also join your call on Monday?
Thanks in advance.

Technical questions -

  1. Is there a hard limit on the message size for the pub-sub communication? Can we change that? (Will pubsub: Message is unsized specs#118 be fixed?)
  2. Apart from the pubsub model of communication, we also need a 1→K form of communication where one node requests K other nodes for information and each of the K nodes replies independently using a direct 1-1 communication to the requesting node. K is a subset of N, the total number of nodes. I don't think this can be implemented using the pub-sub model since there are no topics which are known beforehand. Hence, to realize this on top of libp2p, each node in the network could implement a random deterministic function to select k nodes (where k is a subset of K). The node then talks to these k nodes directly (1-1) which in turn, in addition to replying to requesting node, also choose their own k nodes from the K (where K is sent as part of the message metadata). I had the following question w.r.t this approach -
    1. Will a node reuse its Peer connections (fanout or mesh connections or gossipsub connections)?
    2. Will the messages thus exchanged be added to the message cache implicitly?
  3. Is there a way by which a new node that just joined can ask for all the messages it has missed for a particular topic? I understand that the gossipsub will provide those to the node eventually using the IHAVE and IWANT exchanges but I am concerned about the delay in getting the node populated with all the messages it has missed with that approach.
  4. Can you provide me with a working example of the pubsub communication in Go?

Non-Technical questions -

  1. How many active contributors does the libp2p go project has?
  2. What is the process of raising an issue or requesting a code change?
  3. Do you accept Pull requests?

thanks,
Vishal
Scalability Engineer,
Dapperlabs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant