ledgerwatch
820216b77f
Block body download - more recent updates ( #1441 )
...
* Combined
* Fix lint
* Fix lint
* Initial bodydownload package
* Updates
* fix lint and process incoming body
* Fix compile errors
* Use deliveries
* Ready for initial testing
* Better handling of missing temp files dir
* Intermediate testing
* First working code
* Fix races, more efficient request scheduling
* Remove excessive logging
* Fix lint
* Interruptibility, fix lint
* Remove more logging
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-01-15 10:58:04 +00:00
ledgerwatch
ab4c456fec
Headers poc 3 - intermediate changes ( #1093 )
...
* Use log instead of Printf
* Better output
* Display NewBlockHeadersMsg
* Print tx hashes
* Separate sentry and downloader
* Fix lint
* Requesting headers
* Fix lint
* Prevent deadlock, fix NPE
* Not quit when did not restore
* Fix types
* Fix types again
* Warn on penalty
* Prints
* Avoid deadlock
* Better request logic
* Print height
* Actually send header requests
* Actually send header request
* Fix compile errors, sending
* Print BlockHeadersMsg
* Fix lint
2020-09-11 07:35:51 +01:00
ledgerwatch
256e4262e1
2nd batch of Headers PoC changes ( #1067 )
...
* PoC utility
* Headers cmd
* headers download command
* Fix lint
* Send handshake
* Receive Status message
* Better error messages
* Messages
* Fix
* Fix lint
* Print block number for NewBlockMsg
* Fix lint
2020-09-07 07:03:12 +01:00
timcooijmans
9e79642dfe
eth: use maxQueuedTxAnns for to limit the number of transactions announced ( #21419 )
2020-08-14 16:42:00 +02:00
gary rong
20de87c1bf
eth: don't block if transaction broadcast loop fails ( #21255 )
...
* eth: don't block if transaction broadcast loop is returned
* eth: kick out peer if we failed to send message
* eth: address comment
2020-08-07 11:22:09 +02:00
Igor Mandrigin
79ed493678
Fixup for TestSendTransactions65 ( #838 )
2020-07-31 10:44:42 +02:00
Alex Sharov
8c8433302e
remove eth/63, add tests for eth/65 ( #823 )
2020-07-30 11:16:55 +01:00
ledgerwatch
b765ff0e33
cmd/tester initiates staged sync, and unwind (but not reorg) ( #758 )
...
* First push
* Remove batch from Blockchain
* Fix compile error in cmd/integration
* Fix compile errors in cmd/state
* Fix compile errors
* Save changes
* Fix core tests (skip tx tests)
* More test fixes
* Fix compile error
* Fix formatting
* Fix formatting
* Fix lint
* Fixes
* Skip some miner tests
* Fix tests
* Cleanup
2020-07-19 09:11:53 +01:00
Péter Szilágyi
60086a33e3
eth: skip transaction announcer goroutine on eth<65
2020-05-20 15:26:22 +03:00
Péter Szilágyi
2ad0e192cf
eth: fix transaction announce/broadcast goroutine leak
2020-03-16 16:40:19 +03:00
Igor Mandrigin
edcd16c7ab
post-merge fixups
2020-02-27 17:22:25 +03:00
Péter Szilágyi
748c8063a8
eth: rework tx fetcher to use O(1) ops + manage network requests
2020-02-27 17:21:20 +03:00
rjl493456442
34c43f7040
core, eth: implement eth/65 transaction fetcher
2020-02-27 17:21:20 +03:00
Igor Mandrigin
ec6350fa15
apply post-rebase fixups
2019-12-03 16:27:57 +01:00
Péter Szilágyi
1540e9c83b
eth: eth/64 - extend handshake packet with fork id
2019-12-03 13:13:36 +01:00
Alexey Akhunov
fe01bccbb8
Apply Turbo-Geth modifications to go-ethereum codebase
2019-11-01 21:52:03 +01:00
Péter Szilágyi
983f92368b
core/forkid: implement the forkid EIP, announce via ENR ( #19738 )
...
* eth: chain config (genesis + fork) ENR entry
* core/forkid, eth: protocol independent fork ID, update to CRC32 spec
* core/forkid, eth: make forkid a struct, next uint64, enr struct, RLP
* core/forkid: change forkhash rlp encoding from int to [4]byte
* eth: fixup eth entry a bit and update it every block
* eth: fix lint
* eth: fix crash in ethclient tests
2019-07-08 18:53:47 +03:00
Péter Szilágyi
fc4fee8649
eth: enforce stricter known limits on idle peers
2019-06-12 12:30:06 +03:00
Péter Szilágyi
38f6b85638
eth, les, light: enforce CHT checkpoints on fast-sync too
2019-04-17 13:16:15 +03:00
Ralph Caraveo III
5d30be412b
all: switch out defunct set library to different one ( #16873 )
...
* keystore, ethash, eth, miner, rpc, whisperv6: tech debt with now defunct set.
* whisperv5: swap out gopkg.in/fatih/set.v0 with supported set
2018-07-16 10:54:19 +03:00
Péter Szilágyi
d9cee2c172
eth: propagate blocks and transactions async
2018-05-21 11:32:42 +03:00
Péter Szilágyi
e61035c5a3
cmd, eth, les, mobile: make networkid uint64 everywhere
2017-04-25 14:53:50 +03:00
Péter Szilágyi
e7030c4bf5
all: update light logs (and a few others) to the new model
2017-03-03 11:41:52 +02:00
Péter Szilágyi
9184249b39
Logger updates 3 ( #3730 )
...
* accounts, cmd, eth, ethdb: port logs over to new system
* ethdb: drop concept of cache distribution between dbs
* eth: fix some log nitpicks to make them nicer
2017-03-02 14:06:16 +01:00
Felix Lange
35e8308bf7
eth, les: shorten genesis block mismatch error message
2017-02-27 17:19:41 +01:00
Péter Szilágyi
d4fd06c3dc
all: blidly swap out glog to our log15, logs need rework
2017-02-23 12:16:44 +02:00
Péter Szilágyi
1dd272080d
eth, eth/downloader: better remote head tracking
2016-07-25 15:14:14 +03:00
Felix Lange
016007bd25
eth, eth/downloader, eth/fetcher: delete eth/61 code
...
The eth/61 protocol was disabled in #2776 , this commit removes its
message handlers and hash-chain sync logic.
2016-07-22 13:17:19 +02:00
Péter Szilágyi
7f00e8c033
core, eth: enforce network split post DAO hard-fork
2016-07-15 16:52:55 +03:00
Felix Lange
56ed6152a1
core, eth, miner: improve shutdown synchronisation
...
Shutting down geth prints hundreds of annoying error messages in some
cases. The errors appear because the Stop method of eth.ProtocolManager,
miner.Miner and core.TxPool is asynchronous. Left over peer sessions
generate events which are processed after Stop even though the database
has already been closed.
The fix is to make Stop synchronous using sync.WaitGroup.
For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
a way to stop new peer sessions from being added while waiting on the
WaitGroup. The eth protocol Run function now selects on a signaling
channel and adds to the WaitGroup only if ProtocolManager is not
shutting down.
For miner.worker and core.TxPool the number of goroutines is static,
WaitGroup can be used in the usual way without additional
synchronisation.
2016-05-09 13:03:08 +02:00
Péter Szilágyi
e46ab3bdcd
eth, p2p, rpc/api: polish protocol info gathering
2015-10-28 12:44:15 +02:00
Felix Lange
3cf74336c9
eth: time out status message exchange after 5s
2015-10-22 22:22:04 +02:00
Péter Szilágyi
ab27bee25a
core, eth, trie: direct state trie synchronization
2015-10-19 10:03:09 +03:00
Péter Szilágyi
f186b39018
eth/downloader: add fast and light sync strategies
2015-10-19 10:03:09 +03:00
Péter Szilágyi
cdc2662c40
core: split out TD from database and all internals
2015-09-11 17:42:25 +03:00
Péter Szilágyi
2b339cbbd8
core, eth: split the db blocks into headers and bodies
2015-09-11 17:42:25 +03:00
Péter Szilágyi
47a7fe5d22
eth: port the synchronisation algo to eth/62
2015-08-25 17:48:47 +03:00
Péter Szilágyi
42f44dda54
eth, eth/downloader: handle header requests, table driven proto tests
2015-08-24 17:57:28 +03:00
Péter Szilágyi
c51e153b5c
eth, metrics, p2p: prepare metrics and net packets to eth/62
2015-08-21 10:30:57 +03:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Péter Szilágyi
4f95e2f9ec
eth: calculate the correct TD, only update if better
2015-07-09 13:55:06 +03:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Péter Szilágyi
1ae80aaf64
eth: fix #1371 , double lock during block/txn known set limitation
2015-07-01 11:12:05 +03:00
Péter Szilágyi
f43c07cb3c
eth, eth/downloader: transition to eth 61
2015-06-30 19:05:06 +03:00
Péter Szilágyi
aac2b6ae4c
eth: add the blocks from numbers protocol message
2015-06-30 19:00:01 +03:00
Péter Szilágyi
5db8f447d5
eth: fix #1319 , put an upper limit on the known txns and blocks
2015-06-30 19:00:01 +03:00
Péter Szilágyi
6fc85f1ec2
eth: clean up peer struct a bit, fix double txn bcast
2015-06-30 19:00:01 +03:00
Péter Szilágyi
2c8ed76e01
eth: start cleaning up old protocol implementation, add metrics
2015-06-30 19:00:00 +03:00
Péter Szilágyi
f86707713c
eth: fix data race accessing peer.td
2015-06-09 14:56:27 +03:00