-
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 |