Commit Graph

332 Commits

Author SHA1 Message Date
Giulio Rebuffo
e12f8fdee8 dropped eth65 2021-11-09 20:07:23 +01:00
Giulio Rebuffo
f34ccb75e5 refactor downloader 2021-11-07 20:25:37 +01:00
Alex Sharov
49ff8ff166
Recsplit: collision typed error (#2925) 2021-11-07 09:58:20 +07:00
Alex Sharov
ed83d2974f
Pool: don't send empty events (#2924) 2021-11-07 09:45:00 +07:00
Alex Sharov
e14fb4756b
ETL: revert file name change (#2922) 2021-11-06 17:34:39 +07:00
Alex Sharov
a5bbe82a59
ETL: use logPrefix as suffix of tmp files (#2921) 2021-11-05 17:19:44 +07:00
iszubok
1a94b85bec
tests, secp256k1: secp256k1 fuzzer implementation (#2906)
* added secp256k1 fuzzer

* Updated references to secp256k1 and erigon-lib

* Update go.sum

* Update go.mod

* Update go.mod

* Update go.sum

Co-authored-by: ledgerwatch <akhounov@gmail.com>
2021-11-04 12:16:26 +00:00
Alex Sharov
1a45f26a7c
move (#2910) 2021-11-04 08:25:40 +00:00
Alex Sharov
686721b6c6
EliasFano: fix jump calculation, fuzzing to trigger jump logic (#2912) 2021-11-04 13:25:34 +07:00
Alex Sharov
5e54b27aa4
increase grpc meassage limit (#2905) 2021-11-02 22:01:47 +07:00
Alex Sharov
cc951ead7b
derive_chainid_no_alloc (#2899) 2021-11-01 11:17:01 +07:00
Alex Sharov
5caf839c4b
pre-alloc uin256 for chainID derive (#2898) 2021-11-01 09:42:48 +07:00
Alex Sharov
6f055e7adc
Recsplit: call ef.Build and set ef.prevOffset (#2897) 2021-11-01 09:24:06 +07:00
Alex Sharov
3d63c93b3d
Recsplit: add hack recsplitLookup for test (#2895) 2021-10-31 10:20:31 +07:00
alex.sharov
5e829d39bc mdbx_v0.11.1 2021-10-29 08:17:09 +07:00
alex.sharov
02e1bf72fd mdbx: increase augment to 16 * default 2021-10-28 21:53:36 +07:00
Alex Sharov
fc010b77ee
Switch sentry mock to pool v2 (#2885)
* save

* save

* save

* save

* save

* save

* save

* pool v2 docs

* pool v2 docs

* pool v2 docs

* save

* save

* save

* save

* save

* save

* save
2021-10-28 21:18:34 +07:00
Alex Sharov
effa51ebc8
Pool: remove rules from func signatures (#2880) 2021-10-28 10:13:47 +07:00
Alex Sharov
9ae67fee44
Mdbx reduce augment limit to 8*default (#2871) 2021-10-27 13:17:34 +07:00
Alex Sharov
33efae07b2
more p2p fuzz (#2869) 2021-10-26 14:08:39 +07:00
Alex Sharov
83593c28c2
recsplit: bigger bufio buffer (#2867) 2021-10-26 11:19:56 +07:00
Alex Sharov
5d7904c133
erl.collector - move logPrefix to constructor (#2866) 2021-10-25 15:09:43 +07:00
Alex Sharov
b3509f2dcb
PoolV2: intrinsic gas (#2865) 2021-10-25 08:52:36 +07:00
alex.sharov
d49e25d748 muted txpool 2021-10-24 18:20:53 +07:00
Alex Sharov
1aee17c120
force some rw tx when db open, to allow mdbx up version signature (#2862)
* save

* save
2021-10-22 10:13:20 +07:00
Alex Sharov
e6bd6fbfcc
Add p2p msg to panic (#2861) 2021-10-22 09:51:49 +07:00
Alex Sharov
1a426548e8
Mdbx v0.11.0 (#2860) 2021-10-22 09:46:03 +07:00
Alex Sharov
a28a0b7744
PoolV2: set default limit to sub-pools 10K (#2855) 2021-10-21 15:59:39 +07:00
Alex Sharov
c4be246008
PoolV2: Use default crypto context - it's thread-safe - because creation of new one failing in Docker on linux host (#2847) 2021-10-20 09:37:05 +07:00
alex.sharov
e90dd3eb41 fix nil pointer on error 2021-10-20 06:43:42 +07:00
ledgerwatch
2dec76123c
Use decompressor from erigon-lib and experiments with tx lookup (#2824)
* Use decompressor

* Use decompressor

* Close compressor

* Upgrade to latest erigon-lib

* Fix compile errors

* Fix lint

* Remove count from files

* Remove count from files

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-16 22:19:13 +01:00
Alex Sharov
f345aba680
Mdbx v0.10.5 (#2828) 2021-10-15 09:43:30 +07:00
Alex Sharov
a470da8c2c
enable London in mining, fix pre-london gasPool in mining (#2821) 2021-10-13 11:04:59 +07:00
Alex Sharov
04f8ecb0ae
RemoteRPC: add --state.cache=keys_amount cli parameter (#2816) 2021-10-12 16:27:47 +07:00
Alex Sharov
da00e949c4
RemoteRPC: coherentCache for kv.Code; LocalRPC: enable small blocksLRU (#2815) 2021-10-12 12:04:04 +07:00
ledgerwatch
21d024b06a
More mature experiments with the state and transaction compression (#2811)
* Change to use Patten inside patricia tree

* Huffman codes for compression

* Huffman coding of positions, generate tx files to test compression

* Split state into 3 files, relative positions, average decoding time

* Small optimisations of decompression

* Optimise intermediate compression

* Update erigon-lib ref

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-11 21:05:45 +01:00
Alex Sharov
64178ff80d
Checkpoint challenge timeout: remove td check after handshake (#2807)
* remove td check after handshake

* save
2021-10-10 22:14:50 +07:00
Alex Sharov
6561c48ffe
Pool: use cumulativeBalanceDistance and nonceDistance to compare txs quality (#2810) 2021-10-10 18:59:52 +07:00
Alex Sharov
5ca558c667
Move lengths to erigon-lib other packages depend on it (#2799)
* move lengths to erigon-lib

* move lengths to erigon-lib
2021-10-08 10:20:45 +07:00
ledgerwatch
7e4996bb09
Reworkings of state compression experiments (#2790)
* Changes

* Progress

* Another way

* More

* More

* Produce encoding

* Add uncoded characters

* cleanup

* Add sortdict

* Fixes

* Use patricia from erigon-lib

* Cleanup

* Switch to dynamic programming, optimise allocations in FindMatches

* Optimise allocations

* Reduce allocations

* Switch to main branch of erigon-lib, reduce allocations further

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-10-06 19:58:12 +01:00
Alex Sharov
e27d66b042
RemoteDB: don't spend time to close cursors on end of tx - server will cleanup everything well (#2786) 2021-10-06 15:15:02 +07:00
Alex Sharov
2e93434a94
Enable "State stream" by default (#2780) 2021-10-05 16:06:45 +07:00
Alex Sharov
21785780bf
IntermediateHash stage - switch from incremental to re-generate mode - if jump > 100K blocks (#2781) 2021-10-05 15:32:18 +07:00
Alex Sharov
b890e973db
Dockerfile: switch to go1.17 and alpine3.14 (#2766) 2021-10-04 08:04:38 +07:00
Alex Sharov
83555c2255
Pool v2: --txpool.accountslots flag support (#2765) 2021-10-03 13:27:37 +07:00
Alex Sharov
d61a9ad073
Pool v2: --txpool.pricelimit support (#2763) 2021-10-02 17:34:57 +07:00
Alex Sharov
c86851a0a0
downgrade mdbx to v0.10.1 (#2745) 2021-09-30 10:14:26 +07:00
Alex Sharov
17abe11cc0
Remote RPC: add state cache (#2738) 2021-09-29 08:36:25 +07:00
ledgerwatch
0d34a5b9c5
[State sync experiment] Building dictionary for state file compression (#2721)
* Kasai experiments

* Use divsufsort instead of standard lib

* Refactor experiments, split dictionary building into chunks

* Fixes

* Estimate compression, sample

* More stats

* Parallelise

* Fix lint

* dictionary aggregator

* Actual replacement

* Fixes, separate dictionary processing

* Test file

* More correct dictionary, decompression

* Use dynamic programming to reduce dictionary

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-27 21:32:53 +01:00
Alex Sharov
bf5bde0a09
Pool: break data-dependency between effectiveTip and other fields (#2735) 2021-09-27 21:26:53 +07:00
Alex Sharov
3dcc226b8b
--mdbx.augment.limit (#2734) 2021-09-27 18:43:24 +07:00
Alex Sharov
a148e71d9d
Pool: switch to pendingBaseFee (#2732) 2021-09-26 23:09:36 +07:00
Alexandr Borodulin
d7159cd8bd
More convenient pruning for non-PoW consensus: add --prune.*.before flags (#2714) 2021-09-23 09:13:19 +07:00
Alex Sharov
0b776eead4
flag --txpool.v2 to enable --state.stream flag (#2718) 2021-09-22 15:39:51 +07:00
Alex Sharov
133eec0c7e
Pool: correct new pending txs notifications (#2715) 2021-09-21 17:35:28 +07:00
ledgerwatch
a9e4cbc83e
Recsplit experiments (#2706)
* Only do 2m

* Optimisation

* Flexible count

* Count properly

* count

* Bijection check

* Add keys

* Print bucket info

* Collision map

* Collision map

* Add tracing

* Tracing

* Fix split

* No trace, print lookup time

* Not override count if block=0

* fix count

* Go mod tidy

* Fix lint

* Measurements

* Cleanup

* Latest erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-21 07:53:22 +01:00
Alex Sharov
a0321e2f3a
Pool: return lost error, fix race of 2 sentries, more friendly logs (#2707) 2021-09-20 20:16:50 +07:00
Alex Sharov
1f8937fdd1
Pool: discard reasons, lru, start pool even if no --mine flag (#2704) 2021-09-20 13:20:50 +07:00
Alex Sharp
c519b04551 Revert "state mphf experiment"
This reverts commit b0182d7834.
2021-09-19 11:41:51 +01:00
Alex Sharp
b0182d7834 state mphf experiment 2021-09-19 11:40:23 +01:00
Alex Sharov
8d9e058eb7
Pool: chain config, non-mainnet (#2702) 2021-09-18 20:58:23 +07:00
Alex Sharov
b30ccd2ddf
Revert "Add prune before parameters" (#2701)
This reverts commit 49a98ad4b6.
2021-09-18 08:37:39 +07:00
Alexandr Borodulin
49a98ad4b6
Add prune before parameters 2021-09-17 19:01:15 +07:00
Alex Sharov
400c71b7ce
Pool: txID-based cache (#2697) 2021-09-17 10:31:20 +07:00
Alex Sharov
896bf5edf5
Pool: up to last version (#2689) 2021-09-15 20:16:49 +07:00
alex.sharov
f4969876ad suppress rlp parse warnings 2021-09-15 20:06:18 +07:00
alex.sharov
74df0a9516 suppress rlp parse warnings 2021-09-15 20:04:57 +07:00
Alex Sharov
76dd448c70
Pool: switch cache to tx.ID(), add blockNum to tx info to drop from full pool old txs first (#2688) 2021-09-15 19:34:05 +07:00
Alex Sharov
ad1682cf40
Expose mdbx's txID to remote_kv (#2686) 2021-09-15 14:22:57 +07:00
Alex Sharov
ec14cba611
Remote Pool: add mining rpc, test pending txs stream (#2685) 2021-09-15 09:09:19 +07:00
Alex Sharov
77db993cfc
Pool: add coherent cache (#2678) 2021-09-13 14:58:25 +07:00
ledgerwatch
15b4095718
Move ETL to erigon-lib (#2667)
* Move ETL to erigon-lib

* Update link in the readme

* go mod tidy

* Use common/chan.go from erigon-lib

* Clean up

* Fix lint

* Fix test

* Fix compilation

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-12 08:50:17 +01:00
Alex Sharov
798c2d64a4
Pool: no state presistance (#2646) 2021-09-08 19:33:14 +07:00
Alex Sharov
2d8941a845
Pool: built-in v2 (#2643) 2021-09-08 12:31:51 +07:00
Alex Sharov
873ef75f39
Pool: grafana board (#2625) 2021-09-03 14:16:27 +07:00
Alex Sharov
28480a36ec
Pool: add --txpool.v2 flag to rpcdaemon (#2624) 2021-09-03 11:19:35 +07:00
Alex Sharov
4c1dbdf50e
Pool: add --txpool.v2 flag to erigon (it just disabling existing machinery for now) (#2620) 2021-09-02 17:04:30 +07:00
Alex Sharov
daf945dc13
Rpcdaemon: handle "WaitGroup is reused before previous Wait has returned" panic on shutdown (#2619) 2021-09-02 16:36:56 +07:00
Alex Sharov
953f348d1e
Pool: add grpc server (#2615) 2021-09-02 12:55:04 +07:00
Alex Sharov
9e1fc980a7
Pool: batch incoming p2p transactions (but preserve "don't recover sender twice" property) (#2608) 2021-09-01 16:10:00 +07:00
Alex Sharov
edb83d1ed9
Roaring bitmap lib version up (#2606) 2021-09-01 12:09:04 +07:00
Alex Sharov
143a0d0231
Pool: remove redundant prefix in txs table (#2603) 2021-08-31 21:59:30 +07:00
Alex Sharov
fb9ee7177a
Pool: correct use of base fee (#2597)
* pool: add new empty sender to eviction

* pool: correct use of baseFee
2021-08-30 20:59:40 +07:00
Alex Sharov
74c2a1a317
pool: add new empty sender to eviction (#2596) 2021-08-30 11:49:43 +07:00
Alex Sharov
cfeac97156
Pool: state eviction (#2590) 2021-08-28 18:24:53 +07:00
Alex Sharov
1f480fa472
pool: make sender info unloadable (#2584)
* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss

* ss
2021-08-27 11:51:33 +07:00
Alex Sharov
10feb71530
Pool: handle "stop at non-canonical block" case (#2582) 2021-08-26 10:01:00 +07:00
Alex Sharov
38ea553300
Mdbx v0.10.1 (#2578) 2021-08-25 09:40:23 +07:00
Alex Sharov
7e4db20427
pool: add own db (#2575)
* save

* save
2021-08-24 10:56:13 +07:00
Alex Sharov
1d11dee5ca
Pool: senders cache - right merging and fallback logic (#2563)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2021-08-21 22:04:24 +07:00
Alex Sharov
289e434b87
Pool: senders cache object, reject known tx before senders recover, fix lock contention (#2562)
* save

* save
2021-08-21 08:25:42 +07:00
Alex Sharov
f5c6def4bc
close db (#2548) 2021-08-18 15:50:22 +07:00
Alex Sharov
d5b9abab7d
reduce log level in tests (#2546)
* hack

* hack

* hack

* less debug logs in tests

* less debug logs in tests
2021-08-18 14:25:03 +07:00
Alex Sharov
ccc22c9f6a
add ms to logs (#2544) 2021-08-17 22:39:38 +07:00
Alex Sharov
6c7edb0d34
state diff send to txpool (#2532) 2021-08-17 15:52:55 +07:00
Alex Sharov
5278ef4224
experimental: txpool cmd (#2530)
* save

* sentry handshake

* move sentry clients to erigon-lib

* move sentry clients to erigon-lib

* move sentry clients to erigon-lib

* move sentry clients to erigon-lib

* correct grpc retry

* correct grpc retry

* correct grpc retry

* save

* save

* save

* save
2021-08-14 20:47:11 +07:00
Alex Sharov
98e60b5b4b
Separate handshake from set_status - because txpool can't set any sentry status but need to handshake (#2529)
* sentry handshake

* move sentry clients to erigon-lib

* correct grpc retry

* correct grpc retry

* correct grpc retry
2021-08-14 15:11:46 +07:00
Alex Sharov
6c2beb273e
Remove tsdb dependency (#2503)
* remove tsdb dep

* remove tsdb dep

* remove tsdb dep

* remove tsdb dep
2021-08-08 16:56:54 +07:00
Alex Sharov
e9210e4e09
lint (#2502) 2021-08-08 11:48:32 +07:00
Alex Sharov
d617fca739
remove devp2p cmd - if we will support it then need do it in another repo (because it depends on account manager). (#2496)
* up cobra lib

* remove devp2p cmd - if we will support it then need do it in another repo (because it depends on account manager).
2021-08-08 09:17:08 +07:00