good morning!!!!

Skip to content
Snippets Groups Projects
  1. Sep 14, 2020
    • Zsolt Felföldi's avatar
      les, les/lespay/server: refactor client pool (#21236) · 4996fce2
      Zsolt Felföldi authored
      
      * les, les/lespay/server: refactor client pool
      
      * les: use ns.Operation and sub calls where needed
      
      * les: fixed tests
      
      * les: removed active/inactive logic from peerSet
      
      * les: removed active/inactive peer logic
      
      * les: fixed linter warnings
      
      * les: fixed more linter errors and added missing metrics
      
      * les: addressed comments
      
      * cmd/geth: fixed TestPriorityClient
      
      * les: simplified clientPool state machine
      
      * les/lespay/server: do not use goroutine for balance callbacks
      
      * internal/web3ext: fix addBalance required parameters
      
      * les: removed freeCapacity, always connect at minCapacity initially
      
      * les: only allow capacity change with priority status
      
      Co-authored-by: default avatarrjl493456442 <garyrong0905@gmail.com>
      4996fce2
  2. 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
  3. Nov 18, 2019
    • Felix Lange's avatar
      build: use golangci-lint (#20295) · 68948644
      Felix Lange authored
      * build: use golangci-lint
      
      This changes build/ci.go to download and run golangci-lint instead
      of gometalinter.
      
      * core/state: fix unnecessary conversion
      
      * p2p/simulations: fix lock copying (found by go vet)
      
      * signer/core: fix unnecessary conversions
      
      * crypto/ecies: remove unused function cmpPublic
      
      * core/rawdb: remove unused function print
      
      * core/state: remove unused function xTestFuzzCutter
      
      * core/vm: disable TestWriteExpectedValues in a different way
      
      * core/forkid: remove unused function checksum
      
      * les: remove unused type proofsData
      
      * cmd/utils: remove unused functions prefixedNames, prefixFor
      
      * crypto/bn256: run goimports
      
      * p2p/nat: fix goimports lint issue
      
      * cmd/clef: avoid using unkeyed struct fields
      
      * les: cancel context in testRequest
      
      * rlp: delete unreachable code
      
      * core: gofmt
      
      * internal/build: simplify DownloadFile for Go 1.11 compatibility
      
      * build: remove go test --short flag
      
      * .travis.yml: disable build cache
      
      * whisper/whisperv6: fix ineffectual assignment in TestWhisperIdentityManagement
      
      * .golangci.yml: enable goconst and ineffassign linters
      
      * build: print message when there are no lint issues
      
      * internal/build: refactor download a bit
      68948644
  4. Sep 11, 2019
    • Felix Lange's avatar
      all: make unit tests work with Go 1.13 (#20053) · 39b0b1a1
      Felix Lange authored
      Most of these changes are related to the Go 1.13 changes to test binary
      flag handling. 
      
      * cmd/geth: make attach tests more reliable
      
      This makes the test wait for the endpoint to come up by polling
      it instead of waiting for two seconds.
      
      * tests: fix test binary flags for Go 1.13
      
      Calling flag.Parse during package initialization is prohibited
      as of Go 1.13 and causes test failures. Call it in TestMain instead.
      
      * crypto/ecies: remove useless -dump flag in tests
      
      * p2p/simulations: fix test binary flags for Go 1.13
      
      Calling flag.Parse during package initialization is prohibited
      as of Go 1.13 and causes test failures. Call it in TestMain instead.
      
      * build: remove workaround for ./... vendor matching
      
      This workaround was necessary for Go 1.8. The Go 1.9 release changed
      the expansion rules to exclude vendored packages.
      
      * Makefile: use relative path for GOBIN
      
      This makes the "Run ./build/bin/..." line look nicer.
      
      * les: fix test binary flags for Go 1.13
      
      Calling flag.Parse during package initialization is prohibited
      as of Go 1.13 and causes test failures. Call it in TestMain instead.
      39b0b1a1
  5. Aug 21, 2019
  6. Aug 03, 2019
  7. Jul 22, 2019
  8. Jul 17, 2019
  9. 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
Loading