Commit Graph

3681 Commits

Author SHA1 Message Date
Andrew Ashikhmin
6c9d515968
No NewBlock gossip after Merge (#3995) 2022-04-27 14:03:06 +02:00
Andrew Ashikhmin
4d2db4467e
FullSync instead of FastSync (#3980) 2022-04-26 17:19:24 +02:00
Alex Sharov
e04f7fc9f8
Integration: allow headers --reset (#3972) 2022-04-26 12:54:05 +07:00
Alex Sharov
3906d7e51f
Snapshots: allow stage_headers --unwind behind available snapshots (#3971)
* save

* save

* save
2022-04-26 12:04:38 +07:00
ledgerwatch
538543ad17
Experiment files 1 by 1 (#3959)
* Experiment files 1 by 1

* Remove check

* sort preverified snapshots

* docs: docker permissions

* sort preverified snapshots

* sort preverified snapshots

* sort preverified snapshots

* sort preverified snapshots

* sort preverified snapshots

* sort preverified snapshots

* save

* Fix speed log, remove file name

* Move timer out of the loop

* Calculate total size of downloaded files

* Fixes

* Fix

* Fix

* Fix

* Move downloadData

* Fix

* Revert "Fix"

This reverts commit 038e02b8a4d23cd32ddb111e9f325fc4ce1bbe2b.

* Revert "Move downloadData"

This reverts commit 8130a4d9bdc0705082eb7fe94e2261c9313f8482.

* Revert "Fix"

This reverts commit 1dca25bd68772bc42ac710c24698c8670f9f6b86.

* Revert "Fix"

This reverts commit ee5a1e82abd47bef4f9d8f0f68b8497476d29c0b.

* Revert "Fix"

This reverts commit 8af7be71d4685e0d6115fef91ed2f304695e1df9.

* Revert "Fixes"

This reverts commit 50509af81f3721cca957cd15d0286e8f30e5097b.

* Revert "Calculate total size of downloaded files"

This reverts commit 64a26df54f6226d739c8a5b57b32ad5af07d3061.

* Remove progress

* Remove progress

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2022-04-25 19:32:27 +01:00
battlmonstr
07367c2312
sentry: refactor flags, add maxpeers. (#3961) 2022-04-25 21:47:25 +07:00
battlmonstr
fc3eecae5e
RPC: admin.peers() (#3960)
* RPC: admin.peers()

This RPC method returns information about the connected remote nodes.
https://geth.ethereum.org/docs/rpc/ns-admin#admin_peers

The peers are collected from all configured sentries.
See: https://github.com/ledgerwatch/interfaces/pull/102

Test with:
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "admin_peers", "params": [], "id":1}' localhost:8545

* save

* liner fix

Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2022-04-25 14:40:04 +01:00
Enrique Jose Avila Asapche
e2fec2a081
got rid of the automatic usage of net api (#3952)
* got rid of the automatic usage of net api

* less confusing comment

* ops

* ops2

* important

* ops
2022-04-25 19:57:54 +07:00
Alex Sharov
230a21cfff
Snapshots: rare nil pointer at fresh start (#3958) 2022-04-25 13:40:15 +07:00
Alex Sharov
8116fb1389
bsc: disable snap sync (#3956) 2022-04-25 09:59:58 +07:00
battlmonstr
3ad25c929c
Sentry GRPC: rename Peers to PeerEvents (#3944)
* Sentry GRPC: rename Peers to PeerEvents

see https://github.com/ledgerwatch/interfaces/pull/101

* Update to erigon-lib main

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-04-23 17:52:22 +01:00
Håvard Anda Estensen
6844e74ad2
Replace ioutil with io and os (#3946) 2022-04-23 15:43:00 +01:00
ledgerwatch
961f4f5888
Introduce unlimited download rate (#3945)
* Introduce unlimited download rate

* More generous burst

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-04-22 17:59:49 +01:00
Alex Sharov
62c377521b
Torrent conns print (#3943)
* save

* save
2022-04-22 18:24:21 +07:00
battlmonstr
92db317e06
Observer - P2P network crawler (#3928)
Observer crawls the Ethereum network and collects information about the nodes.
2022-04-22 12:02:12 +01:00
Alex Sharov
7a226ef94c
Downloader: re-use flags defaults (#3941) 2022-04-22 17:30:48 +07:00
Krishna Upadhyaya
4a8eb34d1e
Use heimdall url in integration bor consensus (#3940) 2022-04-22 15:41:49 +07:00
Giulio rebuffo
c5b1836481
Added Ethstats service (#3931)
* somewhat there but not yet

* lol

* more efficient ethstats

* lint

* not die on no wifi
2022-04-22 07:23:52 +01:00
Chase Wright
dc5125eec5
Fix some cli flag descriptions (#3933)
* Fix some cli flag descriptions

* add node about verbosity
2022-04-22 09:26:59 +07:00
Alex Sharov
1d1282f3c0
Update readme.md 2022-04-21 14:42:07 +07:00
Alex Sharov
9051d95836
Downloader tables, mdbx-based torrent pieces completion store (#3923)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2022-04-21 10:34:31 +07:00
Alex Sharov
6aa4999729
Parallel indexing (#3921) 2022-04-21 10:34:10 +07:00
Alex Sharov
89c3049244
limit amount of sentries in broadcasts (#3920)
* save

* save
2022-04-20 22:00:58 +07:00
Alex Sharov
8d81c3b0f8
Rwdir fix2 (#3915) 2022-04-19 08:55:46 +07:00
ledgerwatch
7080c6fab9
Fix help and README.md about pruning options (#3914)
* Update README.md

* Update flags.go

* Update README.md
2022-04-18 21:50:21 +01:00
Alex Sharov
9305efeaa7
Snapshots: use kv.ReadAhead helper (#3909) 2022-04-18 10:48:09 +07:00
Alex Sharov
0a5ce152a4
save (#3902) 2022-04-17 09:22:00 +01:00
Alex Sharov
f2a9763a6d
integration: senders check that snapshots are not nil #3905 2022-04-17 09:52:05 +07:00
Alex Sharov
9d2455318a
do panic - to exit with correct code #3886 2022-04-15 08:30:24 +07:00
Andrew Ashikhmin
7b8d828aa1
RPC: return latest available block rather than forkchoice head (#3888) 2022-04-14 18:05:59 +02:00
ledgerwatch
156da607e7
More compact representation of huffman trees in the seg files (#3875)
* More compact representation of huffman trees in the seg files

* Update to latest erigon-lib

* recompress

* recompress

* recompress

* uncompress: buf fix

* Update to latest erigon-lib

* Revert default sync mode

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
2022-04-13 16:29:44 +01:00
Alex Sharov
652825b629
recompress (#3880) 2022-04-13 13:00:05 +01:00
alex.sharov
1501b47a45 recompress 2022-04-12 22:22:13 +07:00
alex.sharov
bba0c686e9 recompress 2022-04-12 15:03:44 +07:00
alex.sharov
0b63264531 recompress 2022-04-12 15:01:25 +07:00
alex.sharov
35674e81c0 recompress 2022-04-12 14:51:45 +07:00
Alex Sharov
ff44db147e
Torrent: Increase peers amount to improve Swarm-ing, can do it now because have ratelimiter #3877 2022-04-12 09:09:09 +07:00
Alex Sharov
4be4e5b99a
Torrent: enable rate limiter (#3872)
* save

* save

* save

* save
2022-04-11 18:45:28 +07:00
Alex Sharov
b329d675ec
Torrent best trackers (#3870)
* best trackers

* save
2022-04-11 14:01:12 +07:00
Alex Sharov
54ec6df6e1
ErigonLib: move types to own package (#3865) 2022-04-11 10:05:07 +07:00
ledgerwatch
f56d4c5881
Switch peerId from 256 to 512 bit (as in stable) (#3862)
* Switch peerId from 256 to 512 bit (as in stable)

* go mod tidy

* Fix some tests

* Fixed

* Fixes

* Fix tests

* Update to erigon-lib main

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-04-10 08:01:25 +01:00
Alex Sharov
9b47daee44
Default syncmode=snap for Mainnet, Bsc, Goerli (#3861)
* change syncmode default to snap sync

* save
2022-04-10 07:20:20 +01:00
alex.sharov
b921813c7d snapshots: recompress by 2 erigon binaries 2022-04-08 11:02:44 +07:00
Andrew Ashikhmin
4531461d66
ExchangeTransitionConfiguration: allow non-zero TerminalBlockNumber (#3846) 2022-04-08 10:27:56 +07:00
alex.sharov
44a217892b test of getPayload 2022-04-08 08:47:40 +07:00
Andrew Ashikhmin
c2f1a6082f
Fix runPeer lint (#3847) 2022-04-07 13:47:28 +02:00
Alex Sharov
b6334870e8
Snapshots: recompress.sh (#3845)
* save

* save
2022-04-07 13:26:14 +07:00
Giulio rebuffo
396bd03021
Fixed JWT path when running the rpcdaemon (#3840) 2022-04-07 08:53:34 +07:00
Alex Sharov
bc368098c8
Torrent: more cli params (#3838) 2022-04-06 21:06:58 +07:00
Alex Sharov
3d52a22f9f
Torrent: uses our logger (#3837) 2022-04-06 18:33:48 +07:00
alex.sharov
fee018ae1e trackerslist up 2022-04-06 16:19:59 +07:00
Alex Sharov
2efc723dbd
Torrent: enable ws (#3836) 2022-04-06 16:15:37 +07:00
Alex Sharov
6f7a9dbace
Snapshots: nat support (#3834) 2022-04-06 15:25:32 +07:00
Alex Sharov
80bd44fce5
Snapsthos: build indices on retire blocks (#3823)
* grpc up

* grpc up

* grpc up
2022-04-05 16:22:11 +07:00
TBC Dev
bf06095811
hack: Allow blockTotal <= 0 as offset from head (#3818) 2022-04-05 08:07:07 +07:00
Alex Sharov
3030526afb
Delete blocks on integration stage_header --unwind (#3813)
* fix for non-can block

* fix for non-can block
2022-04-04 14:12:14 +07:00
alex.sharov
c4879dd4b8 snapshots: auto fix 2022-04-02 13:20:26 +07:00
alex.sharov
10f195578b fix linter 2022-04-01 15:11:02 +07:00
Alex Sharov
d1218181b0
Snapshots: geth compatibility, use --syncmode=snap flag (#3808) 2022-04-01 15:00:50 +07:00
Alex Sharov
8b03582558
compressor: log lvl #408
* save

* save
2022-04-01 10:44:30 +07:00
Andrew Ashikhmin
6ff6c39d13
Prefer forkchoice head as latest block in RPC (#3806)
* LastForkchoice accessors

* Update erigon-lib

* Prefer forkchoice head as latest block in RPC

* Fix typo
2022-04-01 08:33:50 +07:00
leonardchinonso
fbb62c7a35
Chore/test log subscription (#3786)
* saving

* Implemented and tested subscription of logs

* Fixed lint errors

* fixed compilation error

* Removed print statements across code

* made review changes

* Validated hex addresses
2022-03-31 13:40:09 +01:00
battlmonstr
930d662f21
Refactor crypto.FromECDSAPub to MarshalPubkey/Std (#3797)
Most places that used this method were cutting off the 1st byte.
Refactor this idea to a common place.

* better naming: MarshalPubkey matches existing UnmarshalPubkey
* "Std" suffix for the ANSI standard encoding without cut off
* docs
2022-03-31 11:06:20 +07:00
Alex Sharov
b7afdf4a83
Single root ctx (#3796) 2022-03-30 16:51:43 +07:00
Alex Sharov
27f1bdbd51
cloud: commit (#3793) 2022-03-30 09:55:22 +07:00
Alex Sharov
2e49137a23
cloud: commit (#3792) 2022-03-30 09:54:07 +07:00
Igor Mandrigin
7f1771516c
Fix 'all defaults' case for eth_estimateGas (#3790)
* Fix 'all defaults' case for eth_estimateGas

* fix tests

Co-authored-by: Igor Mandrigin <i@mandrigin.ru>
2022-03-30 08:04:51 +07:00
Andrew Ashikhmin
816ad30eff
Small Merge-related clarifications & improvements (#3785)
* Hd.Fetching -> FetchingNew

* ReadHeadHeaderHash makes more sense in verifyAndSaveNewPoSHeader

* Potentially more correct LatestValidHash in case of payload with invalid transactions
2022-03-29 11:47:07 +02:00
Alex Sharov
477d04f669
Integration: update StageFinish too #3782 2022-03-29 13:45:53 +07:00
Alex Sharov
f5a8230016
Snapshots: write hashes to file only if amount of them growth (#3784) 2022-03-28 14:44:11 +07:00
Alex Sharov
89d4477df3
Snapshots: nil indices on p2p fix (#3772) 2022-03-27 10:07:58 +07:00
ledgerwatch
9ea6398524
Fixes to subscribe logs (#3769)
* Fixes to subscribe logs

* Add criteria to logs subscription

* Skeleton of RPC daemon event log distribution

* Simplify

* Send aggregated filter to Erigon

* Change API

* Print

* Fixes

* Fix topics filtering

* Fill txHash and blockHash

* Timing logs, fill tx index

* Print

* More print

* Print

* Asynchronous sending of log events to RPC daemon

* Remove prints

* Only extract logs if there are subscribers

* Check empty when RPC daemon is removed

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-26 18:21:31 +00:00
Marin Ivanov
1075bcacae
rpcdaemon: Tidy up eth_getLogs (#3765) 2022-03-25 11:17:23 +07:00
Alex Sharov
4da85fe94e
integration_unwind_sender (#3767) 2022-03-25 11:00:52 +07:00
Alex Sharov
8754415359
fix integration unwind nil pointer (#3763) 2022-03-24 15:13:56 +07:00
Alex Sharov
a21f7561ab
Snapshots: gen .torrent file only for big segments #3761 (#3761) 2022-03-24 12:26:22 +07:00
Alex Sharov
85e47d83d2
Snapshots: remove "experimental" prefix from cli flag (#3760) 2022-03-24 12:17:31 +07:00
Alex Sharov
a357421719
Snapshots: notify rpcdaemon about new snapshot (#3755) 2022-03-24 09:25:38 +07:00
Giulio rebuffo
f4bf94f78a
Fixed Erigon README for Authentication API and jwt.hex generates in Datadir (#3757)
* added datadir jwt

* fixed readme
2022-03-24 09:10:29 +07:00
Giulio rebuffo
904674e1a1
added Websocket support and authentication to Engine API (#3752)
* added ws support and auth

* fixed lint
2022-03-23 17:12:19 +01:00
ledgerwatch
f8668da905
[erigon2] Bring back MDBX as storage for recent data (#3756)
* fixes

* Update

* Update to erigon-lib main

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-23 16:00:06 +00:00
leonardchinonso
ae1655caef
Feature/automate devnet tool nonce (#3754)
* Added eth_getTransactionCount to the devnet tool

* Fixed lint errors

* Fixed lint

* Fixed compilation error
2022-03-23 14:26:33 +00:00
Giulio rebuffo
b7fb85df6a
demoted logs (#3753) 2022-03-23 10:28:32 +01:00
primal_concrete_sledge
fed19d5591
feat/rpcadaemon_logs_sub (#3751) 2022-03-23 07:35:04 +00:00
Andrew Ashikhmin
74a7d7c75a
Refactor PoS downloader (#3717)
* Remove blockHeight arg from FeedHeaderPoW

* Revert "Remove blockHeight arg from FeedHeaderPoW"

This reverts commit 9bf92921db11cd4e13386fcee29f30241d070fc6.

* Move PayloadMessage & ForkChoiceMessage to package engineapi

* RequestList instead of newPayloadCh & forkChoiceCh

* Introduce request status

* Send reply only when request status is New

* Move BeaconRequestList to HeaderDownload

* Don't SetFetching when PoS (Fetching means handling newBlockHashes)

* Merge Syncing & Synced into DataWasMissing

* Introduce SyncStatus

* onlyNew arg in WaitForRequest

* Move waitingForBeaconChain into RequestList

* Interrupt instead of skipCycleHack

* Introduce timeout for PoS headers

* Split downloadMissingPoSHeaders

* Move StartPoSDownloader into HeaderDownload

* Move Stopping interrupt to StartPoSDownloader

* Move stopping PayloadStatus back to HeadersPOS

* cleanUpPoSDownload

* Post-merge fix

* TestBogusForkchoice

* TestPoSDownloader

* requestStatus in attemptPoSDownload

* Broadcast in SetStatus

* Cosmetics

* attemptPoSDownload -> schedulePoSDownload

* Demote some logs to Trace
2022-03-22 17:49:12 +01:00
Alex Sharov
4cf4c1bac1
Snapshots: better support of p2p (#3749) 2022-03-21 20:36:03 +07:00
alex.sharov
a9475d9693 trackerslist 2022-03-21 14:49:59 +07:00
Alex Sharov
9c49142e6b
Snapshots: script to commit hashes (#3746) 2022-03-21 13:40:35 +07:00
Alex Sharov
586ad297e6
Snapshots: script to auto-commit torrent hashes (#3745) 2022-03-21 11:22:37 +07:00
alex.sharov
a8c13ebd4f docs about faster rsync 2022-03-21 09:39:48 +07:00
Enrique Jose Avila Asapche
726557fe72
Expose jwt-secret flag in erigon (#3741) 2022-03-21 08:33:10 +07:00
Enrique Jose Avila Asapche
022e0dd6b2
Added kiln devnet (#3742)
* kiln-devnet flag

* kiln-devnet genesis

* bootnodes

* added chain name

* lint

* allocs
2022-03-19 17:04:48 +00:00
ledgerwatch
d5fb8f7d24
[erigon2] Separate handover timing (#3736)
* Separate handover timing

* Update

* Corrected handover time calculation

* Not use compression when aggregate

* Update to latest erigon-lib

* Update to erigon-lib main

* Update

* Disable reproducible builds

* Restore github actions

* Restore github actions

* Revert "linter to support go 1.18 (#3739)"

This reverts commit 1fd434d3d1.

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-19 16:15:12 +00:00
leonardchinonso
d0322ab840
Added eth_getTransactionCount to the devnet tool (#3734)
* Added eth_getTransactionCount to the devnet tool

* Fixed lint errors
2022-03-18 11:57:23 +00:00
ledgerwatch
c47cf1fd49
[erigon2] Optimise Huffman decoding (#3727)
* Update to erigon-lib

* Fix for block number

* Update

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-03-18 09:55:38 +00:00
Alex Sharov
7bf87e9597
Snapshots: grpc event (#3732) 2022-03-18 15:06:23 +07:00
Alex Sharov
f314222180
Snapshots: start seed new large .seg files (#3724) 2022-03-18 11:12:18 +07:00
leonardchinonso
d074a403c0
improved error handling and segmented packages and functions (#3728) 2022-03-17 20:16:02 +00:00
Artem Tsebrovskiy
f14df3faa3
added support of Clique consensus for block processing for erigon2 (#3705)
* added support of Clique consensus for block processing for erigon2

* erigon2: remove block reader which doesn't use system pre and post block transactions
2022-03-17 07:30:47 +00:00
Alex Sharov
426d972356
Integration: fix nil snapshots case (#3723)
* save

* save
2022-03-17 08:57:03 +07:00
Enrique Jose Avila Asapche
bb711676a4
enabling apis for merge if chainConfig has TTD (#3721) 2022-03-17 08:28:17 +07:00
leonardchinonso
2e81cdbfd9
Feature/add getlogs to devnet tool (#3722)
* adding eth_getLogs functionality for contract events for the devnet tool

* Made changes to fix double hashing

* Fixed lint errors

* Changed strings.Replace to strings.ReplaceAll for replacing strings

* Cleaned up print statements across files

* Fixed logs not being populated in result typee.go

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-16 22:21:05 +00:00
ledgerwatch
52852c0850
rpcdaemon: fix TxContext in traceBlock (#3716) (#3718)
Previously `txCtx` is not updated for every tx, which
leads to wrong tracing results.

Co-authored-by: can <can@canx.me>
2022-03-16 16:21:40 +00:00
Alex Sharov
d5dbad4f27
save (#3715co 2022-03-16 15:35:36 +07:00
Andrew Ashikhmin
2785a57d1c
More Merge logging (#3712)
* More Merge logging

* Even more logging

* Marshall incoming payload json

* Fix json formatting

* Revert json marshalling

* Some extra logs
2022-03-16 06:55:21 +01:00
Alex Sharov
469b75c3d3
Snapshots: retire blocks by default (#3707) 2022-03-16 09:57:48 +07:00
mars
a0765a8bc4
No need to panic (#3694) 2022-03-15 07:47:23 +00:00
leonardchinonso
4ee0ae1610
adding eth_getLogs functionality for contract events for the devnet tool (#3680)
* adding eth_getLogs functionality for contract events for the devnet tool

* Made changes to fix double hashing

* Fixed lint errors

* Changed strings.Replace to strings.ReplaceAll for replacing strings

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-14 13:59:51 +00:00
Giulio rebuffo
e20506e932
fixed JWT authentication port (#3689)
* fixed JWT

* jwt.hex

* ops
2022-03-14 14:47:26 +01:00
Giulio rebuffo
b6f707d811
fixed bootstrap nodes bug (#3688)
* fix transition warning

* fixed commit genesis

* fixed bootstrap nodes bug

* Update genesis.go
2022-03-14 09:47:56 +01:00
ledgerwatch
8b00636e21
[erigon2] history indices based on Elias Fano (#3679)
* [erigon2] history indices based on Elias Fano

* Tidy

* Update

* tx lookup to support blocTo in integration

* Update to fix

* Update

* Fix

* Update to erigon-lib main

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-13 23:11:49 +00:00
Giulio rebuffo
72d9947479
fix transition warning (#3687) 2022-03-13 10:24:17 +01:00
Giulio rebuffo
7094dcc614
Fixed forkid for mergeBlock (#3686)
* fixed forkid for mergeBlock

* ops

* ops again
2022-03-12 22:51:31 +00:00
Alex Sharov
f03d08c5ce
Snapshots: retire testing tool (#3684) 2022-03-12 17:26:11 +07:00
alex.sharov
6ac254b54e fix devel 2022-03-12 09:54:07 +07:00
ledgerwatch
2d1d71153a
Update eth_call.go 2022-03-12 00:16:18 +00:00
Artem Tsebrovskiy
d300c2821b
erigon2: implemented chain switching by --chain flag (#3668)
erigon2: fix linter
2022-03-10 14:01:37 +00:00
Alex Sharov
b003d07839
Add system-txs to begin end of block (#3654)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* up torrent

* up torrent

* up torrent

* up torrent

* up torrent

* up torrent

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2022-03-10 07:48:58 +00:00
Vox
865999abb6
Fix dev chain listen port not set (#3671)
* Fix forced --port=0 and warn user of hard-coded flags

* Fix typo

* Check for port explicitly set, be verbose about it

Co-authored-by: 0xVox <ohnoyoudont@nottoday.com>
2022-03-10 12:13:55 +07:00
leonardchinonso
14b300214a
Feature/test event logs (#3631)
* Adding contract code for event logs subscription

* Saving changes

* gofmt'd files

* Setting up devnet test tool for log subscription testing

* Fixed lint errors

* Changes to debug case

* fixed linting

* Committing debugging changes

* Finalised contract tx creation and mining

* Fixed lint errors

* Made base fee upper limit a constant
2022-03-09 22:45:24 +00:00
Alex Sharov
e10506c933
save (#3664) 2022-03-09 17:29:19 +00:00
Alex Sharov
0b2ce6f845
rpcdaemon: limit amount of read transactions (#3637)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* a

* a

* a

* a

* a

* a

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* fefefe

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save

* save
2022-03-08 10:43:14 +07:00
Enrique Jose Avila Asapche
dd47dfdf09
typo and code consistency (#3651) 2022-03-07 10:24:21 +07:00
Alex Sharov
864bd87b84
torrent better logging (#3649) 2022-03-05 10:26:08 +07:00
Alex Sharov
70c979764d
up torrent version (#3648) 2022-03-05 10:16:54 +07:00
Andrew Ashikhmin
4607179849
Handle a corner case in forkchoiceUpdated (#3640)
* Fix typo

* fix typos

* Handle corner case when unwinding to geneis

* No-op ForkChoice
2022-03-03 16:09:03 +01:00
battlmonstr
c8a25d0226
Refactor getting chain info by chain name. (#3635)
* get chain config, genesis hash and network ID by chain name in params/config
* get genesis block chain name in core/genesis
2022-03-03 21:57:10 +07:00
Andrew Ashikhmin
f58e80bd56
Expose eth API on the same ports as engine API (#3633)
* Expose port 8551 (authenticated Engine API)

* Expose eth API on the same ports as engine API
2022-03-02 14:58:46 +01:00
battlmonstr
47df98a499
Use "err" key for logging errors. (#3632)
log.Warn/Error uses "err" key to log errors in most places.
This renames "error" to "err" in some places to adhere to this convention.
2022-03-01 15:40:51 +00:00
Enrique Jose Avila Asapche
a65f12b248
State override support (#3628)
* added stateOverride type

* solved import cycle

* refactoring

* imported wrong package

* fixed Call arguments

* typo

* override for traceCall
2022-03-01 15:40:24 +00:00
Giulio rebuffo
cb8aacae87
Added Engine Authentication [JWT] (#3531)
* jwt

* fuuuuture

* added auth

* merge

* merge

* Update jwt to the latest version

* ops

* comments

* cleanup

* bad

* gut

* maybe

* mod sum

Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
2022-02-28 12:07:09 +01:00
Alex Sharov
0cac29d1d2
Update README.md 2022-02-26 19:55:17 +07:00
Giulio rebuffo
99f688c3ec
PrevRandao Renaming (#3616)
* PrevRandao Renaming

* lint
2022-02-24 18:16:05 +01:00
battlmonstr
f5a0c9d834
p2p: Disable port mapping task with --nat extip (#3612)
If --nat extip:1.2.3.4 option is specified, the port mapping logic
(AddMapping/DeleteMapping) does nothing.
This optimization avoids running a goroutine for doing nothing.
2022-02-24 15:09:56 +00:00
ledgerwatch
17b2a9ba93
Bor fixes (#3553)
* Integration to work with bor

* Turn off validator set check

* disable verifySeal, add skeleton of postExec stage

* Pass around syscall

* Print

* Print more

* Default heimdall values for integration

* restore contract

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Fix nonce of system contract

* Remove prints

* Revert some more printing

* More fixes

* Print log

* Fix transfer log

* More printing

* More printing

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Fix validaor reward

* Remove printing

* Remove more prints

* Less printing

* Fetch validators from heimdall

* Remove syscall from Seal and CalcDifficulty

* Remove syscall from Prepare

* Print

* Remove DNS discovery

* Print apply snapshot

* Print

* Chunk up snapshot generation

* Chunk up snapshot generation

* Better logs when snapshotting

* Handle parents

* Prevent shadowing of snap

* Fix heimdall fetch

* Logging fixes

* Save generated snapshots

* Add header

* Less logging

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-24 00:03:10 +00:00
ledgerwatch
ee488020dd
Auto detect latest block for optimal use of plain state and state cache (#3598)
* Auto detect latest block for optimal use of plain state and state cache

* Fix lint

* Fix test

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-23 23:42:14 +00:00
Andrew Ashikhmin
37ccbc53d6
Refactor payload building (#3592)
* Bump MaxPendingPayloads

* UnknownPayload error

* Improve ExchangeTransitionConfigurationV1 comment

* Extract MakeEmptyHeader

* Move MakeEmptyHeader to chain_makers

* Start with empty block as pending payload

* Only build payloads with the right parent hash

* Double check parent hash in SpawnMiningCreateBlockStage

* Simpler error formatting

* ReadHeadBlockHash instead of ReadHeadHeaderHash

* Avoid rebuilding already built blocks

* getPayload should stop the build process

* Tweaking stageLoopIsBusy

* Don't update pending payload after engine_getPayload
2022-02-23 21:27:38 +01:00
battlmonstr
47edcd1b6b
Refactor discovery bootnodes parsing. (#3596)
Simplify node URL list logic.
Handle errors.
2022-02-23 20:24:13 +00:00
leonardchinonso
269ce45e70
Feature/test event logs (#3595)
* Adding contract code for event logs subscription

* Saving changes

* gofmt'd files

* Setting up devnet test tool for log subscription testing

* Fixed lint errors
2022-02-23 17:47:01 +00:00
battlmonstr
6fceb72a74
Refactor node private key setup. (#3593)
Extract private key setup from the global config setup to make it reusable.
Return errors instead of panicing.

* NodeKey() method is removed - it is unused.
2022-02-23 15:05:27 +00:00
Enrique Jose Avila Asapche
198f021f33
Better inputs (#3590)
* updated tests

* using rpc.Timestamp

* added Timestamp type
2022-02-23 13:52:19 +00:00
ledgerwatch
7397af57d4
Optimise eth_getStorageAt for current state (#3580)
* Optimise eth_getStorageAt for current state

* Fix

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-23 09:44:55 +00:00
battlmonstr
082194d538
Discovery: add Context to Listen. (#3577)
Add explicit Context to ListenV4 and ListenV5.
This makes it possible to stop listening by an external signal.
2022-02-22 18:18:43 +00:00
battlmonstr
4337871f7f
Rename log/logger to follow conventions. (#3579)
* use "log" for struct fields
* use "logger" for function parameters and local vars

This is a compromise between:
1) using logger := log.New() to avoid aliasing (log := log.New())
2) and keeping it short when logging e.g.: srv.log.Info(...)
2022-02-22 18:17:15 +00:00
battlmonstr
e6c056e666
Rename Datadir/dataDir to follow conventions. (#3576)
* rename from Datadir to DataDir (functions and public vars)
* rename dataDir to datadir (local variables)
2022-02-22 17:39:48 +00:00
Giulio rebuffo
b49381821f
Fixed get-payload and Hanging ForkChoice (#3575)
* done

* removed sleep

* f

* errors.Is(err, io.EOF) instead of err == io.EOF

Co-authored-by: yperbasis <andrey.ashikhmin@gmail.com>
2022-02-22 14:47:23 +01:00
ledgerwatch
266625f56a
Fixes to access list and state overrides (#3570)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-22 10:29:02 +00:00
Alex Sharov
20452c3dd6
close channel by producer (#3569) 2022-02-22 16:25:02 +07:00
Alex Sharov
b08cb44353
embed rpcdaemon: enable it only by --http flag (#3574) 2022-02-22 16:23:54 +07:00
Alex Sharov
f5da8833b6
erigon2: exec metric (#3567) 2022-02-22 08:55:49 +07:00
Enrique Jose Avila Asapche
231255f026
correct naming (#3563) 2022-02-22 08:42:23 +07:00
Alex Sharov
27b87f44d6
Erigon2: support block snapshots (#3557)
* save

* erigon

* save
2022-02-22 08:42:12 +07:00
Andrew Ashikhmin
980276c322
Fix coinbase in stage_mining_exec (#3564)
* Simplify TerminalBlockHash & TerminalBlockNumber

* Simplify FeedHeaderPoS

* More accurate comment

* Relax TerminalBlockHash check

* Extract the sleep hack into stageLoopIsBusy

* Several short naps instead of a single longish sleep

* Fix coinbase in stage_mining_exec

* More orthodox loop

* typo in comment
2022-02-21 18:05:39 +01:00
ledgerwatch
78974d7844
Fix for BSC incorrect execution (#3560)
* Fix for BSC incorrect execution

* collect skip analysis

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-21 12:42:23 +00:00
Alex Sharov
bed56c6363
Embed rpcdaemon - more cli flags (#3556)
* more rpc emed flags

* more rpc emed flags

* more rpc emed flags
2022-02-21 09:32:42 +07:00
Alex Sharov
e6c4f0bc2a
lock snapshot dir when flag set (#3555) 2022-02-21 09:32:30 +07:00
ledgerwatch
e784f2b809
[erigon2] ETL optimisations (#3550) 2022-02-21 09:31:06 +07:00
Enrique Jose Avila Asapche
d12560f1b5
Get block by time stamp (#3514)
* initial

* binary search through blocks

* snapshot

* returning highest block

* oldest block is now 0

* multiple test written for  getBlockByTimeStamp

* retrieved picked block time stamp

* added into erigon_api

* returning pointer

* reverting c37b99b2d7ebc2250b103393378cc4a4f94a6c21

* deleted print

* proper rpc block response

* fixing test

* returning lowest block

* lint

* typo

* fixed test

* returning lowest-1

* skip while loop for times too big or small

* added to readme

* using sort.Search
2022-02-20 10:45:29 +00:00
Enrique Jose Avila Asapche
e348b3ea93
deleted kovan (#3546) 2022-02-19 08:15:44 +00:00
ledgerwatch
80d7734ea8
[erigon2] fix history creation (txNum confusion) (#3547)
* More tracing

* More tracing

* More tracing

* Keep correct txNum

* Keep correct txNum

* Update to tracing

* Off by one

* Print memory info

* Quicker startup

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-19 08:15:35 +00:00
bernard-wagner
58d2118c10
rpcdaemon: added debug_traceBlockByNumber and debug_traceBlockByHash (#3548) 2022-02-19 08:15:27 +00:00
Alex Sharov
b60faba5d9
more stable grpc err chec (#3541) 2022-02-18 09:54:38 +07:00
Alex Sharov
3de83e2d96
RPCDaemon: to start with disabled txpool (#3539) 2022-02-18 09:45:20 +07:00
Alex Sharov
226982d293
Use class dir.Rw - to separate Ro and Rw access to snapshotDir (#3534)
* save

* save

* save

* save

* save

* save

* save
2022-02-18 09:24:17 +07:00
Andrew Ashikhmin
0701c83222
Fix stall on unwind in handleForkChoice (#3536)
* ReadHeader instead of ReadHeaderByHash

* Add Engine API to rpcdaemon README

* Fix nil pointer dereference in HandlePendingBlock

* Fix latestValidHash JSON

* Delete GetPayloadBodiesV1

* Break infinte unwind loop in handleForkChoice

* More logging
2022-02-17 18:30:57 +01:00
ledgerwatch
c5b4d3e352
[erigon2] Thin commitment (2nd attempt) (#3515)
* Another fix for history files

* Fix NPE

* Another fix

* Proper closing sequence

* Remove first byte insert flag

* Fixes

* Update

* Add traceblock to erigon2 command

* Update

* Update

* Update

* Update

* print panic

* Fix history reads

* Update

* Update locks

* Update

* Fixes

* Set changesets and commitments upfront

* Logging instead of printing

* Fixes in aggregator and recsplit

* Update to erigon-lib

* Remove empty commitments

* Update

* Update

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-17 10:56:20 +07:00
Alex Sharov
18989d73e6
RPCDaemon: --txpool.api.addr by default to use value of --private.api.addr #3532 2022-02-17 09:06:22 +07:00
alex.sharov
89f3164653 Revert "save"
This reverts commit 3ac9112df1.
2022-02-17 09:04:23 +07:00
alex.sharov
3ac9112df1 save 2022-02-17 09:02:32 +07:00
Omer Korner
eabc2da6db
Fix typo (#3529) 2022-02-16 18:42:00 +00:00
Alex Sharov
237a7d24d0
Embed RPCDaemon (#3522)
* save

* save

* save

* save

* save
2022-02-16 17:38:54 +00:00
Andrew Ashikhmin
3663f8c709
Explicit error for purged change sets (#3528) 2022-02-16 16:44:16 +01:00
Alex Sharov
7960d0a472
Snapshot: link.header is nil sometime (#3520)
* save

* save

* save

* save

* save

* save

* save

* save

* save

* Add another check

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-16 12:55:43 +00:00
Andrew Ashikhmin
7bad3a9c59
state.PlainState is now at the beginning of blockNbr, not the end (#3517)
* state.PlainState is now at the beginning of blockNbr, not the end (fix discprepancy with GetAsOf)

* Fix tests
2022-02-16 08:38:12 +00:00
Alex Sharov
6d9ea162ab
rpc daemon embed (step 3) (#3519) 2022-02-16 11:24:51 +07:00
Alex Sharov
e652b5fa87
snapshots: header stage fixes (#3518) 2022-02-16 08:38:54 +07:00
Enrique Jose Avila Asapche
089a1dd5e7
adding engine_ExchangeTransitionConfigurationV1 (#3454) 2022-02-15 09:30:54 +00:00
ledgerwatch
c865290502
Add traceblock to erigon2 command (#3516)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-14 23:15:24 +00:00
Andrew Ashikhmin
64f4de50cd
Optimized eth_createAccessList (#3453)
* Make blockNrOrHash optional in CreateAccessList (in line with geth)

* OptimizedAccessList

* cosmetics

* optimizeGas param instead of separate method

* Inline toAddress
2022-02-14 18:39:45 +00:00
Andrew Ashikhmin
b3905fb659
Fix rpcdaemon: borDb may be nil (#3512) 2022-02-14 13:00:54 +01:00
alex.sharov
83c99d66da torrent flags - fix parsing logic 2022-02-14 14:14:37 +07:00
ledgerwatch
dffcc57ecc
[erigon2] Fix history bug, optimise bitmap search (#3510)
* Fix history bug, optimise bitmap search

* Optimise SeekInBitmap64

* Update erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-13 20:02:18 +00:00
alex.sharov
d488482c89 save 2022-02-13 08:53:10 +07:00
ledgerwatch
ef6013faff
Automation for gathering erigon2 history data (#3501)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-12 22:16:06 +00:00
Alex Sharov
1ba95c1087
atomic close 2 channels (#3498) 2022-02-12 17:09:17 +00:00
ledgerwatch
2074b98568
Tools for gathering data on erigon2 history and bitmaps (#3488)
* Tools for gathering data on erigon2 history and bitmaps

* Always start with 0

* Always start with 0

* Clean up commitment files, trace block

* traceblock

* Add tracing to checkChangeSets

* Fixes to DeleteAccount

* Update to latest erigon-lib

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-02-12 15:48:38 +00:00
Alex Sharov
c9cee7a884
path -> filepath (path package is for urls) (#3493) 2022-02-12 20:33:09 +07:00
Alex Sharov
479c7f3d9d
Embed rpcdaemon: prepared direct clients (#3492) 2022-02-12 19:47:19 +07:00
leonardchinonso
aca755ab43
Fix/rpcdaemon ws upgrade (#3490)
* Added a method to `cmd/rpcdaemon/cli/config.go` to check header of incoming http request for a ws upgrade request

* Added the testing of the 'GET /' request for ws to the devnet tool

* Fixed lint errors
2022-02-12 12:40:19 +01:00
Alex Sharov
8d7eca012a
user-friendly pagesize flag (#3484) 2022-02-12 15:23:06 +07:00
ledgerwatch
eb6a168603
[erigon2] Chain history and bitmap indices (#3437)
* First update

* Update to latest erigon-lib

* Fix lint

* Update

* Update

* Update

* Add history2 command

* Updates

* Update erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-12 00:06:57 +00:00
Alex Sharov
a1318f869a
make services net-independent (#3481) 2022-02-11 17:11:59 +07:00
alex.sharov
49efd8c051 downloader: fix Ctrl+C 2022-02-11 14:59:51 +07:00
alex.sharov
8068a1bed2 save 2022-02-11 14:57:59 +07:00
Alex Sharov
dcabe33f33
Downloader: don't setup erigon's config if --dowloader.api.addr is set (#3480) 2022-02-11 14:39:28 +07:00
Alex Sharov
f66f937d4d
downloader: print logs on validity check (#3479) 2022-02-11 12:47:29 +07:00
Alex Sharov
3d3315132c
downloader switch back to bolt backend (#3478) 2022-02-11 12:44:18 +07:00
alex.sharov
92fc5ae3de Revert "downloader: enable logs"
This reverts commit db97199d5b.
2022-02-11 11:21:42 +07:00
alex.sharov
db97199d5b downloader: enable logs 2022-02-11 11:17:42 +07:00
leonardchinonso
9dbedb2e1d
Chore/improve devnettest (#3476)
* Increased hardcoded gas price from 50000

* Added functionality to search for last propagated transaction in mined blocks after sending a transaction.

* Added functionality to search for last propagated transaction in mined blocks after sending a transaction.
2022-02-11 10:23:40 +07:00