-
zelig authored
- the spec says response to getBlockHashes(from, max) should return all hashes starting from PARENT of from. This required major changes and results in much hackier code. - Introduced a first round block request after peer introduces with current head, so that hashes can be linked to the head - peerInfo records currentBlockHash, currentBlock, parentHash and headSection - AddBlockHashes checks header section and creates the top node from the peerInfo of the best peer - AddBlock checks peerInfo and updates the block there rather than in a node - request further hashes once a section is created but then no more until the root block is found (so that we know when to stop asking) - in processSection, when root node is checked and receives a block, we need to check if the section has a parent known to blockchain or blockPool - when peers are switched, new peer launches a new requestHeadSection loop or activates its actual head section, i.e., the section for it currentBlockHash - all tests pass
5a9952c7
Name |
Last commit
|
Last update |
---|---|---|
_data | ||
cmd | ||
compression/rle | ||
core | ||
crypto | ||
eth | ||
ethdb | ||
ethutil | ||
event | ||
javascript | ||
logger | ||
miner | ||
p2p | ||
pow | ||
rlp | ||
rpc | ||
state | ||
tests | ||
trie | ||
ui | ||
vm | ||
websocket | ||
whisper | ||
xeth | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.travis.yml | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
gocoverage.sh | ||
install.sh | ||
update-license.go |