good morning!!!!

Skip to content
Snippets Groups Projects
  1. Dec 09, 2020
    • Martin Holst Swende's avatar
      core,les: headerchain import in batches (#21471) · 40b6ccf3
      Martin Holst Swende authored
      
      * core: add test for headerchain inserts
      
      * core, light: write headerchains in batches
      
      * core: change to one callback per batch of inserted headers + review concerns
      
      * core: error-check on batch write
      
      * core: unexport writeHeaders
      
      * core: remove callback parameter in InsertHeaderChain
      
      The semantics of InsertHeaderChain are now much simpler: it is now an
      all-or-nothing operation. The new WriteStatus return value allows
      callers to check for the canonicality of the insertion. This change
      simplifies use of HeaderChain in package les, where the callback was
      previously used to post chain events.
      
      * core: skip some hashing when writing headers
      
      * core: less hashing in header validation
      
      * core: fix headerchain flaw regarding blacklisted hashes
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      40b6ccf3
  2. Jul 13, 2020
  3. May 26, 2020
    • Felix Lange's avatar
      eth: interrupt chain insertion on shutdown (#21114) · 9219e0fb
      Felix Lange authored
      This adds a new API method on core.BlockChain to allow interrupting
      running data inserts, and calls the method before shutting down the
      downloader.
      
      The BlockChain interrupt checks are now done through a method instead
      of inlining the atomic load everywhere. There is no loss of efficiency from
      this and it makes the interrupt protocol a lot clearer because the check is
      defined next to the method that sets the flag.
      9219e0fb
  4. Jan 17, 2020
  5. Nov 19, 2019
  6. Sep 26, 2019
  7. Sep 17, 2019
    • Zsolt Felföldi's avatar
      les: multiple server bugfixes (#20079) · 0ac9bbba
      Zsolt Felföldi authored
      * les: detailed relative cost metrics
      
      * les: filter txpool relative request statistic
      
      * les: initialize price factors
      
      * les: increased connected bias to lower churn rate
      
      * les: fixed clientPool.setLimits
      
      * core: do not use mutex in GetAncestor
      
      * les: bump factor db version again
      
      * les: add metrics
      
      * les, light: minor fixes
      0ac9bbba
  8. Jun 28, 2019
    • Gary Rong's avatar
      all: on-chain oracle checkpoint syncing (#19543) · f7cdea2b
      Gary Rong authored
      * all: implement simple checkpoint syncing
      
      cmd, les, node: remove callback mechanism
      
      cmd, node: remove callback definition
      
      les: simplify the registrar
      
      les: expose checkpoint rpc services in the light client
      
      les, light: don't store untrusted receipt
      
      cmd, contracts, les: discard stale checkpoint
      
      cmd, contracts/registrar: loose restriction of registeration
      
      cmd, contracts: add replay-protection
      
      all: off-chain multi-signature contract
      
      params: deploy checkpoint contract for rinkeby
      
      cmd/registrar: add raw signing mode for registrar
      
      cmd/registrar, contracts/registrar, les: fixed messages
      
      * cmd/registrar, contracts/registrar: fix lints
      
      * accounts/abi/bind, les: address comments
      
      * cmd, contracts, les, light, params: minor checkpoint sync cleanups
      
      * cmd, eth, les, light: move checkpoint config to config file
      
      * cmd, eth, les, params: address comments
      
      * eth, les, params: address comments
      
      * cmd: polish up the checkpoint admin CLI
      
      * cmd, contracts, params: deploy new version contract
      
      * cmd/checkpoint-admin: add another flag for clef mode signing
      
      * cmd, contracts, les: rename and regen checkpoint oracle with abigen
      f7cdea2b
  9. May 16, 2019
    • Gary Rong's avatar
      all: integrate the freezer with fast sync · 80469bea
      Gary Rong authored
      * all: freezer style syncing
      
      core, eth, les, light: clean up freezer relative APIs
      
      core, eth, les, trie, ethdb, light: clean a bit
      
      core, eth, les, light: add unit tests
      
      core, light: rewrite setHead function
      
      core, eth: fix downloader unit tests
      
      core: add receipt chain insertion test
      
      core: use constant instead of hardcoding table name
      
      core: fix rollback
      
      core: fix setHead
      
      core/rawdb: remove canonical block first and then iterate side chain
      
      core/rawdb, ethdb: add hasAncient interface
      
      eth/downloader: calculate ancient limit via cht first
      
      core, eth, ethdb: lots of fixes
      
      * eth/downloader: print ancient disable log only for fast sync
      80469bea
  10. Apr 17, 2019
  11. Apr 02, 2019
  12. Mar 18, 2019
  13. 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
  14. Feb 07, 2019
  15. Jan 24, 2019
  16. Jan 11, 2019
  17. Sep 20, 2018
  18. Aug 28, 2018
  19. Aug 21, 2018
  20. Aug 15, 2018
  21. Jun 12, 2018
  22. May 07, 2018
  23. Feb 26, 2018
  24. Feb 11, 2018
    • Péter Szilágyi's avatar
      les, light: fix CHT trie retrievals (#16039) · 7a0019c6
      Péter Szilágyi authored
      * les, light: fix CHT trie retrievals
      
      * les, light: minor polishes, test remote CHT retrievals
      
      * les, light: deterministic nodeset rlp, bloombits test skeleton
      
      * les: add an event emission to the les bloombits test
      
      * les: drop dead tester code
      7a0019c6
  25. Feb 08, 2018
  26. Feb 05, 2018
  27. Jan 30, 2018
  28. Jan 23, 2018
  29. Jan 03, 2018
  30. Dec 28, 2017
  31. Oct 24, 2017
    • Zsolt Felföldi's avatar
      les, light: LES/2 protocol version (#14970) · ca376ead
      Zsolt Felföldi authored
      This PR implements the new LES protocol version extensions:
      
      * new and more efficient Merkle proofs reply format (when replying to
        a multiple Merkle proofs request, we just send a single set of trie
        nodes containing all necessary nodes)
      * BBT (BloomBitsTrie) works similarly to the existing CHT and contains
        the bloombits search data to speed up log searches
      * GetTxStatusMsg returns the inclusion position or the
        pending/queued/unknown state of a transaction referenced by hash
      * an optional signature of new block data (number/hash/td) can be
        included in AnnounceMsg to provide an option for "very light
        clients" (mobile/embedded devices) to skip expensive Ethash check
        and accept multiple signatures of somewhat trusted servers (still a
        lot better than trusting a single server completely and retrieving
        everything through RPC). The new client mode is not implemented in
        this PR, just the protocol extension.
      ca376ead
  32. Sep 11, 2017
  33. Sep 09, 2017
    • Felix Lange's avatar
      core, eth/downloader: commit block data using batches (#15115) · 10181b57
      Felix Lange authored
      * ethdb: add Putter interface and Has method
      
      * ethdb: improve docs and add IdealBatchSize
      
      * ethdb: remove memory batch lock
      
      Batches are not safe for concurrent use.
      
      * core: use ethdb.Putter for Write* functions
      
      This covers the easy cases.
      
      * core/state: simplify StateSync
      
      * trie: optimize local node check
      
      * ethdb: add ValueSize to Batch
      
      * core: optimize HasHeader check
      
      This avoids one random database read get the block number. For many uses
      of HasHeader, the expectation is that it's actually there. Using Has
      avoids a load + decode of the value.
      
      * core: write fast sync block data in batches
      
      Collect writes into batches up to the ideal size instead of issuing many
      small, concurrent writes.
      
      * eth/downloader: commit larger state batches
      
      Collect nodes into a batch up to the ideal size instead of committing
      whenever a node is received.
      
      * core: optimize HasBlock check
      
      This avoids a random database read to get the number.
      
      * core: use numberCache in HasHeader
      
      numberCache has higher capacity, increasing the odds of finding the
      header without a database lookup.
      
      * core: write imported block data using a batch
      
      Restore batch writes of state and add blocks, tx entries, receipts to
      the same batch. The change also simplifies the miner.
      
      This commit also removes posting of logs when a forked block is imported.
      
      * core: fix DB write error handling
      
      * ethdb: use RLock for Has
      
      * core: fix HasBlock comment
      10181b57
  34. Aug 18, 2017
  35. Aug 07, 2017
  36. Jul 04, 2017
  37. Jul 03, 2017
Loading