Commit Graph

146 Commits

Author SHA1 Message Date
zelig
5a9952c7b4 major blockpool change
- 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
2015-01-09 06:03:45 +00:00
zelig
8ecc9509b3 add ErrInsufficientChainInfo error 2015-01-09 06:03:32 +00:00
zelig
f72cb28b0f adapt unit tests to spec
- AddBlockHashes ignores the first hash (just used to match getBlockHashes query) sends the rest as blocksMsg
- new test TestPeerWithKnownParentBlock
- new test TestChainConnectingWithParentHash
- adapt all other tests to the new scheme
2015-01-09 05:57:09 +00:00
zelig
43ed0ed1ae no need to call AddBlockHashes when receiving new block 2015-01-09 05:06:04 +00:00
zelig
69dfca2feb minor changes in integration tests 2015-01-09 05:04:32 +00:00
obscuren
26f066f0c7 just enable by default 2015-01-08 22:18:23 +01:00
obscuren
fed3e6a808 Refactored ethutil.Config.Db out 2015-01-07 13:17:48 +01:00
obscuren
25e6c4eff8 Adjusted difficulty and skip get tx messages 2015-01-06 14:02:47 +01:00
obscuren
a76b7dadae Don't auto push jeff ... 2015-01-06 13:39:01 +01:00
obscuren
1b903767e0 Fixed port num 2015-01-06 13:31:52 +01:00
obscuren
4e7f53adf0 Changed to poc-8 & removed GetTxs 2015-01-06 13:31:08 +01:00
Felix Lange
eb0e7b1b81 eth, p2p: remove EncodeMsg from p2p.MsgWriter
...and make it a top-level function instead.

The original idea behind having EncodeMsg in the interface was that
implementations might be able to encode RLP data to their underlying
writer directly instead of buffering the encoded data. The encoder
will buffer anyway, so that doesn't matter anymore.

Given the recent problems with EncodeMsg (copy-pasted implementation
bug) I'd rather implement once, correctly.
2015-01-06 12:23:38 +01:00
obscuren
d001479a47 unclean shutdown for now 2015-01-05 17:15:25 +01:00
obscuren
6abf8ef78f Merge 2015-01-05 17:10:42 +01:00
obscuren
c1dee15144 BlockManager => BlockProcessor 2015-01-05 00:18:44 +01:00
obscuren
09841b1c9b Cleaned up some of that util 2015-01-04 14:20:16 +01:00
obscuren
16f417f5af Fixed bug where logging could crash client during tx adding 2015-01-02 22:19:58 +01:00
obscuren
530953050a Updated protocol version 2015-01-02 17:35:00 +01:00
obscuren
d336e24dce Removed the need of having a backend for the tx pool 2015-01-02 12:26:55 +01:00
obscuren
4cd79d8ddd Refactored block & Transaction
* Includes new rlp decoder
2014-12-23 13:48:44 +01:00
obscuren
0dc566124a Merge fixes 2014-12-18 13:22:59 +01:00
obscuren
6ff9d5770b Added whisper handler 2014-12-15 17:09:14 +01:00
obscuren
455241debb Removed goroutine from "Run" 2014-12-15 17:09:06 +01:00
obscuren
56dac74f71 made mist in a compilable, workable state using the new refactored packages 2014-12-15 13:00:29 +01:00
obscuren
c7bc684909 Moved peer helper metheds 2014-12-15 12:35:21 +01:00
obscuren
96272e19a6 removed filter manager from base 2014-12-15 12:34:06 +01:00
obscuren
cdb2ebbdfa Added old filter. Needs some refactoring 2014-12-15 12:17:33 +01:00
obscuren
4b5ad31b3a WIP 2014-12-15 12:07:46 +01:00
obscuren
6c168c8f22 added protocol handler 2014-12-15 12:02:48 +01:00
obscuren
afc8b887ab added whisper 2014-12-15 12:01:55 +01:00
obscuren
f111fc0608 WIP 2014-12-15 11:38:09 +01:00
zelig
4c89d5331f adapt blockpool/backend to use pow/ezp with pow.Block for VerifyPoW func 2014-12-14 20:53:20 +00:00
zelig
e77b720ead blockmanager start/stop obsolete 2014-12-14 20:45:12 +00:00
zelig
01dc1c1394 blockpool rewritten , tests broken FIXME 2014-12-14 20:42:08 +00:00
zelig
4dfce4624d protocol
- new interface explicit backend components txPool, chainManager, blockPool
- added protoErrorDisconnect for blockpool callback (FIXME: handling peer disconnects)
2014-12-14 20:40:08 +00:00
zelig
5e4d77b2b8 initial commit for eth blockpool + test 2014-12-14 20:39:34 +00:00
zelig
2dd8f41147 eth protocol changes
- changed backend interface
- using callbacks for blockPool
- use rlp stream for lazy decoding
- use peer as logger
- add id (peer pubkey) to ethProtocol fields
- add testPeer to protocol test (temporary)
2014-12-14 20:37:07 +00:00
zelig
0add0c400f initial commit for eth-p2p integration 2014-12-14 20:34:28 +00:00
zelig
76070b4674 blockpool rewritten , tests broken FIXME 2014-12-14 20:27:06 +00:00
zelig
3308d82b23 add protocol error types specific to blockpool 2014-12-14 20:27:06 +00:00
zelig
c44e025898 protocol
- new interface explicit backend components txPool, chainManager, blockPool
- added protoErrorDisconnect for blockpool callback (FIXME: handling peer disconnects)
2014-12-14 20:27:06 +00:00
zelig
02017ed0e0 initial commit for new backend (eth.Ethereum) 2014-12-14 20:27:06 +00:00
zelig
4366fdfc13 initial commit for eth blockpool + test 2014-12-14 20:27:06 +00:00
zelig
d957dd2c9f eth protocol changes
- changed backend interface
- using callbacks for blockPool
- use rlp stream for lazy decoding
- use peer as logger
- add id (peer pubkey) to ethProtocol fields
- add testPeer to protocol test (temporary)
2014-12-14 20:27:06 +00:00
zelig
eb5cb04aa9 no logging in error (to be refactored into p2p) 2014-12-14 20:27:05 +00:00
zelig
e5aa38cb0f initial commit for eth-p2p integration 2014-12-14 20:27:05 +00:00