Commit Graph

1898 Commits

Author SHA1 Message Date
obscuren 35f4bb96f3 Limit hashes. Closes #249 2015-01-09 16:44:09 +01:00
zelig b3161f5803 Merge remote-tracking branch 'upstream/develop' into develop 2015-01-09 06:21:47 +00:00
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