Skip to content
This repository has been archived by the owner on Mar 1, 2019. It is now read-only.

Minimal separate process downloading blocks from Byron node #347

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

paweljakubas
Copy link
Contributor

#330

Overview

  • I made the prototype to be separate process that uses minimum network node primitives. No diffusion layer used. Using tcp would be more error prone and substatially less simple
  • The prototype is made to receive block headers from a trusted node and downloads corresponding block. The block is printed to console
  • The prototype talks with local cluster (started by integration tests)
  • All important steps are commented in the code. Byron specifics are located in separated file

Comments

@paweljakubas paweljakubas force-pushed the paweljakubas/330/adding-lean-decoupled-block-listener branch from 83407a2 to e464dc1 Compare February 18, 2019 09:33
[330] requestTip functionality working

[330] Adding Block msg and using IORef

[330] Adding working getBlock capability

[330] cleaning and adding better abstractions - almost there

[330] Enhancing operation, adding security parameter and README.md

[330] stack2nix

[330] hlint
@paweljakubas paweljakubas force-pushed the paweljakubas/330/adding-lean-decoupled-block-listener branch from e464dc1 to 15d2d0c Compare February 18, 2019 10:18
@KtorZ KtorZ assigned KtorZ and paweljakubas and unassigned KtorZ Feb 18, 2019
, cardano-sl-core
, cardano-sl-infra
, cardano-sl-networking
, cardano-sl-util
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am having a look at the PR now and will push some refactorings changes on the branch.
Note that, you've been cheating my friend 😛

The requirements said:

* The prototype _must_ not re-use code from an existing implementation (neither `cardano-sl`, nor `cardano-wallet`)

And... I see quite a lot of cardano-sl-*** dependencies here 🙃 ...

Copy link
Contributor Author

@paweljakubas paweljakubas Feb 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, I used cardano-sl-networking node and converse primitives. They use quite sophisticated way of communication there...Other dependencies are just infra (BiP, bipPacking, PeerData, VerInfo - required to talk with the node), of course chain (Block, BlockHeader, etc for definitions), core (for NewestFirst) .

So I faced cardano-dependences vs simplicity trade-off. For me not using the abovementioned would mean very complicated, not easy to understand and error-prone code. cardano-sl-networking use not so easy, I would say cryptic, bidirectional communication protocol...

Nevertheless, I agree - in this version there are still dependencies. But it is simple on the other way

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

Successfully merging this pull request may close these issues.

2 participants