aboutsummaryrefslogtreecommitdiffstats
path: root/eth/config.go
Commit message (Collapse)AuthorAgeFilesLines
* les, les/flowcontrol: improved request serving and flow control (#18230)Felföldi Zsolt2019-02-261-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* eth, node: use APPDATA env to support cygwin/msys correctly (#17786)HackyMiner2019-02-191-2/+9
| | | | | | | | | This changes default location of the data directory to use the LOCALAPPDATA environment variable, resolving issues with remote home directories an improving compatibility with Cygwin. Fixes #2239 Fixes #2237 Fixes #16437
* les: implement ultralight client (#16904)b00ris2019-01-241-2/+6
| | | | For more information about this light client mode, read https://hackmd.io/s/HJy7jjZpm
* cmd/geth, core, eth: implement Constantinople override flag (#18273)Martin Holst Swende2018-12-111-0/+4
| | | | | | | | * geth/core/eth: implement constantinople override flag * les: implemnent constantinople override flag for les clients * cmd/geth, eth, les: fix typo, move flag to experimentals
* cmd, eth: Add support for `--whitelist <blocknum>=<hash>,...` flagRyan Schneider2018-12-101-0/+3
| | | | | * Rejects peers that respond with a different hash for any of the passed in block numbers. * Meant for emergency situations when the network forks unexpectedly.
* cmd, core, eth, light, trie: add trie read caching layerPéter Szilágyi2018-11-151-10/+12
|
* eth, p2p: fix comment typos (#18014)Corey Lin2018-11-081-1/+1
|
* core/vm: add switches to select evm+ewasm interpreters (#17687)Guillaume Ballet2018-09-201-0/+5
| | | | | Interpreter initialization is left to the PRs implementing them. Options for external interpreters are passed after a colon in the `--vm.ewasm` and `--vm.evm` switches.
* cmd, core, eth, miner, params: configurable gas floor and ceilPéter Szilágyi2018-08-291-1/+5
|
* consensus, miner: stale block mining support (#17506)gary rong2018-08-281-0/+1
| | | | | | | | | | * consensus, miner: stale block supporting * consensus, miner: refactor seal signature * cmd, consensus, eth: add miner noverify flag * cmd, consensus, miner: polish
* cmd, eth: clean up miner startup API, drop noop config fieldPéter Szilágyi2018-08-231-1/+0
|
* cmd, eth: apply default miner recommit setting (#17479)gary rong2018-08-221-0/+1
|
* cmd, eth, miner: make recommit configurable (#17444)gary rong2018-08-221-7/+8
| | | | | | | | | | | | * cmd, eth, miner: make recommit configurable * cmd, eth, les, miner: polish a bit * miner: filter duplicate sealing work * cmd: remove uncessary conversion * miner: avoid microptimization in favor of cleaner code
* cmd, consensus/ethash, eth: miner push notificationsPéter Szilágyi2018-08-101-0/+1
|
* core, eth, trie: streaming GC for the trie cache (#16810)Péter Szilágyi2018-06-041-1/+1
| | | | | | * core, eth, trie: streaming GC for the trie cache * trie: track memcache statistics
* core, trie: intermediate mempool between trie and database (#15857)Péter Szilágyi2018-02-061-1/+7
| | | This commit reduces database I/O by not writing every state trie to disk.
* les: limit LES peer count and improve peer configuration logic (#16010)Felföldi Zsolt2018-02-051-1/+1
| | | | | | * les: limit number of LES connections * eth, cmd/utils: light vs max peer configuration logic
* eth/gasprice: set default percentile to 60%, count blocks instead of ↵Nick Johnson2018-01-101-2/+2
| | | | | | | | | transactions (#15828) The first should address a long term issue where we recommend a gas price that is greater than that required for 50% of transactions in recent blocks, which can lead to gas price inflation as people take this figure and add a margin to it, resulting in a positive feedback loop.
* cmd, consensus, eth: split ethash related config to it own (#15520)gary rong2017-11-241-22/+17
| | | | | | | | | | * 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
* eth: use maxpeers from p2p layer instead of extra configPéter Szilágyi2017-09-061-1/+0
|
* cmd, core, eth: configurable txpool parametersPéter Szilágyi2017-05-291-0/+4
|
* cmd, core, eth, miner: remove txpool gas price limits (#14442)Péter Szilágyi2017-05-171-1/+1
|
* cmd, eth, les, mobile: make networkid uint64 everywherePéter Szilágyi2017-04-251-1/+1
|
* Merge remote-tracking branch 'fjl/license-update-1.6'Péter Szilágyi2017-04-141-1/+1
|\
| * all: update license informationFelix Lange2017-04-141-1/+1
| |
* | eth: revert accidental ethash cache dir changePéter Szilágyi2017-04-141-0/+1
|/
* cmd/utils, node: remove unused solc references and improve RPC config (#14324)bas-vk2017-04-131-1/+0
| | | | | Currently http cors and websocket origins are a comma separated string in the config object. These are replaced with string arrays that are more expressive in case of a config file.
* cmd/geth: add --config file flag (#13875)Felix Lange2017-04-121-0/+117
* p2p/discover, p2p/discv5: add marshaling methods to Node * p2p/netutil: make Netlist decodable from TOML * common/math: encode nil HexOrDecimal256 as 0x0 * cmd/geth: add --config file flag * cmd/geth: add missing license header * eth: prettify Config again, fix tests * eth: use gasprice.Config instead of duplicating its fields * eth/gasprice: hide nil default from dumpconfig output * cmd/geth: hide genesis block in dumpconfig output * node: make tests compile * console: fix tests * cmd/geth: make TOML keys look exactly like Go struct fields * p2p: use discovery by default This makes the zero Config slightly more useful. It also fixes package node tests because Node detects reuse of the datadir through the NodeDatabase. * cmd/geth: make ethstats URL settable through config file * cmd/faucet: fix configuration * cmd/geth: dedup attach tests * eth: add comment for DefaultConfig * eth: pass downloader.SyncMode in Config This removes the FastSync, LightSync flags in favour of a more general SyncMode flag. * cmd/utils: remove jitvm flags * cmd/utils: make mutually exclusive flag error prettier It now reads: Fatal: flags --dev, --testnet can't be used at the same time * p2p: fix typo * node: add DefaultConfig, use it for geth * mobile: add missing NoDiscovery option * cmd/utils: drop MakeNode This exposed a couple of places that needed to be updated to use node.DefaultConfig. * node: fix typo * eth: make fast sync the default mode * cmd/utils: remove IPCApiFlag (unused) * node: remove default IPC path Set it in the frontends instead. * cmd/geth: add --syncmode * cmd/utils: make --ipcdisable and --ipcpath mutually exclusive * cmd/utils: don't enable WS, HTTP when setting addr * cmd/utils: fix --identity