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

Idea: out-of-process block relayer #82

Open
abourget opened this issue Nov 13, 2018 · 2 comments
Open

Idea: out-of-process block relayer #82

abourget opened this issue Nov 13, 2018 · 2 comments
Labels

Comments

@abourget
Copy link
Contributor

An idea has been germinating here:

  • A p2p block relayer, that sits at the p2p level, and interconnects many nodes.
  • Acts as a node itself, so replies with a node_id, and propagates blocks and transactions like a nodeos node.
  • Has a cache of blocks, could read/write the blocks.log
  • Could check signatures on blocks, and relay if those sigs are from producers in the current schedule (or some loosely defined "validation" of blocks)
  • Propagate transactions or not? Could be tricky if we can't pre-validate them.. Could check well-formedness of transactions before propagating.
  • Could play with topology, reconnections and instrumentation without rebooting nodes.
  • We could test new ways to propagate blocks faster, without affecting the code system.

MVP

  • Point-to-point connections

Phase 2

  • DHT-like p2p connectivity, with slightly more random propagation paths
@billettc billettc added the Idea label Dec 14, 2018
@fanyang1988
Copy link
Contributor

fanyang1988 commented Dec 30, 2019

i am developing a light node for eosio in https://github.com/eosforce/eos-light-node, depend on https://github.com/fanyang1988/eos-p2p, although it may need some times to complate it.

@abourget
Copy link
Contributor Author

hey @fanyang1988 thanks for pitching in! Happy to see you guys are using eos-go like that!

Does eos-p2p work well? What about eos-light-node?

I'm interested in having a node acting like a p2p node, and feeding blocks that it could grab from a cache, or some random object store. I saw your work on the BlockStorer.. that's very interesting. Are you using that anywhere?

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

No branches or pull requests

3 participants