-
Notifications
You must be signed in to change notification settings - Fork 924
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
shares: Implement the SharesService
#23
Comments
Should there be a pruning mechanism / threshold for |
I think full storage nodes certainly need pruning (not necessarily for devnet/testnet but for mainnet). Light nodes download even less shares. Hence, pruning for light nodes is even less of a priority. That said, if light nodes get subjectively re-initialized we might consider overwriting the existing header (and shares) store. So that way we would have implicit pruning: whenever the light node gets re-initialized it throws away old headers and corresponding shares. |
SharesService
Light nodes do DAS and still download a reasonable amount of shares, which should be pruned. I am not sure though what should be the default behavior between storing and pruning, or storing only for last n heights and prune. |
I believe @liamsi said something along the lines of we'll only prune when node is subjectively re-initialised? So we'll store all shares we get in the meantime. I don't know if pruning is within the scope of devnet tho but good to think about. We should make an issue for it. |
TODO:
|
Reopen as there is still one simple todo left: |
TODO:
|
@renaynay, GetShares are required for Full Availability so start with this one |
Implement
SharesService
in packageshares
.Implement:
Share
SharesService
The
SharesService
contains the following methods / functionality:Start
Stop
For
ShareExchange
, alight
node only requires the ability to request shares and perform sampling (random share requests across random peers), and store the shares they receive, while afull
node should be able to serve those share requests as well as perform requests.ShareStore
only applies tolight
nodes asfull
nodes store full blocks, so if the node is afull
node,ShareStore
should be disabled.The text was updated successfully, but these errors were encountered: