Péter Szilágyi
92f9a3e5fa
cmd, eth: support switching client modes of operation
9 years ago
Péter Szilágyi
402fd6e8c6
core, eth, event, miner, xeth: fix event post / subscription race
9 years ago
Jeffrey Wilcke
7c7692933c
cmd/geth, cmd/utils, core, rpc: renamed to blockchain
...
* Renamed ChainManager to BlockChain
* Checkpointing is no longer required and never really properly worked
when the state was corrupted.
9 years ago
Péter Szilágyi
821619e1c3
core, eth, miner: use pure header validation
9 years ago
Felix Lange
8c4dab77ba
all: move common.Database to package ethdb
9 years ago
Péter Szilágyi
cdc2662c40
core: split out TD from database and all internals
9 years ago
Péter Szilágyi
2b339cbbd8
core, eth: split the db blocks into headers and bodies
9 years ago
Péter Szilágyi
47a7fe5d22
eth: port the synchronisation algo to eth/62
9 years ago
Gustav Simonsson
7324176f70
Add tests for uncle timestamps and refactor timestamp type
9 years ago
Péter Szilágyi
42f44dda54
eth, eth/downloader: handle header requests, table driven proto tests
9 years ago
Péter Szilágyi
c51e153b5c
eth, metrics, p2p: prepare metrics and net packets to eth/62
9 years ago
Péter Szilágyi
941920f2aa
eth: fix an issue with pulling and inserting blocks twice
9 years ago
Jeffrey Wilcke
036e6301af
cmd/geth, core, eth: Version 1.0.0
...
Genesis release. Closes #1402
Conflicts:
cmd/geth/main.go
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
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".
9 years ago
Péter Szilágyi
4f95e2f9ec
eth: calculate the correct TD, only update if better
10 years ago
Felix Lange
ea54283b30
all: update license information
10 years ago
Péter Szilágyi
d6f2c0a76f
eth, eth/downloader: fix #1231 , DOS vulnerability in hash queueing
10 years ago
Péter Szilágyi
f43c07cb3c
eth, eth/downloader: transition to eth 61
10 years ago
Péter Szilágyi
af51dc4d63
eth, eth/downloader: pass the eth protocol version through
10 years ago
Péter Szilágyi
aac2b6ae4c
eth: add the blocks from numbers protocol message
10 years ago
Péter Szilágyi
6fc85f1ec2
eth: clean up peer struct a bit, fix double txn bcast
10 years ago
Péter Szilágyi
2c8ed76e01
eth: start cleaning up old protocol implementation, add metrics
10 years ago
Péter Szilágyi
393d675690
cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61
10 years ago
Felix Lange
76821d167a
core, eth, rpc: avoid unnecessary block header copying
10 years ago
Péter Szilágyi
4180ca7fe4
eth: fix the propagation/announce order for mined blocks
10 years ago
Péter Szilágyi
90d45f0397
eth: fix test breakage from the previous commit
10 years ago
Péter Szilágyi
b91b581b80
eth, eth/fetcher: propagate after header verify, announce only on insert
10 years ago
Péter Szilágyi
629705ad53
eth: clean the block request packet handling a bit
10 years ago
Péter Szilágyi
5ec6ecc511
eth, eth/fetcher: move propagated block import into fetcher
10 years ago
Péter Szilágyi
37c5ff392f
eth/fetcher: build longest chain until proven otherwise
10 years ago
Péter Szilágyi
497a7f1717
eth, eth/fetcher: define and enforce propagation boundaries
10 years ago
Péter Szilágyi
11c8f83a58
eth, eth/fetcher: cache future propagated blocks too
10 years ago
Péter Szilágyi
057bc237ad
eth, eth/fetcher: use an import queue to store out of order blocks
10 years ago
Péter Szilágyi
7c2af1c117
eth, eth/fetcher: separate notification sync mechanism
10 years ago
Péter Szilágyi
fc7abd9886
eth, eth/downloader: move block processing into the downlaoder
10 years ago
Péter Szilágyi
66d3dc8690
eth, eth/downloader: move peer removal into downloader
10 years ago
Felix Lange
6c73a59806
eth: limit number of sent transactions based on message size
...
Nodes that are out of sync will queue many transactions, which causes
the initial transactions message to grow very large. Larger transactions
messages can make communication impossible if the message is too big to
send. Big transactions messages also exhaust egress bandwidth, which
degrades other peer connections.
The new approach to combat these issues is to send transactions in
smaller batches. This commit introduces a new goroutine that handles
delivery of all initial transaction transfers. Size-limited packs of
transactions are sent to one peer at a time, conserving precious egress
bandwidth.
10 years ago
Felix Lange
41b2008a66
eth: limit number of sent blocks based on message size
...
If blocks get larger, sending 256 at once can make messages large
enough to exceed the low-level write timeout.
10 years ago
Péter Szilágyi
f86707713c
eth: fix data race accessing peer.td
10 years ago
Péter Szilágyi
44147d057d
eth: fix data race accessing peer.recentHash
10 years ago
Péter Szilágyi
8216bb901c
eth: clean up pending announce download map, polish logs
10 years ago
Péter Szilágyi
9ed166c196
eth: split and handle explicitly vs. download requested blocks
10 years ago
Péter Szilágyi
fdccce781e
eth: fetch announced hashes from origin, periodically
10 years ago
Péter Szilágyi
6f415b96b3
eth: implement the NewBlockHashes protocol proposal
10 years ago
Péter Szilágyi
63c6cedb14
eth/downloader: cap the hash ban set, add test for it
10 years ago
obscuren
e5d7627427
eth: 100% block propogation
10 years ago
Péter Szilágyi
5235e01b8d
eth: hard disconnect if a peer is flaky
10 years ago
Péter Szilágyi
eafdc1f8e3
eth, eth/downloader: surface downloaded block origin, drop on error
10 years ago
Péter Szilágyi
06a041589f
eth, eth/downloader: remove duplicate consts, bump hash fetch to 2K
10 years ago