Alex Sharov
6bf54c951a
Sokol v0: unwind support ( #2439 )
2021-07-24 16:50:42 +07:00
ledgerwatch
026c4e9d02
Reorg ropsten solution ( #2419 )
...
* Reorg ropsten solution
* Add option
* Print TD recalc
* Correct fix for eip1559
* Try to fix the unwind
* Print header progress and hash
* Not insert descendants of bad headers
* Print some more
* Print less
* Better way of marking bad headers
* Disable inSync
* Penalise peers who give incorrect chain pieces
* better fix for initial cycle
* Clean up
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-07-22 16:49:36 +01:00
Alex Sharov
c3e1cfdac8
Pruning for: exec, log_index, tx_lookup, history stages ( #2399 )
...
* Pruning for: exec, log_index, tx_lookup, history stages
* Pruning for: exec, log_index, tx_lookup, history stages
* Pruning for: exec, log_index, tx_lookup, history stages
* Pruning for: exec, log_index, tx_lookup, history stages
* add tvm flag
* save
* db migration for storage mode
add flag --prune=
remove flag --storage-mode=
add flag --experiments=tevm,...
rename integration set_storage_mode to set_prune
* fix
* forward move of stages must skip everything before PruneTo
* keep in db progress of prune method
* keep in db progress of prune method
* simplify logs
* simplify logs
* simplify logs
* fix test
* simplify logs
* simplify logs
* simplify logs
* simplify logs
* remove callTraceSet as dupsort
use etl transform for txlookup prune
remove some logs
* cleanup tests a bit
* print_stages and eth_sync to show prune progress
* fix print_stages
* add readme about --prune.to flag
* more docs
* add --prune.history.older and other flags support
* fix migration on empty db
* better toString
* better toString
2021-07-20 21:03:19 +01:00
Artem Vorotnikov
0026cb8faa
Remove checkpoints ( #2402 )
...
* Remove checkpoints
* Remove more dead flags
2021-07-20 09:11:42 +07:00
Artem Vorotnikov
a49b920659
Remove preimages ( #2370 )
2021-07-15 09:06:07 +07:00
Alex Sharov
5eaf4c8cc3
rpc: 1559 in call and tracing ( #2327 )
2021-07-11 04:05:56 +00:00
Alex Sharov
43af5d42b8
simplify staged sync world ( #2336 )
...
* simplify world
* simplify world
* simplify world
2021-07-10 16:43:58 +07:00
Marin Ivanov
c89ec2047e
Add parameter for minimum time between sync loop iterations ( #2332 )
...
* Add parameter for minimum time between sync loop iterations
* Rename cli parameter --throttle.minLoopTime => --sync.loop.throttle
2021-07-10 09:19:44 +07:00
Alex Sharov
e98340d806
Simplify stagedsync.Prepare ( #2317 )
2021-07-08 20:52:22 +07:00
Mark Tyneway
17adaf5f87
config: add block downloader window flag ( #2259 )
2021-07-01 10:14:10 +07:00
Alex Sharov
6df7230108
Sokol v0 - better header rlp, steps to generate blocks ( #2256 )
2021-06-30 16:30:21 +07:00
Alex Sharov
605d7a8d59
Sokol v0 ( #2228 )
...
* handle chain flag in integration
* handle chain flag in integration
* handle chain flag in integration
* save
* save
* merge devel
* save
* noopWriter - one is enough
* chain spec parser
* chain spec parser
* embed
* embed
* embed
* embed
* embed
* embed
* embed
* clean
* clean
* correct alloc after reset state
* correct alloc after reset state
* correct alloc after reset state
* integration reset state now does re-apply genesis and chainConfig
* eips summary
* eips summary
* eips summary
2021-06-25 19:13:40 +01:00
Alex Sharov
bc271f92ce
To break dependency to db implementation - move all db classes to "ethdb/kv" and leave in "ethdb" only interfaces ( #2195 )
2021-06-19 15:21:53 +07:00
Artem Vorotnikov
af836a6200
Nuke LMDB ( #2167 )
2021-06-16 13:57:58 +03:00
BitBaseBit
159777db29
Changed gas price oracle to use effective tip and ignoreUnder parameter for 1559. ( #2173 )
...
* added temp file in crashreports because git is stupid and wont add empty folders
* implemented ignoreUnder + EffectiveGas for legacy and dynamic txs
* implemented changes to gas price oracle for 1559
* switched Cmp to Lt/Gt
2021-06-15 21:45:34 +01:00
Alex Sharov
b160e30652
Send GetBlockHeaders immediately if TD of connected peer >= our TD ( #2169 )
...
* empty engine
* start sync from peer right after handshake if it's TD is higher
* fixCanonicalChain to print logs
* clean
* >
2021-06-15 13:43:55 +01:00
ledgerwatch
c2c63a3715
Clean up DefaultStages ( #2114 )
...
* Clean up DefaultStages
* Fix compile
* Fix compile
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-06-07 12:00:16 +01:00
ledgerwatch
87d24be960
Drop download.v2 flag ( #2039 )
...
* Drop download.v2 flag
* Lint
* Skip tests
* Skip test
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-28 16:32:34 +01:00
ledgerwatch
5d6305952a
Simplifications of gas price oracle ( #2036 )
...
* Simplifications of gas price oracle
* Make price suggestion non-concurrent
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-27 20:33:02 +01:00
Evgeny Danilenko
7352b81122
Tevm stage 1 ( #1845 )
...
* convert contracts after block execution
* check if has tevm code
* after review-1
* handle ErrNotFound
* typo
* tests
* tevm code bucket
* testdata
* execute pre-stage
* after merge
* test fix
* test fix
* fix test after merge
* disable translation stage
* after merge
* rename params
* rename to Erigon
* parallelize EVM translation
* fix
* logging and fixes
* fix
* todos
* cleanup
* revert erigorn renaming
* unwind
* tevm unwind
* fix AppData
* non-parallel version
* comments
2021-05-27 14:54:55 +01:00
Evgeny Danilenko
74847d77e6
Rename to Erigon ( #2018 )
...
* turbo-geth to erigon
* tg, turbo to erigon
2021-05-26 11:35:39 +01:00
ledgerwatch
835b954f5c
State stream to RPC daemon ( #1986 )
...
* Remove interfaces
* Squashed 'interfaces/' content from commit e06631eb4
git-subtree-dir: interfaces
git-subtree-split: e06631eb4d0926c2d6a4f552497b920b4ed8d1bd
* Update KV interface
* Squashed 'interfaces/' changes from e06631eb4..014677ffe
014677ffe Merge remote-tracking branch 'origin/master' into stream
08c32a09e add version method to txPool and ethbackend
5b6bf70b9 Update README.md
7712cb267 Update README.md
f895ece4c save (#37 )
git-subtree-dir: interfaces
git-subtree-split: 014677ffe5bff0dee1a333f06c92e6110d791468
* Fix old interfaces
* Squashed 'interfaces/' changes from 014677ffe..df31e1146
df31e1146 remove action from storage change
git-subtree-dir: interfaces
git-subtree-split: df31e1146c368eda2e2b15ab252b78fba7a0a6f3
* add Accumulator
* add location
* Squashed 'interfaces/' changes from df31e1146..472584639
472584639 Merge remote-tracking branch 'origin/master' into stream
dd6a42724 Refactor of consensus interface (#28 )
git-subtree-dir: interfaces
git-subtree-split: 472584639f637189dfb906ef1ed03665f98d55d2
* Fix compilation in cons
* Pass accumulator to Execution stage
* Fix test
* Pass accumulator to unwind and plain writer
* Add accumulator use to plain writer
* Squashed 'interfaces/' changes from 472584639f..5c36f038b8
5c36f038b8 State change stream to KV (#38 )
REVERT: 472584639f Merge remote-tracking branch 'origin/master' into stream
REVERT: df31e1146c remove action from storage change
REVERT: 014677ffe5 Merge remote-tracking branch 'origin/master' into stream
REVERT: e06631eb4d Fix
REVERT: 9c10d79d2d Fix
REVERT: 61ae9307de Fix
REVERT: 4fcf34ecc5 State change stream to KV
git-subtree-dir: interfaces
git-subtree-split: 5c36f038b87096ffb6b07e90c6762c21b864cd3b
* Add state.stream flag
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-23 15:53:18 +01:00
Artem Vorotnikov
5655409616
Do not write old block changesets in pruning storage mode ( #1964 )
...
* Remove incremental staged sync
* Do not write old block changesets in pruning storage mode
* Remove pruning flag, put behaviour behind !StorageMode.History
2021-05-22 11:57:10 +01:00
Alex Sharov
0be3044b7e
rename ( #1978 )
...
* rename
* rename "make grpc"
* rename "abi bindings templates"
* rename "abi bindings templates"
2021-05-20 19:25:53 +01:00
b00ris
565a4250d6
Snapshot sync headers stage ( #1836 )
...
* save state
* snapshot update works
* save state
* snapshot migrator
* tx test
* save state
* migrations stages refactor
* refactor snapshot migrator
* compilation fixed
* integrate snapshot migrator
* goerli sync headers
* debug async snapshotter on goerly
* move verify headers, remove experiments, fix remove old snapshot
* save state
* refactor snapshotsync injection
* fix deadlock
* replace snapshot generation stage logic to migrate method
* change done for body snapshot
* clean
* clean&&change deleted value
* clean
* fix hash len
* fix hash len
* remove one of wrap methods, add remove snapshots on start
* add err check
* fix shadowing
* stages unwind order debug
* matryoshka experiments
* steam test
* fix build
* fix test
* fix lint
* fix test
* fix test datarace
* add get test
* return timeout
* fix mdbx overlap
* fix after merge
* change epoch size
* clean todo
* fix
* return testdata
* added return from sndownloader gorutine
* fix review comments
* Fix
* More info
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-08 09:45:40 +01:00
Artem Vorotnikov
09788dbc02
Pruning flag, incremental staged sync ( #1899 )
2021-05-08 00:07:49 +03:00
Alex Sharov
249b3098cb
add --sentry.api.addr flag ( #1850 )
...
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
* add --sentry.api.addr
2021-04-30 16:09:03 +01:00
Alex Sharov
d959986466
Connect TxFetcher to Sentry, Add --download.v2 option to TG ( #1796 )
2021-04-25 11:20:50 +07:00
Artem Vorotnikov
9a3e47a498
Remove StateCache where unused ( #1770 )
2021-04-21 16:14:23 +07:00
Artem Vorotnikov
c967655c1d
More cleanups ( #1765 )
2021-04-21 08:48:37 +07:00
Alex Sharov
bf1c219531
Move txPool.Get method behind direct-grpc ( #1760 )
2021-04-20 21:41:46 +07:00
Evgeny Danilenko
17c07c50a5
Move clique buckets to separate DB ( #1703 )
...
* debug
* debug
* it works
* rename clique bucket
* remove genesis special case
* copy snapshot
* remove debug
* migration
* debug
* regenerate snapshots
* simplify
* regeneration
* after merge
* tests
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-04-19 22:58:05 +01:00
Alex Sharov
5019610cfb
remove database field from Ethereum object ( #1750 )
2021-04-19 14:56:44 +07:00
Alex Sharov
a6541b5402
[merge after release] remove trie cache cli flags and logic ( #1725 )
2021-04-15 17:06:38 +07:00
Artem Vorotnikov
1bedfc1965
Nuke remnants of non-staged-sync modes ( #1664 )
2021-04-03 08:48:57 +07:00
Artem Vorotnikov
e67be2b1be
Remove unused code ( #1604 )
...
* Remove graphql, legacy options
* Remove CODEOWNERS
* Remove EWASM and custom EVM interpreter
2021-03-26 09:08:01 +07:00
Alex Sharov
aff859edc0
Mining stage ( #1554 )
2021-03-23 16:00:07 +07:00
ledgerwatch
81ea5bab78
More updates to downloader, new p2psentry protocol ( #1559 )
...
* Initial commit
* Add sentry gRPC interface
* p2psentry directory
* Update README.md
* Update README.md
* Update README.md
* Add go package
* Correct syntax
* add external downloader interface (#2 )
* Add txpool (#3 )
* Add private API (#4 )
* Invert control.proto, add PeerMinBlock, Separare incoming Tx message into a separate stream (#5 )
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Separate upload messages into its own stream (#6 )
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Only send changed accounts to listeners (#7 )
* Txpool interface doc (#9 )
* More additions
* More additions
* Fix locking
* Intermediate
* Fix separation of phases
* Intermediate
* Fix test
* More transformations
* New simplified way of downloading headers
* Fix hard-coded header sync
* Fixed syncing near the tip of the chain
* Add architecture diagram source and picture (#10 )
* More fixes
* rename tip to link
* Use preverified hashes instead of preverified headers
* Fix preverified hashes generation
* more parametrisation
* Continue parametrisation
* Fix grpc data limit, interruption of headers stage
* Add ropsten preverified hashes
* Typed hashes (#11 )
* Typed hashes
* Fix PeerId
* 64-bit tx nonce
* Disable penalties
* Add goerli settings, bootstrap nodes
* Try to fix goerly sync
* Remove interfaces
* Add proper golang packages, max_block into p2p sentry Status
* Prepare for proto overhaul
* Squashed 'interfaces/' content from commit ce36053c2
git-subtree-dir: interfaces
git-subtree-split: ce36053c24db2f56e48ac752808de60afa1dfb4b
* Change EtherReply to address
* Adaptations to new types
* Switch to new types
* Fixes
* Fix formatting
* Fix lint
* Lint fixes, reverse order in types
* Fix lint
* Fix lint
* Fix lint
* Fix test
* Not supporting eth/66 yet
* Fix shutdown
* Fix lint
* Fix lint
* Fix lint
* return stopped check
Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me>
Co-authored-by: b00ris <b00ris@mail.ru>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: canepat <16927169+canepat@users.noreply.github.com>
2021-03-19 21:24:49 +00:00
Alexey Sharp
519b19f8aa
Compilation fixes
2021-03-14 08:00:37 +00:00
Péter Szilágyi
d23002e76a
all: define Berlin hard fork spec
...
# Conflicts:
# cmd/geth/config.go
# cmd/geth/main.go
# core/genesis.go
# core/state_transition.go
# core/vm/evm.go
# core/vm/interpreter.go
# eth/backend.go
# eth/ethconfig/config.go
# les/client.go
# light/txpool.go
# tests/state_test_util.go
2021-03-12 15:50:09 +01:00
gary rong
e602a34fb8
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".
# Conflicts:
# cmd/geth/main.go
# cmd/geth/usage.go
# cmd/utils/flags.go
# eth/ethconfig/gen_config.go
# les/server.go
2021-03-10 17:06:42 +01:00
Péter Szilágyi
e7bffb64eb
cmd/utils, eth/ethconfig: unindex txs older than ~1 year
...
# Conflicts:
# eth/ethconfig/config.go
2021-03-10 11:00:31 +01:00
gary rong
7d799473e5
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>
# Conflicts:
# cmd/faucet/faucet.go
# cmd/geth/config.go
# cmd/utils/cmd.go
# cmd/utils/flags.go
# cmd/utils/flags_legacy.go
# console/console_test.go
# eth/backend.go
# eth/bloombits.go
# eth/ethconfig/config.go
# ethclient/ethclient_test.go
# graphql/graphql_test.go
# les/api_test.go
# les/client.go
# les/commons.go
# les/costtracker.go
# les/server.go
# les/test_helper.go
# mobile/geth.go
2021-03-10 10:25:55 +01:00