Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

LES Part 2 #3527

Merged
merged 45 commits into from
Dec 7, 2016
Merged

LES Part 2 #3527

merged 45 commits into from
Dec 7, 2016

Conversation

rphmeier
Copy link
Contributor

@rphmeier rphmeier commented Nov 18, 2016

  • All request handlers implemented
  • Provider implemented for Client via ProvingBlockChainClient trait (without CHT stuff, see Canonical Hash Trie calculations for full node #3458)
  • Simple event handlers, constructor
  • Request dispatch, although responses will lead to panic for the moment

@rphmeier rphmeier added A0-pleasereview 🤓 Pull request needs code review. M4-core ⛓ Core client code / Rust. labels Nov 18, 2016
@rphmeier
Copy link
Contributor Author

Next PR will contain:

  • CHT for full node (may require DB migration)
  • Response handlers
  • At least part of light sync service

@rphmeier
Copy link
Contributor Author

I swear I used git mv when moving the light module location...

@coveralls
Copy link

Coverage Status

Changes Unknown when pulling 58ca93c on client-provider into * on master*.

@arkpar
Copy link
Collaborator

arkpar commented Nov 21, 2016

Move light module into ethcore crate for IPC codegen

Whys is this needed? Codegen works just fine for ethsync crate. Maybe move to ethsync instead?

@rphmeier
Copy link
Contributor Author

@arkpar Most of the reason was actually that the implementation of Provider for Client needed access to a lot of internals which just weren't available outside of the ethcore crate.

The net primitives are also lower level than the light sync service, although that will involve an instantiation of the LightProtocol. I will be writing the sync/serve processes within the ethsync crate, but this will be in the next PR.

@rphmeier
Copy link
Contributor Author

Thinking on it a bit more, it should be possible to have ethcore-light as its own crate again, with the addition of a trait StateAt: BlockChainClient { } and impl<T: StateAt + ?Sized> Provider for T { ... } in ethcore.

I can add that change to this PR if you'd like.

@arkpar
Copy link
Collaborator

arkpar commented Nov 21, 2016

I'd like to keep ethcore crate as light (pun not intended) as possible. It is becoming monstrous already. And introducing dependency on ethcore-network does not seem right. I'm fine if it happens in the next PR.

@rphmeier
Copy link
Contributor Author

rphmeier commented Dec 2, 2016

This is ready for review again.

@rphmeier rphmeier added A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. and removed A0-pleasereview 🤓 Pull request needs code review. labels Dec 5, 2016
@rphmeier rphmeier added A0-pleasereview 🤓 Pull request needs code review. and removed A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. labels Dec 5, 2016
@arkpar arkpar added A8-looksgood 🦄 Pull request is reviewed well. and removed A0-pleasereview 🤓 Pull request needs code review. labels Dec 6, 2016
@rphmeier rphmeier merged commit 085b8ad into master Dec 7, 2016
@rphmeier rphmeier deleted the client-provider branch December 7, 2016 08:31
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A8-looksgood 🦄 Pull request is reviewed well. M4-core ⛓ Core client code / Rust.
Projects
Light Client
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

4 participants