3.2 - Handle Dropped Packets

Open
#20 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
javascript

Research direction

Start at the PoWClient handling for blocks whose parent is absent from this.allBlocks. First resolve whether dropped blocks should be rejected or fetched from peers, then trace the peer communication and asynchronous flow needed for that choice. Done means a client no longer fails when a block references an unseen block, with the selected behavior covered by the relevant existing checks.

Written by the indexing model from the issue text.

Description

enhancement

If a PoWClient receives a block that points to a block which has not been received yet (is not included in this.allBlocks), then the client fails. One simple way to handle is to just reject that block. The realistic way to handle this is to request the missing block(s) from peers. The realistic solution increases complexity fairly drastically as the implementation will involve use of asynchronous functions (e.g. async, await).

Dominant language
JavaScript
Stars
74
Forks
68
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cryptoeconomics-study/code

All issues in cryptoeconomics-study/code

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.