249 Commits

Author SHA1 Message Date
Alex Sharov
6eb10ba9a8
Use ETL to fill kv.HeaderNumber from snapshots (#4272)
* merge devel

* save
2022-05-26 21:41:05 +07:00
Alex Sharov
66248c4bfb
Torrent: verify all files (#4270) 2022-05-26 12:27:44 +07:00
Alex Sharov
fc1a37e6dc
create turbo/services pkg (#4269) 2022-05-26 10:31:06 +07:00
ledgerwatch
9dc7067e9c
Fix snapshot merge and anchor removal (#4228)
* Print retire

* Print

* Print

* Print

* Print

* Not fail when block is not found

* Remove prints

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-05-22 11:08:03 +01:00
Alex Sharov
7ecdf51d92
methods to read single txn by txnID (#4215) 2022-05-20 14:12:12 +07:00
Alex Sharov
64508a7d4e
Snap: call AddHeadersFromSnapshot only at initialCycle (#4198) 2022-05-19 10:38:53 +07:00
Alex Sharov
3e4fb5dd49
up linter version (#4108)
* save

* save

* save
2022-05-10 10:14:09 +07:00
Alex Sharov
e68879810e
make sure stage_headers --reset doesn't left garbage in bodies table #4043 2022-05-01 11:38:35 +07:00
ledgerwatch
e0d7998eb0
Truncate bor receipts on unwind (#4033)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-04-30 15:46:08 +01:00
Alex Sharov
a13c5ba904
Fix non-starting download (#4031)
* save

* save

* save

* save
2022-04-30 11:42:36 +07:00
Alex Sharov
77560b6732
More careful handle of sequences in stage_headers --reset (#4023)
* save

* save

* save

* save
2022-04-29 14:37:02 +07:00
Alex Sharov
352869fc3a
rename field "type" (#4015)
* save

* save

* save
2022-04-28 15:02:06 +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
Alex Sharov
dba9544edc
Delete blocks in [from, to) range (#3970) 2022-04-26 11:15:45 +07:00
Giulio rebuffo
5e1900cc48
cleaned up forkchoices db insertions #3949 2022-04-24 08:13: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
Alex Sharov
6aa4999729
Parallel indexing (#3921) 2022-04-21 10:34:10 +07:00
Alex Sharov
b329d675ec
Torrent best trackers (#3870)
* best trackers

* save
2022-04-11 14:01:12 +07:00
Alex Sharov
0842e2bd12
RetireBlocks: preserve genesis (#3869)
* save

* save

* save
2022-04-11 13:16:45 +07:00
Andrew Ashikhmin
9b9da14cd1
Check that safe & finalized blocks are ancestors of head block (#3839)
* Check that safe & finalized blocks are ancestors of head block

* Add logging
2022-04-07 09:37:12 +02: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
Giulio rebuffo
1b0d7c80bf
Better batches for Execution (Hashmaps based instead of BTree based) (#3814) 2022-04-04 14:11:59 +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
Alex Sharov
89d4477df3
Snapshots: nil indices on p2p fix (#3772) 2022-03-27 10:07:58 +07: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
469b75c3d3
Snapshots: retire blocks by default (#3707) 2022-03-16 09:57:48 +07: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
Enrique Jose Avila Asapche
35fcd3a829
Merging Turbo bor into devel (#3372)
* implemented bor consensus

* add bor flags to default

* change bucket into snapshot to clique

* enable stateSync

* bypass reciept checks

* fix receipt calculation and bor logs

* fix: contract call wrt bor

* Update mumbai config

* Add: bor-mainnet flag and config

* Add bor consensus to integration

* use header coinbase in block context

* london fork mumbai changes

* fix genesis error

* Jaipur fork for mumbai

* add sysCall to verifyHeader

* added bor related rpc method implementation

* added bor specific rpc extensions

* fixes in snapshot implementation, major refactor for bor rpc

* modify consensus specific db path for bor

* fix: remove parallel compute for get root hash rpc method

* Added bor-receipt flow

* Use turbo-bor-lib and bor tables

* Use bor table in RPC snapshot

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* update rpc readme

* link rpc docs in readme

* Update Readme

* Update Readme

* move erigon namespace rpc methods to eth

* rm: erigon namespace

* rm: erigon namespace, update list of available rpc methods, add example

* fix: binary name in rpc readme

* fix: max db size

* Add london to bor-mainnet

* updated node.go

* add system req to readme

* golang version fix readme

* added networknames in correct place

* nil

* ran gofmt

* erigon

* fixed fake.go

* dont need turbor-lib

* old readme

* fixing readme

* half

* other half

* changed return

* fixing return

* fixed return

* fixed flags

* gofmt

* merge with devel

* latest erigon-lib

* fixed context.coinbase

* took out syscall

* fixed params in hash

* bor type now is consensus.Engine

* parlia is consensus.Engine

* missing arg and repeated importation

* repeated importation

* fixed eth_receipts.go

* deleted duplicate issuance

* part of consensus.Engine type

* added eth_api issuance

* networkname

* added erigon_system file

* fork struct taken out

* added erigon block

* getLogByHash for erigonImpl

* gofmt

* fixed lint

* ops

* gofmt

* gofmt

* added APIImple functions

* fixed clique test

* took out print

* fixed state added balance

* fixed README

* fixed rpcDaemon README

* fixed integration README

* updated blockchain.go

* lint

* added bor back into blockchain.go

* took out comment

* lint

* updated daemon

* updated wtb

* removed duplicate

* removed VerifyHeaders

* prevent use of wrong Transfer

* fixed state_processor.go

* fixed state_transition.go

* fixed headers

* returning err

* error handling in bor read tx look up

* put for txLookUp

* dealing with error

* lint

* traces

* more traces

* fixed receipt in execution

* getTrasanction receipt for bor or others

* nil

* lint

* ops

* deleted syscall

* took out else

* Merge branch 'devel

* tests syscalls

* changed borReceipt to receipt

* reset header algos

* arguments fix

* took out prefixes

* lint

* erigon-named

* borReceiptKey = blocknumber

* reverts e3b60c2e159d03efcb855f7ab3da5a098dd60c33.

* correct hashing tx

* dont need it here

* lint

* added txlookup for bor

* change to uint256

* outputs for isBor

* wrapper

* added isBor and isParlia

* isBor

* fixed BorTransfer

* not readBody

* correct prefix

* added blockNum

* added readStorageBody

* readStorageBody

* lint

* got rid of unnecessary bor_receipt func

* onlny if bor

* use clone

* append

* writeToSlice

* added isBor flag

* fixed writeToSlice

* normal sorting

* lint

* Reset erigon-snapshots

* Move bor prefix into if

Co-authored-by: Krishna Upadhyaya <krishnau1604@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Uttam Singh <uttamkhanduja@yahoo.in>
Co-authored-by: Giulio Rebuffo <giulio.rebuffo@gmail.com>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-02-07 21:30:46 +00:00
Giulio rebuffo
9ca0a721af
Cumulative index stage (#3314)
* prog

* chain traffic

* added log estimation

* fixed err

* unwind
2022-01-27 10:49:03 +00:00
Alex Sharov
9e8543d948
Snapshots: fill kv.HeaderNumber table (#3328) 2022-01-24 13:47:05 +07:00
Alex Sharov
6fd002eb5a
Snapshot: move old blocks to snapshots (non-async version) (#3309)
* save

* save
2022-01-20 12:01:02 +07:00
Alex Sharov
4ef541f5dc
Snapshots: tx lookup in RPC from snapshots (#3214) 2022-01-07 20:52:38 +07:00
Alex Sharov
13d9e71ac7
Snapshots: txnHash2BlockNum idx (#3213) 2022-01-06 18:22:59 +07:00
Alex Sharov
156287a982
Sanity check p2p block (#3197) 2022-01-04 15:46:22 +07:00
Alex Sharov
40205fb7ca
Torrent: continue download after reboot, --torrent.verbosity flag (#3161) 2021-12-24 10:44:14 +07:00
Giulio rebuffo
c596bb4306
Added WatchTheBurnStage + erigon_watchTheBurn json rpc call (#3137)
* added blockIssuance type

* added stage

* bug fixing

* simplifications

* minimalised

* fixed burned computation

* stage complete

* stage issuance

* reposition

* finished

* lint
2021-12-16 22:08:27 +00:00
Alex Sharov
178fd1931d
Genesis sync from existing snapshots (#3087) 2021-12-05 09:03:08 +07:00
Giulio rebuffo
3c95db0078
Fixed Proof-of-stake transition (#3075)
* added download channel to stage headers

* added direct execution

* now channel of headers rather than bodies

* simplifications

* fixed ttd headerForward

* garbage removed

* added some more stepping stones

* better transition

* covered edge case

* added names to returned values

* clean
2021-12-03 11:55:00 +01:00
Giulio rebuffo
cfed35921c
Merge branch 'devel' into enginev1 2021-11-29 09:57:56 +01:00
TBC Dev
57d641b6f9
Avoid redundant Block.Header() deep-copy (#3050)
* Add separate Block.Nonce() and Block.NonceU64()

* Add Block.Seal()

* Avoid redundant Block.Header() deep-copy

* Add warning comment for Block.Header()
2021-11-29 08:52:36 +00:00
Giulio Rebuffo
435d1d1519 channels implemented 2021-11-24 23:00:00 +01:00
Giulio Rebuffo
21cbc19f21 using batch over tx 2021-11-21 23:11:50 +01:00
Giulio Rebuffo
23883d9104 merge 2021-11-21 21:55:41 +01:00
Giulio Rebuffo
224441cb07 initial commit2 2021-11-20 17:27:11 +01:00
Alex Sharov
5b634a790e
Canonical tx ids (#2986)
* 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
2021-11-18 14:07:55 +00:00
Giulio rebuffo
e6916d4d00
[EIP-4399 2/3] Added total difficulty stage and transition logic (#2964)
* added diff stage

* added td stage

* improvements + more tests

* added err check

* added err check

* transition raw interfaces

* interface for transition

* unwind updates

* maybe this fix

* now fixed?

* fixes

* better db-format

* better db-format

* sum and mod

* sum and mod

* fixed headers unwind
2021-11-17 15:50:41 +00:00
Alex Sharov
752f76847d
propagate all promoted txs when add local tx (#2841) 2021-10-20 10:40:23 +07:00
Alex Sharov
0625cd4f11
No senders is fine (#2775) 2021-10-05 10:03:49 +07:00
Andrea Lanfranchi
c913f35c2e
Inner errors (#2774) 2021-10-04 22:16:52 +07:00
Andrew Ashikhmin
ced5965ef7
Remove ReceiptsKey in favour of EncodeBlockNumber (#2681) 2021-09-13 20:59:18 +07:00