Alex Mazalov
77787802fe
cmd/geth: fix js unclean shutdown ( #22302 )
2021-02-15 19:47:47 +01:00
gary rong
f566dd305e
all: bloom-filter based pruning mechanism ( #21724 )
...
* cmd, core, tests: initial state pruner
core: fix db inspector
cmd/geth: add verify-state
cmd/geth: add verification tool
core/rawdb: implement flatdb
cmd, core: fix rebase
core/state: use new contract code layout
core/state/pruner: avoid deleting genesis state
cmd/geth: add helper function
core, cmd: fix extract genesis
core: minor fixes
contracts: remove useless
core/state/snapshot: plugin stacktrie
core: polish
core/state/snapshot: iterate storage concurrently
core/state/snapshot: fix iteration
core: add comments
core/state/snapshot: polish code
core/state: polish
core/state/snapshot: rebase
core/rawdb: add comments
core/rawdb: fix tests
core/rawdb: improve tests
core/state/snapshot: fix concurrent iteration
core/state: run pruning during the recovery
core, trie: implement martin's idea
core, eth: delete flatdb and polish pruner
trie: fix import
core/state/pruner: add log
core/state/pruner: fix issues
core/state/pruner: don't read back
core/state/pruner: fix contract code write
core/state/pruner: check root node presence
cmd, core: polish log
core/state: use HEAD-127 as the target
core/state/snapshot: improve tests
cmd/geth: fix verification tool
cmd/geth: use HEAD as the verification default target
all: replace the bloomfilter with martin's fork
cmd, core: polish code
core, cmd: forcibly delete state root
core/state/pruner: add hash64
core/state/pruner: fix blacklist
core/state: remove blacklist
cmd, core: delete trie clean cache before pruning
cmd, core: fix lint
cmd, core: fix rebase
core/state: fix the special case for clique networks
core/state/snapshot: remove useless code
core/state/pruner: capping the snapshot after pruning
cmd, core, eth: fixes
core/rawdb: update db inspector
cmd/geth: polish code
core/state/pruner: fsync bloom filter
cmd, core: print warning log
core/state/pruner: adjust the parameters for bloom filter
cmd, core: create the bloom filter by size
core: polish
core/state/pruner: sanitize invalid bloomfilter size
cmd: address comments
cmd/geth: address comments
cmd/geth: address comment
core/state/pruner: address comments
core/state/pruner: rename homedir to datadir
cmd, core: address comments
core/state/pruner: address comment
core/state: address comments
core, cmd, tests: address comments
core: address comments
core/state/pruner: release the iterator after each commit
core/state/pruner: improve pruner
cmd, core: adjust bloom paramters
core/state/pruner: fix lint
core/state/pruner: fix tests
core: fix rebase
core/state/pruner: remove atomic rename
core/state/pruner: address comments
all: run go mod tidy
core/state/pruner: avoid false-positive for the middle state roots
core/state/pruner: add checks for middle roots
cmd/geth: replace crit with error
* core/state/pruner: fix lint
* core: drop legacy bloom filter
* core/state/snapshot: improve pruner
* core/state/snapshot: polish concurrent logs to report ETA vs. hashes
* core/state/pruner: add progress report for pruning and compaction too
* core: fix snapshot test API
* core/state: fix some pruning logs
* core/state/pruner: support recovering from bloom flush fail
Co-authored-by: Péter Szilágyi <peterke@gmail.com >
2021-02-08 13:16:30 +02:00
gary rong
098a2b6e26
eth: move eth.Config to a common package ( #22205 )
...
This moves the eth config definition into a separate package, eth/ethconfig.
Packages eth and les can now import this common package instead of
importing eth from les, reducing dependencies.
Co-authored-by: Felix Lange <fjl@twurst.com >
2021-02-05 13:51:15 +01:00
rene
4eae0c6b6f
cmd/geth, node: allow configuring JSON-RPC on custom path prefix ( #22184 )
...
This change allows users to set a custom path prefix on which to mount the http-rpc
or ws-rpc handlers via the new flags --http.rpcprefix and --ws.rpcprefix.
Fixes #21826
Co-authored-by: Felix Lange <fjl@twurst.com >
2021-02-02 10:05:46 +01:00
Sina Mahmoodi
eb21c652c0
cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 ( #22213 )
...
Removes the yolov2 definition, adds yolov3, including EIP-2565. This PR also disables some of the erroneously generated blockchain and statetests, and adds the new genesis hash + alloc for yolov3.
This PR disables the CLI switches for yolo, since it's not complete until we merge support for 2930.
2021-01-28 21:19:07 +01:00
Alex Mazalov
24c1e3053b
cmd/geth: graceful shutdown if disk is full ( #22103 )
...
Adding warnings of free disk space left and graceful shutdown when there is not enough space left.
This also adds a flag datadir.minfreedisk which can be used to set the trigger for low disk space, and setting it to zero disables the check.
Co-authored-by: Martin Holst Swende <martin@swende.se >
Co-authored-by: Felix Lange <fjl@twurst.com >
2021-01-19 09:26:42 +01:00
Marius van der Wijden
10555d4684
cmd/geth: dump config for metrics ( #22083 )
...
* cmd/geth: dump config
* cmd/geth: dump config
* cmd/geth: properly read config again
* cmd/geth: override metrics if flags are set
* cmd/geth: write metrics regardless if enabled
* cmd/geth: renamed to metricsfromcliargs
* metrics: add default configuration
2021-01-18 14:36:05 +01:00
Guillaume Ballet
c7a6be163f
cmd/utils: don't enumerate USB unless --usb is set ( #22130 )
...
USB enumeration still occured. Make sure it will only occur if --usb is set.
This also deprecates the 'NoUSB' config file option in favor of a new option 'USB'.
2021-01-13 11:14:36 +01:00
Marius van der Wijden
4714ce9430
cmd/geth: added --mainnet flag ( #21932 )
...
* cmd/geth: added --mainnet flag
* cmd/utils: set default genesis if --mainnet is specified
* cmd/utils: addressed comments
2021-01-05 14:31:23 +01:00
Guillaume Ballet
664903dc88
cmd/geth: usb is off by default ( #21984 )
2021-01-05 11:18:22 +01:00
Vie
f83fc302a5
cmd/geth: update copyright year ( #22099 )
2021-01-04 11:52:23 +01:00
Suriyaa Sundararuban
2f8100615a
cmd/geth: replace wiki links with new doc pages ( #22071 )
2020-12-27 22:01:28 +01:00
Marius van der Wijden
4859929798
cmd/geth: fixed parallelization flaw in account import test ( #22002 )
2020-12-14 14:08:53 +01:00
Péter Szilágyi
017831dd5b
core, eth: split eth package, implement snap protocol ( #21482 )
...
This commit splits the eth package, separating the handling of eth and snap protocols. It also includes the capability to run snap sync (https://github.com/ethereum/devp2p/blob/master/caps/snap.md ) , but does not enable it by default.
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de >
Co-authored-by: Martin Holst Swende <martin@swende.se >
2020-12-14 10:27:15 +01:00
Martin Holst Swende
915643a3e5
cmd/geth: add test to verify regexps in version check ( #21962 )
2020-12-09 13:59:24 +01:00
Martin Holst Swende
15339cf1c9
cmd/geth: implement vulnerability check ( #21859 )
...
* cmd/geth: implement vulnerability check
* cmd/geth: use minisign to verify vulnerability feed
* cmd/geth: add the test too
* cmd/geth: more minisig/signify testing
* cmd/geth: support multiple pubfiles for signing
* cmd/geth: add @holiman minisig pubkey
* cmd/geth: polishes on vulnerability check
* cmd/geth: fix ineffassign linter nit
* cmd/geth: add CVE to version check struct
* cmd/geth/testdata: add missing testfile
* cmd/geth: add more keys to versionchecker
* cmd/geth: support file:// URLs in version check
* cmd/geth: improve key ID printing when signature check fails
Co-authored-by: Felix Lange <fjl@twurst.com >
2020-12-04 15:01:47 +01:00
Martin Holst Swende
aba0c234c2
cmd/geth: make tests run quicker + use less memory and disk ( #21919 )
2020-11-30 14:43:20 +01:00
Alex Prut
810f9e057d
all: remove redundant conversions and import names ( #21903 )
2020-11-25 21:00:23 +01:00
Martin Holst Swende
6f88d6530a
trie, rpc, cmd/geth: fix tests on 32-bit and windows + minor rpc fixes ( #21871 )
...
* trie: fix tests to work on 32-bit systems
* les: make test work on 32-bit platform
* cmd/geth: fix windows-issues on tests
* trie: improve balance
* cmd/geth: make account tests less verbose + less mem intense
* rpc: make debug-level log output less verbose
* cmd/geth: lint
2020-11-19 22:50:47 +01:00
Péter Szilágyi
28080463d2
Merge pull request #21861 from holiman/remove_retesteth
...
cmd/geth: remove retesteth
2020-11-19 07:49:40 +02:00
gary rong
23524f8900
all: disable recording preimage of trie keys ( #21402 )
...
* cmd, core, eth, light, trie: disable recording preimage by default
* core, eth: fix unit tests
* core: fix import
* all: change to nopreimage
* cmd, core, eth, trie: use cache.preimages flag
* cmd: enable preimages for archive node
* cmd/utils, trie: simplify preimage tracking a bit
* core: fix linter
Co-authored-by: Péter Szilágyi <peterke@gmail.com >
2020-11-18 11:51:33 +02:00
Martin Holst Swende
6b9858085f
cmd/geth: improve les test on windows ( #21860 )
2020-11-17 12:01:19 +01:00
Martin Holst Swende
d513584e52
cmd/geth: remove retesteth
2020-11-17 11:44:38 +01:00
Marius van der Wijden
2045a2bba3
core, all: split vm.Context into BlockContext and TxContext ( #21672 )
...
* all: core: split vm.Config into BlockConfig and TxConfig
* core: core/vm: reset EVM between tx in block instead of creating new
* core/vm: added docs
2020-11-13 13:42:19 +01:00
James Prestwich
1a55e20d35
cmd/geth: fix dir path in geth attach for yolov2 network ( #21749 )
2020-10-26 14:45:08 +02:00
Martin Holst Swende
6487c002f6
all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 ( #21509 )
...
* core/vm, core/state: implement EIP-2929 + YOLOv2
* core/state, core/vm: fix some review concerns
* core/state, core/vm: address review concerns
* core/vm: address review concerns
* core/vm: better documentation
* core/vm: unify sload cost as fully dynamic
* core/vm: fix typo
* core/vm/runtime: fix compilation flaw
* core/vm/runtime: fix renaming-err leftovers
* core/vm: renaming
* params/config: use correct yolov2 chainid for config
* core, params: use a proper new genesis for yolov2
* core/state/tests: golinter nitpicks
2020-10-23 08:26:57 +02:00
rene
cef3e2dc5a
console: don't exit on ctrl-c, only on ctrl-d ( #21660 )
...
* add interrupt counter
* remove interrupt counter, allow ctrl-C to clear ONLY, ctrl-D will terminate console, stop node
* format
* add instructions to exit
* fix tests
2020-10-20 10:56:51 +02:00
Giuseppe Bertone
2a9ea6be87
cmd/geth, cmd/utils: fixed flags name ( #21700 )
2020-10-13 13:33:10 +02:00
Binacs
fdb742419e
cmd/clef, cmd/geth: use SplitAndTrim from cmd/utils ( #21579 )
2020-09-22 23:22:54 +02:00
Felföldi Zsolt
4996fce25a
les, les/lespay/server: refactor client pool ( #21236 )
...
* 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: rjl493456442 <garyrong0905@gmail.com >
2020-09-14 22:44:20 +02:00
Guillaume Ballet
d7f02b448a
cmd/geth: print warning when whisper config is present in toml ( #21544 )
...
* cmd/geth: print warning when whisper config is present in toml
* Update cmd/geth/config.go
Co-authored-by: Martin Holst Swende <martin@swende.se >
2020-09-10 13:14:19 +00:00
gary rong
328901c24c
cmd, eth: offer maxprice flag for overwritting price cap ( #21531 )
...
* cmd, eth: offer maxprice flag for overwritting price cap
* eth: rename default price cap
2020-09-09 18:38:47 +03:00
Guillaume Ballet
d54f2f2e5e
whisper: remove whisper ( #21487 )
...
* whisper: remove whisper
* Update cmd/geth/config.go
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de >
* cmd/geth: warn on enabling whisper + remove more whisper deps
* mobile: remove all whisper references
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de >
Co-authored-by: Martin Holst Swende <martin@swende.se >
2020-09-08 11:47:48 +03:00
gary rong
87c0ba9213
core, eth, les, trie: add a prefix to contract code ( #21080 )
2020-08-21 15:10:40 +03:00
Martin Holst Swende
54add42550
cmd/geth/tests: try to fix spurious travis failure in les tests ( #21410 )
...
* cmd/geth/tests: try to fix spurious travis failure in les tests
* cmd/geth: les_test - remove extraneous option during boot
2020-08-14 14:18:12 +02:00
rene
d21303f9dd
cmd/geth: fixes db unavailability for chain commands ( #21415 )
...
* chaincmd should make config nodes instead of full nodes
* add documentation for using makeConfigNode instead of makeFullNode;
* add documentation to functions
* code style
2020-08-06 10:24:36 +03:00
rene
4a04127ce3
cmd/geth: fix import / export issues related to DB unavailability ( #21414 )
...
* should fix import / export issues related to DB unavailability
* document reason for makeConfigNode
* fix comment
* comment consistency
* remove comments
* lint
2020-08-06 08:02:05 +03:00
rene
c0c01612e9
node: refactor package node ( #21105 )
...
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.
2020-08-03 19:40:46 +02:00
gary rong
28c5a8a54b
les: implement new les fetcher ( #20692 )
...
* 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
2020-07-28 18:02:35 +03:00
gary rong
93da0cf8a1
cmd, core, eth, light, trie: dump clean cache periodically ( #20391 )
...
* 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: Péter Szilágyi <peterke@gmail.com >
2020-07-28 16:30:31 +03:00
rene
5b081ab214
cmd/clef: change --rpcport to --http.port and update flags in docs ( #21318 )
2020-07-14 10:35:32 +02:00
gary rong
6eef141aef
les: historical data garbage collection ( #19570 )
...
This change introduces garbage collection for the light client. Historical
chain data is deleted periodically. If you want to disable the GC, use
the --light.nopruning flag.
2020-07-13 11:02:54 +02:00
rene
beabf95ad7
cmd/geth, cmd/puppeth: replace deprecated rpc and ws flags in tests and docs ( #21317 )
2020-07-09 17:48:40 +02:00
meowsbits
490b380a04
cmd/geth: allow configuring metrics HTTP server on separate endpoint ( #21290 )
...
Exposing /debug/metrics and /debug/metrics/prometheus was dependent
on --pprof, which also exposes other HTTP APIs. This change makes it possible
to run the metrics server on an independent endpoint without enabling pprof.
2020-07-03 19:12:22 +02:00
Adam Schmideg
ec51cbb5fb
cmd/geth: LES priority client test ( #20719 )
...
This adds a regression test for the LES priority client API.
2020-07-01 10:31:11 +02:00
Binacs
dd91c7ce6a
cmd: abstract getPassPhrase
functions into one ( #21219 )
...
* [cmd] Abstract `getPassPhrase` functions into one.
* cmd/ethkey: fix compilation failure
Co-authored-by: rjl493456442 <garyrong0905@gmail.com >
2020-06-30 09:56:40 +02:00
meowsbits
413358abb9
cmd/geth: make import cmd exit with 1 if import errors occurred ( #21244 )
...
The import command should not return a 0 status
code if the import finishes prematurely becaues
of an import error.
Returning the error causes the program to exit with 1
if the err is non nil.
Signed-off-by: meows <b5c6@protonmail.com >
2020-06-24 22:01:58 +02:00
gary rong
56a319b9da
cmd, eth, internal, les: add txfee cap ( #21212 )
...
* cmd, eth, internal, les: add gasprice cap
* cmd/utils, eth: add default value for gasprice cap
* all: use txfee cap
* cmd, eth: add fix
* cmd, internal: address comments
2020-06-17 10:46:31 +03:00
Péter Szilágyi
f52ff0f1e9
cmd/geth: fix the fork orders for DAO tests
2020-06-03 12:17:54 +03:00
Martin Holst Swende
890757f03a
cmd, core, params: inital support for yolo-v1 testnet ( #21154 )
...
* core,params,puppeth: inital support for yolo-v1 testnet
* cmd/geth, core: add yolov1 console flag
* cmd, core, params: YoloV1 bakein fixups
Co-authored-by: Péter Szilágyi <peterke@gmail.com >
2020-06-03 12:05:15 +03:00