- Aug 17, 2018
-
-
Felix Lange authored
* les: fix crasher in NodeInfo when running as server The ProtocolManager computes CHT and Bloom trie roots by asking the indexers for their current head. It tried to get the indexers from LesOdr, but no LesOdr instance is created in server mode. Attempt to fix this by moving the indexers, protocol creation and NodeInfo to a new lesCommons struct which is embedded into both server and client. All this setup code should really be cleaned up, but this is just a hotfix so we have to do that some other time. * les: fix commons protocol maker
-
- Aug 15, 2018
-
-
Zsolt Felföldi authored
This PR enables the indexers to work in light client mode by downloading a part of these tries (the Merkle proofs of the last values of the last known section) in order to be able to add new values and recalculate subsequent hashes. It also adds CHT data to NodeInfo.
-
- Aug 14, 2018
-
-
Zsolt Felföldi authored
This PR implements les.freeClientPool. It also adds a simulated clock in common/mclock, which enables time-sensitive tests to run quickly and still produce accurate results, and package common/prque which is a generalised variant of prque that enables removing elements other than the top one from the queue. les.freeClientPool implements a client database that limits the connection time of each client and manages accepting/rejecting incoming connections and even kicking out some connected clients. The pool calculates recent usage time for each known client (a value that increases linearly when the client is connected and decreases exponentially when not connected). Clients with lower recent usage are preferred, unknown nodes have the highest priority. Already connected nodes receive a small bias in their favor in order to avoid accepting and instantly kicking out clients. Note: the pool can use any string for client identification. Using signature keys for that purpose would not make sense when being known has a negative value for the client. Currently the LES protocol manager uses IP addresses (without port address) to identify clients.
-
- Aug 10, 2018
-
-
Péter Szilágyi authored
-
- Aug 03, 2018
-
-
Gary Rong authored
* consensus/ethash: start remote ggoroutine to handle remote mining * consensus/ethash: expose remote miner api * consensus/ethash: expose submitHashrate api * miner, ethash: push empty block to sealer without waiting execution * consensus, internal: add getHashrate API for ethash * consensus: add three method for consensus interface * miner: expose consensus engine running status to miner * eth, miner: specify etherbase when miner created * miner: commit new work when consensus engine is started * consensus, miner: fix some logics * all: delete useless interfaces * consensus: polish a bit
-
- Jul 30, 2018
-
-
Oleg Kovalov authored
* all: simplify switches * silly mistake
-
- Jul 12, 2018
-
-
Péter Szilágyi authored
-
- Jul 04, 2018
-
-
Zsolt Felföldi authored
-
- Jun 25, 2018
-
-
Gary Rong authored
* les: handle conn/disc/reg logic in the eventloop * les: try to dial before start eventloop * les: handle disconnect logic more safely * les: grammar fix
-
- Jun 12, 2018
-
-
Zsolt Felföldi authored
This PR fixes a retriever logic bug. When a peer had a soft timeout and then a response arrived, it always assumed it was the same peer even though it could have been a later requested one that did not time out at all yet. In this case the logic went to an illegal state and deadlocked, causing a goroutine leak. Fixes #16243 and replaces #16359. Thanks to @riceke for finding the bug in the logic.
-
Zsolt Felföldi authored
-
Zsolt Felföldi authored
-
- Jun 05, 2018
-
-
Zsolt Felföldi authored
-
- May 21, 2018
-
-
kiel barry authored
-
- May 18, 2018
-
-
Péter Szilágyi authored
-
Gary Rong authored
-
- May 09, 2018
-
-
Gary Rong authored
* all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
-
- May 07, 2018
-
-
Péter Szilágyi authored
-
- May 03, 2018
-
-
GagziW authored
-
- Apr 17, 2018
-
-
thomasmodeneis authored
-
- Apr 11, 2018
-
-
cpusoft authored
-
- Feb 27, 2018
-
-
Andrey Petrov authored
Fixes #3326, #14472
-
- Feb 23, 2018
-
-
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
-
- Feb 22, 2018
-
-
Péter Szilágyi authored
-
- Feb 19, 2018
-
-
Zsolt Felföldi authored
* les: fix light fetcher database race * les: lightFetcher comments
-
- Feb 14, 2018
-
-
Péter Szilágyi authored
-
Felix Lange authored
-
- Feb 11, 2018
-
-
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
-
- Feb 10, 2018
-
-
Zsolt Felföldi authored
-
- Feb 05, 2018
-
-
Péter Szilágyi authored
This commit reduces database I/O by not writing every state trie to disk.
-
Zsolt Felföldi authored
* les: limit number of LES connections * eth, cmd/utils: light vs max peer configuration logic
-
- Jan 30, 2018
-
-
Péter Szilágyi authored
-
- Jan 26, 2018
-
-
Zsolt Felföldi authored
-
- Jan 22, 2018
-
-
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.
-
- Jan 09, 2018
-
-
Zsolt Felföldi authored
-
- Jan 03, 2018
-
-
Péter Szilágyi authored
-
Furkan KAMACI authored
-
- Dec 28, 2017
-
-
Péter Szilágyi authored
-
- Dec 22, 2017
-
-
Gary Rong authored
* accounts, consensus, core, eth: make chain maker consensus agnostic * consensus, core: move CalcDifficulty to Engine interface * consensus: add docs for calcDifficulty function * consensus, core: minor comment fixups
-
- Nov 24, 2017
-
-
Gary Rong authored
* cmd, consensus, eth: split ethash related config to it own * eth, consensus: minor polish * eth, consenus, console: compress pow testing config field to single one * consensus, eth: document pow mode
-