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

node: Clean up node types #250

Closed
Bidon15 opened this issue Nov 29, 2021 · 1 comment · Fixed by #294
Closed

node: Clean up node types #250

Bidon15 opened this issue Nov 29, 2021 · 1 comment · Fixed by #294
Assignees
Labels

Comments

@Bidon15
Copy link
Member

Bidon15 commented Nov 29, 2021

Summary

After devnet, we need to do hygiene work in our node types

Gain

This is beneficial for our upcoming tool that will be creating in-memory network and deploy nodes to test against

Evidence

Code-base node part

Implementation ideas

No response

Urgency

Medium

@Bidon15 Bidon15 added the area:node Node label Nov 29, 2021
@renaynay renaynay changed the title node: Clean Up Node types node: Clean up node types Dec 2, 2021
@renaynay
Copy link
Member

renaynay commented Dec 2, 2021

Detailed implementation description

There will be three node types:

Bridge Node
A bridge node is a full node that is connected to a Celestia Core node via RPC. It receives either a remote address from a running Core node or it can run a Core node as an embedded process, but the critical difference is that instead of constructing blocks via sampling the network for shares, it receives headers and blocks directly from its trusted Core node, validating blocks and producing ExtendedHeaders to broadcast to the Celestia DA network.

Full Node
A full node is the same thing as a light node, but instead of performing LightAvailability (the process of DASing to verify a header is legitimate), it performs FullAvailability which samples the network for shares in order to fully reconstruct the block and store it, serving shares to the rest of the network.

Light Node
A light node listens for ExtendedHeaders from the DA network and performs DAS on the received headers.


The current full node implementation should be renamed to bridge and a new standalone full node implementation should be added.


The CLI should include detailed descriptions of what it means to run each node type.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants