good morning!!!!

Skip to content
Snippets Groups Projects
  1. Nov 10, 2020
    • Gary Rong's avatar
      p2p/simulations/adapters/exec: fix some issues (#21801) · c52dfd55
      Gary Rong authored
      - Remove the ws:// prefix from the status endpoint since
        the ws:// is already included in the stack.WSEndpoint().
      - Don't register the services again in the node start.
        Registration is already done in the initialization stage.
      - Expose admin namespace via websocket.
        This namespace is necessary for connecting the peers via websocket.
      - Offer logging relevant options for exec adapter.
        It's really painful to mix all log output in the single console. So
        this PR offers two additional options for exec adapter in this case
        testers can config the log output(e.g. file output) and log level
        for each p2p node.
      c52dfd55
  2. Nov 09, 2020
  3. Nov 05, 2020
  4. Nov 04, 2020
    • Martin Holst Swende's avatar
      core/types, rlp: optimize derivesha (#21728) · 175506e7
      Martin Holst Swende authored
      
      This PR contains a minor optimization in derivesha, by exposing the RLP
      int-encoding and making use of it to write integers directly to a
      buffer (an RLP integer is known to never require more than 9 bytes
      total). rlp.AppendUint64 might be useful in other places too.
      
      The code assumes, just as before, that the hasher (a trie) will copy the
      key internally, which it does when doing keybytesToHex(key).
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      175506e7
    • rene's avatar
      cmd/devp2p/internal/ethtest: add correct chain files and improve test output (#21782) · 36bb7ac0
      rene authored
      
      This PR replaces the old test genesis.json and chain.rlp files in the testdata
      directory for the eth protocol test suite, and also adds documentation for
      running the eth test suite locally.
      
      It also improves the test output text and adds more timeouts.
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      36bb7ac0
    • Felix Lange's avatar
      cmd/devp2p, internal/utesting: implement TAP output (#21760) · 5d20fbbb
      Felix Lange authored
      TAP is a text format for test results. Parsers for it are available in many languages,
      making it easy to consume. I want TAP output from our protocol tests because the
      Hive wrapper around them needs to know about the test names and their individual
      results and logs. It would also be possible to just write this info as JSON, but I don't
      want to invent a new format.
      
      This also improves the normal console output for tests (when running without --tap).
      It now prints -- RUN lines before any output from the test, and indents the log output
      by one space.
      5d20fbbb
    • Gary Rong's avatar
      core/state/snapshot: fix journal recovery from generating old journal (#21775) · e6402677
      Gary Rong authored
      * core/state/snapshot: print warning if failed to resolve journal
      
      * core/state/snapshot: fix snapshot recovery
      
      When we meet the snapshot journal consisted with:
      - disk layer generator with new-format
      - diff layer journal with old-format
      
      The base layer should be returned without error.
      The broken diff layer can be reconstructed later
      but we definitely don't want to reconstruct the
      huge diff layer.
      
      * core: add tests
      e6402677
    • Marius van der Wijden's avatar
      common: remove ToHex and ToHexArray (#21610) · 3eebf340
      Marius van der Wijden authored
      ToHex was deprecated a couple years ago. The last remaining use
      was in ToHexArray, which itself only had a single call site.
      
      This just moves ToHexArray near its only remaining call site and
      implements it using hexutil.Encode. This changes the default behaviour
      of ToHexArray and with it the behaviour of eth_getProof. Previously we
      encoded an empty slice as 0, now the empty slice is encoded as 0x.
      3eebf340
  5. Oct 30, 2020
    • Gary Rong's avatar
      les, p2p/simulations/adapters: fix issues found while simulating les (#21761) · b63bffe8
      Gary Rong authored
      This adds a few tiny fixes for les and the p2p simulation framework:
      
      LES Parts
      
      - Keep the LES-SERVER connection even it's non-synced
      
        We had this idea to reject the connections in LES protocol if the les-server itself is
        not synced. However, in LES protocol we will also receive the connection from another
        les-server. In this case even the local node is not synced yet, we should keep the tcp
        connection for other protocols(e.g. eth protocol).
      
      - Don't count "invalid message" for non-existing GetBlockHeadersMsg request
      
        In the eth syncing mechanism (full sync, fast sync, light sync), it will try to fetch
        some non-existent blocks or headers(to ensure we indeed download all the missing chain).
        In this case, it's possible that the les-server will receive the request for
        non-existent headers. So don't count it as the "invalid message" for scheduling
        dropping.
      
      - Copy the announce object in the closure
      
        Before the les-server pushes the latest headers to all connected clients, it will create
        a closure and queue it in the underlying request scheduler. In some scenarios it's
        problematic. E.g, in private networks, the block can be mined very fast. So before the
        first closure is executed, we may already update the latest_announce object. So actually
        the "announce" object we want to send is replaced.
      
        The downsize is the client will receive two announces with the same td and then drop the
        server.
      
      P2P Simulation Framework
      
      - Don't double register the protocol services in p2p-simulation "Start".
      
        The protocols upon the devp2p are registered in the "New node stage". So don't reigster
        them again when starting a node in the p2p simulation framework
      
      - Add one more new config field "ExternalSigner", in order to use clef service in the
        framework.
      b63bffe8
  6. Oct 29, 2020
    • Gary Rong's avatar
      core: improve snapshot journal recovery (#21594) · b63e3c37
      Gary Rong authored
      
      * core/state/snapshot: introduce snapshot journal version
      
      * core: update the disk layer in an atomic way
      
      * core: persist the disk layer generator periodically
      
      * core/state/snapshot: improve logging
      
      * core/state/snapshot: forcibly ensure the legacy snapshot is matched
      
      * core/state/snapshot: add debug logs
      
      * core, tests: fix tests and special recovery case
      
      * core: polish
      
      * core: add more blockchain tests for snapshot recovery
      
      * core/state: fix comment
      
      * core: add recovery flag for snapshot
      
      * core: add restart after start-after-crash tests
      
      * core/rawdb: fix imports
      
      * core: fix tests
      
      * core: remove log
      
      * core/state/snapshot: fix snapshot
      
      * core: avoid callbacks in SetHead
      
      * core: fix setHead cornercase where the threshold root has state
      
      * core: small docs for the test cases
      
      Co-authored-by: default avatarPéter Szilágyi <peterke@gmail.com>
      b63e3c37
  7. Oct 28, 2020
  8. Oct 27, 2020
  9. Oct 26, 2020
  10. Oct 23, 2020
  11. Oct 21, 2020
  12. Oct 20, 2020
  13. Oct 16, 2020
  14. Oct 15, 2020
  15. Oct 14, 2020
Loading