Commit Graph

18258 Commits

Author SHA1 Message Date
Alex Sharov
f62b6fd722
e3: release switch (#7663) 2023-06-05 12:36:02 +07:00
Alex Sharov
26f9c064ac
mainnet: more block snapshots (#7662) 2023-06-05 11:25:37 +07:00
Giulio rebuffo
e45ed7d139
Added record mode for Caplin (#7660) 2023-06-05 01:52:55 +02:00
Mark Holt
415cf86250
refactor to allow switchable consensus and multiple communicating nodes (#7646)
This branch is intended to allow the devnet to be used for testing
multiple consents types beyond the default clique. It is initially being
used to test Bor consensus for polygon.

It also has the following refactoring:

### 1.  Network configuration

The two node arg building functions miningNodeArgs and nonMiningNodeArgs
have been replaced with a configuration struct which is used to
configure:

```go
network := &node.Network{
		DataDir: dataDir,
		Chain:   networkname.DevChainName,
		//Chain:              networkname.BorDevnetChainName,
		Logger:             logger,
		BasePrivateApiAddr: "localhost:9090",
		BaseRPCAddr:        "localhost:8545",
		Nodes: []node.NetworkNode{
			&node.Miner{},
			&node.NonMiner{},
		},
	}
```
and start multiple nodes

```go
network.Start()
```
Network start will create a network of nodes ensuring that all nodes are
configured with non clashing network ports set via command line
arguments on start-up.

### 2. Request Routing

The `RequestRouter` has been updated to take a 'target' rather than
using a static dispatcher which routes to a single node on the network.
Each node in the network has its own request generator so command and
services have more flexibility in request routing and
`ExecuteAllMethods` currently takes the `node.Network` as an argument
and can pick which node (node 0 for the moment) to send requests to.
2023-06-04 20:53:05 +01:00
Alex Sharov
feea6b954c
simplify chain config read by rpcdaemon (#7656) 2023-06-04 11:49:10 +07:00
Alex Sharov
895e7dd96a
cleanup (#7655) 2023-06-04 10:37:20 +07:00
Alex Sharov
f70ceefe2c
linter version up (#7654) 2023-06-04 10:32:16 +07:00
Alex Sharov
c8e717c957
rawdb methods to rw db schema version (#7653) 2023-06-04 09:20:22 +07:00
a
21625652f3
[caplin] record mode (#7651)
interface for recording things
2023-06-04 03:13:58 +02:00
Giulio rebuffo
e11c8192f8
fixed deneb for devnet 6 (#7650) 2023-06-04 00:36:16 +02:00
Giulio rebuffo
999c0ba214
Caplin: Fixed bad block handling (#7649) 2023-06-03 19:47:05 +02:00
ledgerwatch
569c120383
Bump version (#7645) 2023-06-03 11:37:56 +01:00
Alex Sharov
157b6de8e3
release small rename (#7647) 2023-06-03 17:26:20 +07:00
Alex Sharov
63c92010cd
remove txsV3 cli flag (#7644) 2023-06-03 15:54:27 +07:00
Alex Sharov
ad72b7178e
prune speedup. stage_senders: don't re-calc existing senders (#7643)
- stage_senders: don't re-calc existing senders
- stage_tx_lookup: prune less blocks per iteration - because
random-deletes are expensive. pruning must not slow-down sync.
- prune data even if --snap.stop is set
- "prune as-much-as-possible at startup" is not very good idea: at
initialCycle machine can be cold and prune will cause big downtime, no
reason to produce much freelist in 1 tx. People may also restart erigon
- because of some bug - and it will cause unexpected downtime (usually
Erigon startup very fast). So, I just remove all `initialSync`-related
logic in pruning.
- fix lost metrics about disk write byte/sec
2023-06-03 12:30:53 +07:00
Alex Sharov
6f54cc6ef0
torrent lib version up (#7642) 2023-06-03 08:07:28 +07:00
Alex Sharov
d40317c905
preparation for --txs.v3, step 2 (#7636) 2023-06-03 07:20:22 +07:00
Andrew Ashikhmin
190bc9dfd8
EIP-4844: add data_gas_used (#7639)
Implement https://github.com/ethereum/EIPs/pull/7062 and
https://github.com/ethereum/EIPs/pull/7095. Pick up
https://github.com/ledgerwatch/erigon-lib/pull/1006.
2023-06-02 21:26:19 +01:00
Giulio rebuffo
91dd39a7c1
Added support back for internal cl for testnets and gnosis (#7641) 2023-06-02 20:26:46 +02:00
Giulio rebuffo
6602c89e32
[Caplin] Fixed checkpoints on orphaned chains (#7613) 2023-06-02 14:54:40 +02:00
ledgerwatch
5c1117d69f
Up version of diagnostics protocol (#7638)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-06-02 12:08:53 +01:00
Andrew Ashikhmin
b2a90e0ea9
Merge EngineGetPayloadWithBlobs into EngineGetPayload (#7637)
Pick up https://github.com/ledgerwatch/interfaces/pull/171 &
https://github.com/ledgerwatch/interfaces/pull/173
2023-06-02 13:02:13 +02:00
Alex Sharov
3750ee6930
fix lint issue (#7633) 2023-06-02 13:26:56 +07:00
Alex Sharov
6439bdd835
txsv3: release small parts (#7632) 2023-06-02 11:38:20 +07:00
Alex Sharov
2c4f4d8af1
sepolia new snapshots (#7631) 2023-06-02 11:29:45 +07:00
Alex Sharov
436656a40f
snapshots: DumpBodies - break dependency on body.BaseTxNum value in db (#7607)
it's step towards saving canonical and non-canonical bodies in same
table (and txs also in same own table). to reduce write amplification
(cheaper re-orgs)

PR change: reading BaseTxNum from existing snapshots instead of DB 
DB will store in field body.BaseTxNum - non-canonical TxnID  
Snapshots will store only canonical TxNum in field body.BaseTxNum
2023-06-02 11:01:57 +07:00
Alex Sharov
695b8e5f31
e3: release e4 parts3 (#7630) 2023-06-02 10:57:05 +07:00
Alex Sharov
b163d3a877
e3: release some e4 parts (#7629) 2023-06-02 10:55:40 +07:00
Alex Sharov
5fb31ae95f
e3: release some e4 parts (#7628) 2023-06-02 10:35:26 +07:00
Alex Sharov
d56d867b4f
e3: move kvlist to erigon-lib (#7627) 2023-06-02 10:18:43 +07:00
Alex Sharov
3ccc7da2e6
e3: move kvlist to erigon-lib (#7626) 2023-06-02 09:52:12 +07:00
Alex Sharov
2278bf5bfc
e3: move kvlist to erigon-lib (#7625) 2023-06-02 09:51:16 +07:00
Alex Sharov
7c89afcb42
e3: add kvlist.push method (#7624) 2023-06-02 09:24:22 +07:00
Giulio rebuffo
8bc1fda4ea
Caplin: mutable public key for validator for 0 copy (#7622)
Co-authored-by: a <a@tuxpa.in>
2023-06-02 01:21:15 +02:00
Enrique Jose Avila Asapche
94276deaf6
Caplin: added tests (#7623)
Added CL tests to have test coverage over 60% in all files covered by
running ssh ./cl/coverage
2023-06-02 01:21:08 +02:00
Giulio rebuffo
d77f057cbc
removed state_encoding package from caplin (#7621) 2023-06-01 20:25:37 +02:00
Alex Sharov
c6b12ed7ca
stageLoop: unbound canRunCycleInOneTransaction logic from initialCycle variable (#7616) 2023-06-01 16:50:19 +07:00
Alex Sharov
6c0b531eca
add "erigon snapshots diff" sub-command to find difference between 2 snapshots (#7619) 2023-06-01 16:29:26 +07:00
Alex Sharov
d54f604f9d
fix nil ptr in close() (#7618) 2023-06-01 16:11:34 +07:00
Alex Sharov
4ddd2c365c
Downloader fix no race between .Download() and .Stats() (#7617)
It fixing 1 case: when erigon start from scratch 
- it did skip stage_snapshots because of race-condition and start
printing `Waiting for Consensus Layer...` logs for long time - but
actually Erigon just did download snapshots at this time and printed
wrong logs.
2023-06-01 16:04:10 +07:00
Alex Sharov
5c7da48331
blockReader: fix blockNum check logic (#7615) 2023-06-01 15:04:21 +07:00
Alex Sharov
5a60ebeca2
blocks retire: fix baseID logic (#7614) 2023-06-01 10:07:57 +07:00
ledgerwatch
b35950441d
[sentry] initiate eth66 protocol under eth67 (#7612)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-05-31 20:29:57 +01:00
ledgerwatch
d66f9ce51f
[devnet] fix logging (#7611)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-05-31 20:29:36 +01:00
ledgerwatch
f5bd806b84
[devnet] Remove dependency on rpctest (#7608)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-05-31 19:47:32 +01:00
Giulio rebuffo
c0042d570c
Added coverage checker for caplin packages (#7609) 2023-05-31 18:12:18 +02:00
Alex Sharov
0dc8e271a9
fix reset tx sequence value (#7606) 2023-05-31 16:06:09 +07:00
Alex Sharov
299c81e522
move "makeBodiesCanonical" method to blockWriter (#7605) 2023-05-31 15:44:01 +07:00
Alex Sharov
3cba3908dd
use BlockReader.CanonicalHash method instead of rawdb (#7604) 2023-05-31 13:41:10 +07:00
Alex Sharov
af83845f7e
cheaper isCanonicalHash func, less lookups of blockHash by blockNum in rpc (#7603) 2023-05-31 11:26:38 +07:00