08ea52e77a
cmd/geth, core, params: replace baikal with calaveras ( #22972 )
...
* cmd/geth, core, params: replace baikal with calaveras
* params: fix genesis hash for Calaveras
Co-authored-by: Péter Szilágyi <peterke@gmail.com >
2021-05-31 10:06:48 +03:00
2e7714f864
cmd/utils: avoid large alloc in --dev mode ( #22949 )
...
* cmd/utils: avoid 1Gb alloc in --dev mode
* cmd/geth: avoid 512Mb alloc in genesis query tests
2021-05-27 10:13:35 +02:00
addd8824cf
cmd/geth, eth, core: snapshot dump + unify with trie dump ( #22795 )
...
* cmd/geth, eth, core: snapshot dump + unify with trie dump
* cmd/evm: dump API fixes
* cmd/geth, core, eth: fix some remaining errors
* cmd/evm: dump - add limit, support address startkey, address review concerns
* cmd, core/state, eth: minor polishes, fix snap dump crash, unify format
Co-authored-by: Péter Szilágyi <peterke@gmail.com >
2021-05-12 11:05:39 +03:00
ca98080798
cmd/geth, eth/gasprice: add configurable threshold to gas price oracle ( #22752 )
...
This adds a cmd line parameter `--gpo.ignoreprice`, to make the gas price oracle ignore transactions below the given threshold.
2021-05-11 11:25:51 +02:00
f19a679b09
cmd/geth: remove reference to monitor command ( #22844 )
...
'geth monitor' subcommand is no longer supported.
2021-05-10 12:19:32 +02:00
cc606be74c
all: define London+baikal, undefine yolov3, add london override flag ( #22822 )
...
* all: define London+baikal, undefine yolov3, add london override flag
* cmd, core, params: add baikal genesis definition
2021-05-06 12:07:42 +03:00
f79cce5de9
eth/catalyst: add catalyst API prototype ( #22641 )
...
This change adds the --catalyst flag, enabling an RPC API for eth2 integration.
In this initial version, catalyst mode also disables all peer-to-peer networking.
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com >
Co-authored-by: Felix Lange <fjl@twurst.com >
2021-04-16 21:29:22 +02:00
7088f1e814
core, eth: faster snapshot generation ( #22504 )
...
* eth/protocols: persist received state segments
* core: initial implementation
* core/state/snapshot: add tests
* core, eth: updates
* eth/protocols/snapshot: count flat state size
* core/state: add metrics
* core/state/snapshot: skip unnecessary deletion
* core/state/snapshot: rename
* core/state/snapshot: use the global batch
* core/state/snapshot: add logs and fix wiping
* core/state/snapshot: fix
* core/state/snapshot: save generation progress even if the batch is empty
* core/state/snapshot: fixes
* core/state/snapshot: fix initial account range length
* core/state/snapshot: fix initial account range
* eth/protocols/snap: store flat states during the healing
* eth/protocols/snap: print logs
* core/state/snapshot: refactor (#4 )
* core/state/snapshot: refactor
* core/state/snapshot: tiny fix and polish
Co-authored-by: rjl493456442 <garyrong0905@gmail.com >
* core, eth: fixes
* core, eth: fix healing writer
* core, trie, eth: fix paths
* eth/protocols/snap: fix encoding
* eth, core: add debug log
* core/state/generate: release iterator asap (#5 )
core/state/snapshot: less copy
core/state/snapshot: revert split loop
core/state/snapshot: handle storage becoming empty, improve test robustness
core/state: test modified codehash
core/state/snapshot: polish
* core/state/snapshot: optimize stats counter
* core, eth: add metric
* core/state/snapshot: update comments
* core/state/snapshot: improve tests
* core/state/snapshot: replace secure trie with standard trie
* core/state/snapshot: wrap return as the struct
* core/state/snapshot: skip wiping correct states
* core/state/snapshot: updates
* core/state/snapshot: fixes
* core/state/snapshot: fix panic due to reference flaw in closure
* core/state/snapshot: fix errors in state generation logic + fix log output
* core/state/snapshot: remove an error case
* core/state/snapshot: fix condition-check for exhausted snap state
* core/state/snapshot: use stackTrie for small tries
* core/state/snapshot: don't resolve small storage tries in vain
* core/state/snapshot: properly clean up storage of deleted accounts
* core/state/snapshot: avoid RLP-encoding in some cases + minor nitpicks
* core/state/snapshot: fix error (+testcase)
* core/state/snapshot: clean up tests a bit
* core/state/snapshot: work in progress on better tests
* core/state/snapshot: polish code
* core/state/snapshot: fix trie iteration abortion trigger
* core/state/snapshot: fixes flaws
* core/state/snapshot: remove panic
* core/state/snapshot: fix abort
* core/state/snapshot: more tests (plus failing testcase)
* core/state/snapshot: more testcases + fix for failing test
* core/state/snapshot: testcase for malformed data
* core/state/snapshot: some test nitpicks
* core/state/snapshot: improvements to logging
* core/state/snapshot: testcase to demo error in abortion
* core/state/snapshot: fix abortion
* cmd/geth: make verify-state report the root
* trie: fix failing test
* core/state/snapshot: add timer metrics
* core/state/snapshot: fix metrics
* core/state/snapshot: udpate tests
* eth/protocols/snap: write snapshot account even if code or state is needed
* core/state/snapshot: fix diskmore check
* core/state/snapshot: review fixes
* core/state/snapshot: improve error message
* cmd/geth: rename 'error' to 'err' in logs
* core/state/snapshot: fix some review concerns
* core/state/snapshot, eth/protocols/snap: clear snapshot marker when starting/resuming snap sync
* core: add error log
* core/state/snapshot: use proper timers for metrics collection
* core/state/snapshot: address some review concerns
* eth/protocols/snap: improved log message
* eth/protocols/snap: fix heal logs to condense infos
* core/state/snapshot: wait for generator termination before restarting
* core/state/snapshot: revert timers to counters to track total time
Co-authored-by: Martin Holst Swende <martin@swende.se >
Co-authored-by: Péter Szilágyi <peterke@gmail.com >
2021-04-14 23:23:11 +03:00
271e5b7fc9
cmd/geth: add db-command to inspect freezer index ( #22633 )
...
This PR makes it easier to inspect the freezer index, which could be useful to investigate things like #22111
2021-04-13 15:45:30 +02:00
95219ae62d
cmd/utils: move cache sanity check to SetEthConfig ( #22510 )
...
Move the cache sanity check to the SetEthConfig function
to allow the config file to load.
2021-04-06 16:23:35 +02:00
59ac3c9fd3
cmd/geth: add db dumptrie command ( #22563 )
...
Adds the command "geth db dumptrie <root> <seek> <max>", to better help investigate the trie data
2021-03-30 13:57:21 +02:00
cae6b5527e
cmd/geth, consensus/ethash: add support for --miner.notify.full flag ( #22558 )
...
The PR implements the --miner.notify.full flag that enables full pending block
notifications. When this flag is used, the block notifications sent to mining
endpoints contain the complete block header JSON instead of a work package
array.
Co-authored-by: AlexSSD7 <alexandersadovskyi7@protonmail.com >
Co-authored-by: Martin Holst Swende <martin@swende.se >
2021-03-26 18:30:10 +01:00
8d6cc16742
cmd/geth: check block range against chain head in export cmd ( #22387 )
...
Check the input parameters against the actual head block, exit on error
2021-03-22 19:11:10 +01:00
0c70b83e00
all: add read-only option to database ( #22407 )
...
* all: add read-only option to database
* all: fixes tests
* cmd/geth: migrate flags
* cmd/geth: fix the compact
* cmd/geth: fix the format
* cmd/geth: fix log
* cmd: add chain-readonly
* core: add readonly notion to freezer
* core/rawdb: add log
* core/rawdb: fix freezer close
* cmd: fix
* cmd, core: construct db
* core: update tests
2021-03-22 19:06:30 +01:00
faacc8e0fa
cmd/geth, eth/downloader: remove copydb command ( #22501 )
...
* cmd/geth: remove copydb command
* eth/downloader: remove fakepeer
2021-03-15 16:25:45 +02:00
6387c520b7
cmd/geth: add ancient datadir flag to snapshot subcommands ( #22486 )
2021-03-12 11:16:19 +02:00
22082f9e56
cmd: extend dumpgenesis to support network flags on the cmd ( #22406 )
2021-03-09 11:50:25 +02:00
5a81dd97d5
cmd: retire whisper flags ( #22421 )
...
* cmd: retire whisper flags
* cmd/geth: remove whisper configs
2021-03-03 16:08:14 +02:00
0540d3c6f6
cmd/geth: put allowUnsecureTx flag in RPC section ( #22412 )
2021-03-03 09:42:59 +02:00
0928562670
all: define Berlin hard fork spec
2021-02-26 14:24:07 +02:00
bbfb1e4008
all: add support for EIP-2718, EIP-2930 transactions ( #21502 )
...
This adds support for EIP-2718 typed transactions as well as EIP-2930
access list transactions (tx type 1). These EIPs are scheduled for the
Berlin fork.
There very few changes to existing APIs in core/types, and several new APIs
to deal with access list transactions. In particular, there are two new
constructor functions for transactions: types.NewTx and types.SignNewTx.
Since the canonical encoding of typed transactions is not RLP-compatible,
Transaction now has new methods for encoding and decoding: MarshalBinary
and UnmarshalBinary.
The existing EIP-155 signer does not support the new transaction types.
All code dealing with transaction signatures should be updated to use the
newer EIP-2930 signer. To make this easier for future updates, we have
added new constructor functions for types.Signer: types.LatestSigner and
types.LatestSignerForChainID.
This change also adds support for the YoloV3 testnet.
Co-authored-by: Martin Holst Swende <martin@swende.se >
Co-authored-by: Felix Lange <fjl@twurst.com >
Co-authored-by: Ryan Schneider <ryanleeschneider@gmail.com >
2021-02-25 15:26:57 +01:00
378e961d85
cmd, eth, les: enable serving light clients when non-synced ( #22250 )
...
This PR adds a more CLI flag, so that the les-server can serve light clients even the local node is not synced yet.
This functionality is needed in some testing environments(e.g. hive). After launching the les server, no more blocks will be imported so the node is always marked as "non-synced".
2021-02-25 13:55:07 +01:00
8e547eecd5
cmd/utils: remove deprecated command line flags ( #22263 )
...
This removes support for all deprecated flags except --rpc*.
2021-02-24 14:07:58 +01:00
142fbcfd6f
internal/ethapi: reject non-replay-protected txs over RPC ( #22339 )
...
This PR prevents users from submitting transactions without EIP-155 enabled. This behaviour can be overridden by specifying the flag --rpc.allow-unprotected-txs=true.
2021-02-23 13:09:19 +01:00
c4a2b682ff
cmd/geth: add db commands stats, compact, put, get, delete ( #22014 )
...
This PR introduces:
- db.put to put a value into the database
- db.get to read a value from the database
- db.delete to delete a value from the database
- db.stats to check compaction info from the database
- db.compact to trigger a db compaction
It also moves inspectdb to db.inspect.
2021-02-23 11:27:32 +01:00
77787802fe
cmd/geth: fix js unclean shutdown ( #22302 )
2021-02-15 19:47:47 +01:00
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
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
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
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
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
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
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
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
664903dc88
cmd/geth: usb is off by default ( #21984 )
2021-01-05 11:18:22 +01:00
f83fc302a5
cmd/geth: update copyright year ( #22099 )
2021-01-04 11:52:23 +01:00
2f8100615a
cmd/geth: replace wiki links with new doc pages ( #22071 )
2020-12-27 22:01:28 +01:00
4859929798
cmd/geth: fixed parallelization flaw in account import test ( #22002 )
2020-12-14 14:08:53 +01:00
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
915643a3e5
cmd/geth: add test to verify regexps in version check ( #21962 )
2020-12-09 13:59:24 +01:00
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
aba0c234c2
cmd/geth: make tests run quicker + use less memory and disk ( #21919 )
2020-11-30 14:43:20 +01:00
810f9e057d
all: remove redundant conversions and import names ( #21903 )
2020-11-25 21:00:23 +01:00
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
28080463d2
Merge pull request #21861 from holiman/remove_retesteth
...
cmd/geth: remove retesteth
2020-11-19 07:49:40 +02:00
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
6b9858085f
cmd/geth: improve les test on windows ( #21860 )
2020-11-17 12:01:19 +01:00
d513584e52
cmd/geth: remove retesteth
2020-11-17 11:44:38 +01:00
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
1a55e20d35
cmd/geth: fix dir path in geth attach for yolov2 network ( #21749 )
2020-10-26 14:45:08 +02:00