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

Update protocol to only send block headers #93

Open
alexdovzhanyn opened this issue Feb 26, 2019 · 3 comments
Open

Update protocol to only send block headers #93

alexdovzhanyn opened this issue Feb 26, 2019 · 3 comments
Labels
Difficulty: Intermediate This issue can be worked on by someone with a moderate amount of experience with the codebase Enhancement New feature or request Help Wanted Extra attention is needed

Comments

@alexdovzhanyn
Copy link
Owner

We're currently sending the entirety of all block data when relaying a block. This can be cut down by sending only block headers and allowing peers to download the block body from us if they need it.

@alexdovzhanyn alexdovzhanyn added Enhancement New feature or request Good First Issue Good for newcomers Help Wanted Extra attention is needed labels Feb 26, 2019
@leeaaron629
Copy link

Hi,

I would like to work on this issue! What would be the acceptance criteria? And how would I go about proving it?

@alexdovzhanyn
Copy link
Owner Author

@onlyhope Hey! Thanks for your interest in this issue -- excited to have you contribute. This should be relatively a straightforward change -- we have a Block.header/1 method that returns just the header of the block that can be used for this, it should be as simple as changing the router file to use the function and updating the message type broadcasted.

I'll work in tandem with you once you submit the PR because we'll need to change the logic for block downloading on the receiving end.

Let me know if you have any questions or run into any issues!

@leeaaron629
Copy link

Hi @alexdovzhanyn ,

I've taken a look at the code and let me make sure I understand it before I start implementation.

So I've see an Elixium.Store.Ledger module. You want me to change the Ledger.retrieve_chain/1 method to return a block headers instead? And if the user requires more detail they can call the Ledger.retrieve_block/1?

@alexdovzhanyn alexdovzhanyn added Difficulty: Intermediate This issue can be worked on by someone with a moderate amount of experience with the codebase and removed Good First Issue Good for newcomers labels Aug 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Difficulty: Intermediate This issue can be worked on by someone with a moderate amount of experience with the codebase Enhancement New feature or request Help Wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants