Skip to content

Instantly share code, notes, and snippets.

@chfast
Created March 12, 2018 01:47
Show Gist options
  • Save chfast/deea81e4fef6dd9bc261fca66fd9627a to your computer and use it in GitHub Desktop.
Save chfast/deea81e4fef6dd9bc261fca66fd9627a to your computer and use it in GitHub Desktop.
P2P Daemon

DevP2P / libp2p Daemon

This node comes directly from ethereum-js team meeting dusing EthCC, but the idea described here lives longer.

Base P2P layer as a separate process

Instead of having the base layer of the P2P network stack implemented as a library (like currently DevP2P) it should be moved to its own process running on the same machine with specified Inter-Process Communiocation (IPC) for accessing it.

Pros

  1. No need to having mutiple sets of connections for different applications running on the same machine (e.g. Ethereum, swarm, IPFS).
  2. Not every client have to implement (or keeping improving) DevP2P. Multiple implementations are valuable, but maybe not 10 of them.
  3. Having full specified interface allows testing all combinations for application + p2p pairs.
  4. Also implementing a new version of p2p is easier because is supported by a set of existing tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment