good morning!!!!

Skip to content
Snippets Groups Projects
  1. Feb 27, 2018
  2. Feb 23, 2018
    • Anton Evangelatov's avatar
      metrics: pull library and introduce ResettingTimer and InfluxDB reporter (#15910) · ae9f9722
      Anton Evangelatov authored
      * go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter.
      
      * vendor: change nonsense/go-metrics to ethersphere/go-metrics
      
      * go-metrics: add tests. move ResettingTimer logic from reporter to type.
      
      * all, metrics: pull in metrics package in go-ethereum
      
      * metrics/test: make sure metrics are enabled for tests
      
      * metrics: apply gosimple rules
      
      * metrics/exp, internal/debug: init expvar endpoint when starting pprof server
      
      * internal/debug: tiny comment formatting fix
      ae9f9722
  3. Feb 22, 2018
  4. Feb 19, 2018
  5. Feb 14, 2018
  6. 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
      Unverified
      7a0019c6
  7. Feb 10, 2018
  8. Feb 05, 2018
  9. Jan 30, 2018
  10. Jan 26, 2018
  11. Jan 22, 2018
    • Zsolt Felföldi's avatar
      p2p, p2p/discover, p2p/discv5: implement UDP port sharing (#15200) · 92580d69
      Zsolt Felföldi authored
      This commit affects p2p/discv5 "topic discovery" by running it on
      the same UDP port where the old discovery works. This is realized
      by giving an "unhandled" packet channel to the old v4 discovery
      packet handler where all invalid packets are sent. These packets
      are then processed by v5. v5 packets are always invalid when
      interpreted by v4 and vice versa. This is ensured by adding one
      to the first byte of the packet hash in v5 packets.
      
      DiscoveryV5Bootnodes is also changed to point to new bootnodes
      that are implementing the changed packet format with modified
      hash. Existing and new v5 bootnodes are both running on different
      ports ATM.
      92580d69
  12. Jan 09, 2018
  13. Jan 03, 2018
  14. Dec 28, 2017
  15. Dec 22, 2017
  16. Nov 24, 2017
  17. Nov 21, 2017
  18. Nov 10, 2017
  19. Nov 09, 2017
  20. Nov 08, 2017
  21. Oct 27, 2017
  22. Oct 25, 2017
  23. 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
  24. 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
  25. Sep 06, 2017
  26. Aug 22, 2017
  27. Aug 18, 2017
  28. Aug 08, 2017
  29. Jul 05, 2017
  30. Jul 03, 2017
  31. Jun 29, 2017
  32. Jun 28, 2017
  33. Jun 27, 2017
    • Felix Lange's avatar
      core/state: access trie through Database interface, track errors (#14589) · 9e5f03b6
      Felix Lange authored
      With this commit, core/state's access to the underlying key/value database is
      mediated through an interface. Database errors are tracked in StateDB and
      returned by CommitTo or the new Error method.
      
      Motivation for this change: We can remove the light client's duplicated copy of
      core/state. The light client now supports node iteration, so tracing and storage
      enumeration can work with the light client (not implemented in this commit).
      9e5f03b6
  34. 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
  35. May 16, 2017
    • Felix Lange's avatar
      les: fix goroutine leak in execQueue (#14480) · e2015817
      Felix Lange authored
      execQueue used an atomic counter to track whether the queue had been
      closed, but the checking the counter didn't happen because the queue was
      blocked on its channel.
      
      Fix it by using a condition variable instead of sync/atomic. I tried an
      implementation based on channels first, but it was hard to make it
      reliable.
      
      quit now waits for the queue loop to exit.
      e2015817
Loading