good morning!!!!

Skip to content
Snippets Groups Projects
  1. Jul 28, 2020
    • Gary Rong's avatar
      les: implement new les fetcher (#20692) · 28c5a8a5
      Gary Rong authored
      * cmd, consensus, eth, les: implement light fetcher
      
      * les: address comment
      
      * les: address comment
      
      * les: address comments
      
      * les: check td after delivery
      
      * les: add linearExpiredValue for error counter
      
      * les: fix import
      
      * les: fix dead lock
      
      * les: order announces by td
      
      * les: encapsulate invalid counter
      
      * les: address comment
      
      * les: add more checks during the delivery
      
      * les: fix log
      
      * eth, les: fix lint
      
      * eth/fetcher: address comment
      28c5a8a5
  2. May 22, 2020
    • Zsolt Felföldi's avatar
      les, les/lespay: implement new server pool (#20758) · b4a26811
      Zsolt Felföldi authored
      This PR reimplements the light client server pool. It is also a first step
      to move certain logic into a new lespay package. This package will contain
      the implementation of the lespay token sale functions, the token buying and
      selling logic and other components related to peer selection/prioritization
      and service quality evaluation. Over the long term this package will be
      reusable for incentivizing future protocols.
      
      Since the LES peer logic is now based on enode.Iterator, it can now use
      DNS-based fallback discovery to find servers.
      
      This document describes the function of the new components:
      https://gist.github.com/zsfelfoldi/3c7ace895234b7b345ab4f71dab102d4
      b4a26811
  3. Feb 26, 2020
  4. Aug 21, 2019
  5. Jul 09, 2019
  6. May 17, 2019
  7. Feb 26, 2019
    • Zsolt Felföldi's avatar
      les, les/flowcontrol: improved request serving and flow control (#18230) · c2003ed6
      Zsolt Felföldi authored
      This change
      
      - implements concurrent LES request serving even for a single peer.
      - replaces the request cost estimation method with a cost table based on
        benchmarks which gives much more consistent results. Until now the
        allowed number of light peers was just a guess which probably contributed
        a lot to the fluctuating quality of available service. Everything related
        to request cost is implemented in a single object, the 'cost tracker'. It
        uses a fixed cost table with a global 'correction factor'. Benchmark code
        is included and can be run at any time to adapt costs to low-level
        implementation changes.
      - reimplements flowcontrol.ClientManager in a cleaner and more efficient
        way, with added capabilities: There is now control over bandwidth, which
        allows using the flow control parameters for client prioritization.
        Target utilization over 100 percent is now supported to model concurrent
        request processing. Total serving bandwidth is reduced during block
        processing to prevent database contention.
      - implements an RPC API for the LES servers allowing server operators to
        assign priority bandwidth to certain clients and change prioritized
        status even while the client is connected. The new API is meant for
        cases where server operators charge for LES using an off-protocol mechanism.
      - adds a unit test for the new client manager.
      - adds an end-to-end test using the network simulator that tests bandwidth
        control functions through the new API.
      c2003ed6
  8. Jan 24, 2019
  9. Nov 26, 2018
  10. Oct 01, 2018
  11. Jul 04, 2018
  12. May 07, 2018
  13. Feb 19, 2018
  14. Feb 14, 2018
  15. Nov 09, 2017
  16. Jun 21, 2017
    • Zsolt Felföldi's avatar
      les: code refactoring (#14416) · a5d08c89
      Zsolt Felföldi authored
      This commit does various code refactorings:
      
      - generalizes and moves the request retrieval/timeout/resend logic out of LesOdr
        (will be used by a subsequent PR)
      - reworks the peer management logic so that all services can register with
        peerSet to get notified about added/dropped peers (also gets rid of the ugly
        getAllPeers callback in requestDistributor)
      - moves peerSet, LesOdr, requestDistributor and retrieveManager initialization
        out of ProtocolManager because I believe they do not really belong there and the
        whole init process was ugly and ad-hoc
      a5d08c89
  17. Apr 06, 2017
  18. Mar 22, 2017
  19. Mar 03, 2017
  20. Feb 23, 2017
  21. Jan 06, 2017
  22. Dec 10, 2016
  23. Dec 08, 2016
  24. Nov 09, 2016
Loading