good morning!!!!

Skip to content
Snippets Groups Projects
  1. Oct 20, 2020
  2. Oct 13, 2020
  3. Oct 09, 2020
  4. Sep 29, 2020
    • Guillaume Ballet's avatar
      trie: use stacktrie for Derivesha operation (#21407) · 6c8310eb
      Guillaume Ballet authored
      
      core/types: use stacktrie for derivesha
      
      trie: add stacktrie file
      
      trie: fix linter
      
      core/types: use stacktrie for derivesha
      
      rebased: adapt stacktrie to the newer version of DeriveSha
      
      Co-authored-by: default avatarMartin Holst Swende <martin@swende.se>
      
      More linter fixes
      
      review feedback: no key offset for nodes converted to hashes
      
      trie: use EncodeRLP for full nodes
      
      core/types: insert txs in order in derivesha
      
      trie: tests for derivesha with stacktrie
      
      trie: make stacktrie use pooled hashers
      
      trie: make stacktrie reuse tmp slice space
      
      trie: minor polishes on stacktrie
      
      trie/stacktrie: less rlp dancing
      
      core/types: explain the contorsions in DeriveSha
      
      ci: fix goimport errors
      
      trie: clear mem on subtrie hashing
      
      squashme: linter fix
      
      stracktrie: use pooling, less allocs (#3)
      
      trie: in-place hex prefix, reduce allocs and add rawNode.EncodeRLP
      
      Reintroduce the `[]node` method, add the missing `EncodeRLP` implementation for `rawNode` and calculate the hex prefix in place.
      
      Co-authored-by: default avatarMartin Holst Swende <martin@swende.se>
      
      Co-authored-by: default avatarMartin Holst Swende <martin@swende.se>
      6c8310eb
  5. Sep 23, 2020
  6. Sep 18, 2020
  7. Sep 15, 2020
  8. Sep 14, 2020
  9. Sep 09, 2020
  10. Sep 07, 2020
  11. Sep 02, 2020
  12. Sep 01, 2020
    • Giuseppe Bertone's avatar
      "Downloader queue stats" is now provided once per minute (#21455) · 5cdb476d
      Giuseppe Bertone authored
      * "Downloader queue stats" is now a DEBUG information
      
      I think this info is more a DEBUG related information then an INFO. If it must remains an INFO, maybe it can be slow down to one time every 5 minutes or so.
      
      * Update queue.go
      
      "Downloader queue stats" information is now provided once every minute instead of once every 10 seconds.
      5cdb476d
  13. Aug 27, 2020
  14. Aug 26, 2020
  15. Aug 24, 2020
  16. Aug 21, 2020
  17. Aug 20, 2020
    • Péter Szilágyi's avatar
      core: define and test chain rewind corner cases (#21409) · 8cbdc863
      Péter Szilágyi authored
      * core: define and test chain reparation cornercases
      
      * core: write up a variety of set-head tests
      
      * core, eth: unify chain rollbacks, handle all the cases
      
      * core: make linter smile
      
      * core: remove commented out legacy code
      
      * core, eth/downloader: fix review comments
      
      * core: revert a removed recovery mechanism
      8cbdc863
  18. Aug 10, 2020
  19. Aug 07, 2020
  20. Aug 06, 2020
  21. Aug 05, 2020
  22. Aug 03, 2020
    • rene's avatar
      node: refactor package node (#21105) · c0c01612
      rene authored
      This PR significantly changes the APIs for instantiating Ethereum nodes in
      a Go program. The new APIs are not backwards-compatible, but we feel that
      this is made up for by the much simpler way of registering services on
      node.Node. You can find more information and rationale in the design
      document: https://gist.github.com/renaynay/5bec2de19fde66f4d04c535fd24f0775.
      
      There is also a new feature in Node's Go API: it is now possible to
      register arbitrary handlers on the user-facing HTTP server. In geth, this
      facility is used to enable GraphQL.
      
      There is a single minor change relevant for geth users in this PR: The
      GraphQL API is no longer available separately from the JSON-RPC HTTP
      server. If you want GraphQL, you need to enable it using the
      ./geth --http --graphql flag combination.
      
      The --graphql.port and --graphql.addr flags are no longer available.
      c0c01612
  23. Jul 29, 2020
    • rene's avatar
      eth/downloader: remove eth62 (#21378) · 1976bb3d
      rene authored
      * init
      
      notes
      
      removed some mentions of eth62, bumped protocol err too old to >=63
      
      * remove sanity checks and bump supported protocol version up to 63
      
      * remove 62 tests, still need to add 65
      
      * remove 65 tests
      1976bb3d
  24. 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
    • Gary Rong's avatar
      cmd, core, eth, light, trie: dump clean cache periodically (#20391) · 93da0cf8
      Gary Rong authored
      
      * cmd, core, eth, light, trie: dump clean cache periodically
      
      * eth: update config
      
      * trie: minor fix
      
      * core, trie: address comments
      
      * eth: remove useless
      
      * trie: print clean cache dump start too
      
      Co-authored-by: default avatarPéter Szilágyi <peterke@gmail.com>
      93da0cf8
  25. Jul 24, 2020
    • Martin Holst Swende's avatar
      eth/downloader: refactor downloader + queue (#21263) · 10592218
      Martin Holst Swende authored
      
      * eth/downloader: refactor downloader + queue
      
      downloader, fetcher: throttle-metrics, fetcher filter improvements, standalone resultcache
      
      downloader: more accurate deliverytime calculation, less mem overhead in state requests
      
      downloader/queue: increase underlying buffer of results, new throttle mechanism
      
      eth/downloader: updates to tests
      
      eth/downloader: fix up some review concerns
      
      eth/downloader/queue: minor fixes
      
      eth/downloader: minor fixes after review call
      
      eth/downloader: testcases for queue.go
      
      eth/downloader: minor change, don't set progress unless progress...
      
      eth/downloader: fix flaw which prevented useless peers from being dropped
      
      eth/downloader: try to fix tests
      
      eth/downloader: verify non-deliveries against advertised remote head
      
      eth/downloader: fix flaw with checking closed-status causing hang
      
      eth/downloader: hashing avoidance
      
      eth/downloader: review concerns + simplify resultcache and queue
      
      eth/downloader: add back some locks, address review concerns
      
      downloader/queue: fix remaining lock flaw
      
      * eth/downloader: nitpick fixes
      
      * eth/downloader: remove the *2*3/4 throttling threshold dance
      
      * eth/downloader: print correct throttle threshold in stats
      
      Co-authored-by: default avatarPéter Szilágyi <peterke@gmail.com>
      10592218
  26. Jul 16, 2020
    • Martin Holst Swende's avatar
      core/vm: less allocations for various call variants (#21222) · 29569375
      Martin Holst Swende authored
      
      * core/vm/runtime/tests: add more benchmarks
      
      * core/vm: initial work on improving alloc count for calls to precompiles
      
      name                                  old time/op    new time/op    delta
      SimpleLoop/identity-precompile-10M-6     117ms ±75%      43ms ± 1%  -63.09%  (p=0.008 n=5+5)
      SimpleLoop/loop-10M-6                   79.6ms ± 4%    70.5ms ± 1%  -11.42%  (p=0.008 n=5+5)
      
      name                                  old alloc/op   new alloc/op   delta
      SimpleLoop/identity-precompile-10M-6    24.4MB ± 0%     4.9MB ± 0%  -79.94%  (p=0.008 n=5+5)
      SimpleLoop/loop-10M-6                   13.2kB ± 0%    13.2kB ± 0%     ~     (p=0.357 n=5+5)
      
      name                                  old allocs/op  new allocs/op  delta
      SimpleLoop/identity-precompile-10M-6      382k ± 0%      153k ± 0%  -59.99%  (p=0.000 n=5+4)
      SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
      
      * core/vm: don't allocate big.int for touch
      
      name                                  old time/op    new time/op    delta
      SimpleLoop/identity-precompile-10M-6    43.3ms ± 1%    42.4ms ± 7%     ~     (p=0.151 n=5+5)
      SimpleLoop/loop-10M-6                   70.5ms ± 1%    76.7ms ± 1%   +8.67%  (p=0.008 n=5+5)
      
      name                                  old alloc/op   new alloc/op   delta
      SimpleLoop/identity-precompile-10M-6    4.90MB ± 0%    2.46MB ± 0%  -49.83%  (p=0.008 n=5+5)
      SimpleLoop/loop-10M-6                   13.2kB ± 0%    13.2kB ± 1%     ~     (p=0.571 n=5+5)
      
      name                                  old allocs/op  new allocs/op  delta
      SimpleLoop/identity-precompile-10M-6      153k ± 0%       76k ± 0%  -49.98%  (p=0.029 n=4+4)
      SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
      
      * core/vm: reduce allocs in staticcall
      
      name                                  old time/op    new time/op    delta
      SimpleLoop/identity-precompile-10M-6    42.4ms ± 7%    37.5ms ± 6%  -11.68%  (p=0.008 n=5+5)
      SimpleLoop/loop-10M-6                   76.7ms ± 1%    69.1ms ± 1%   -9.82%  (p=0.008 n=5+5)
      
      name                                  old alloc/op   new alloc/op   delta
      SimpleLoop/identity-precompile-10M-6    2.46MB ± 0%    0.02MB ± 0%  -99.35%  (p=0.008 n=5+5)
      SimpleLoop/loop-10M-6                   13.2kB ± 1%    13.2kB ± 0%     ~     (p=0.143 n=5+5)
      
      name                                  old allocs/op  new allocs/op  delta
      SimpleLoop/identity-precompile-10M-6     76.4k ± 0%      0.1k ± 0%     ~     (p=0.079 n=4+5)
      SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
      
      * trie: better use of hasher keccakState
      
      * core/state/statedb: reduce allocations in getDeletedStateObject
      
      * core/vm: reduce allocations in all call derivates
      
      * core/vm: reduce allocations in call variants
      
      - Make returnstack `uint32`
      - Use a `sync.Pool` of `stack`s
      
      * core/vm: fix tests
      
      * core/vm: goimports
      
      * core/vm: tracer fix + staticcall gas fix
      
      * core/vm: add back snapshot to staticcall
      
      * core/vm: review concerns + make returnstack pooled + enable returndata in traces
      
      * core/vm: fix some test tracer method signatures
      
      * core/vm: run gencodec, minor comment polish
      
      Co-authored-by: default avatarPéter Szilágyi <peterke@gmail.com>
      29569375
  27. Jul 13, 2020
  28. Jul 08, 2020
  29. Jul 03, 2020
    • Gary Rong's avatar
      eth/gasprice: lighter gas price oracle for light client (#20409) · 61270e5e
      Gary Rong authored
      This PR reduces the bandwidth used by the light client to compute the
      recommended gas price. The current mechanism for suggesting the price is:
      
      - retrieve recent 20 blocks
      - get the lowest gas price of these blocks
      - sort the price array and return the middle(60%) one
      
      This works for full nodes, which have all blocks available locally.
      However, this is very expensive for the light client because the light
      client needs to retrieve block bodies from the network.
      
      The PR changes the default options for light client. With the new config,
      the light client only retrieves the two latest blocks, but in order to
      collect more sample transactions, the 3 lowest prices are collected from
      each block.
      
      This PR also changes the behavior for empty blocks. If the block is empty,
      the lastest price is reused for sampling.
      61270e5e
  30. Jul 01, 2020
  31. Jun 30, 2020
    • Marius van der Wijden's avatar
      eth/downloader: fixes data race between synchronize and other methods (#21201) · d671dbd5
      Marius van der Wijden authored
      * eth/downloaded: fixed datarace between synchronize and Progress
      
      There was a race condition between `downloader.synchronize()` and `Progress` `syncWithPeer` `fetchHeight` `findAncestors` and `processHeaders`
      This PR changes the behavior of the downloader a bit.
      Previously the functions `Progress` `syncWithPeer` `fetchHeight` `findAncestors` and `processHeaders` read the syncMode anew within their loops. Now they read the syncMode at the start of their function and don't change it during their runtime.
      
      * eth/downloaded: comment
      
      * eth/downloader: added comment
      d671dbd5
Loading