obscuren
73eb8e8c20
eth: basic implementation of the downloader
2015-04-17 13:54:18 +02:00
obscuren
3a51c3b584
Merge branch 'develop' into downloader-proto
2015-04-16 01:28:24 +02:00
obscuren
c4678ffd77
downloader: updated downloader and fixed issues with catch up
...
Properly ignore blocks coming from peers not in our peer list (blocked)
and do never request anything from bad peers. Added some checks to
account for blocks known when requesting hashes (missing parents).
2015-04-16 00:14:31 +02:00
obscuren
9800c84348
eth: limit the amount of peers that will receive Block/Tx messages
...
All transaction and block messages are now limited using `sqrt(peers)`
2015-04-14 12:49:15 +02:00
obscuren
333e539ce2
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
2015-04-13 17:35:46 +02:00
Jeffrey Wilcke
1fa844aaf5
Merge pull request #702 from ethersphere/frontier/blockpool
...
blockpool stability fixes:
2015-04-13 17:35:25 +02:00
obscuren
97d2954e22
eth: added downloader for syncing up the chain
2015-04-13 17:22:32 +02:00
obscuren
a8a2b2a488
downloader: added missing blocks catchup functionality
...
When a parent is missing in the block list an attempt should be made to
fetch the missing parent and grandparents.
2015-04-13 16:38:32 +02:00
zelig
3d57e377a4
blockpool stability fixes:
...
- follow up locks and fix them
- chainManager: call SetQueued for parentErr future blocks, uncomment TD checks, unskip test
- make ErrIncorrectTD non-fatal to be forgiving to genuine mistaken nodes (temp) but demote them to guard against stuck best peers.
- add purging to bounded nodeCache (config nodeCacheSize)
- use nodeCache when creating blockpool entries and let non-best peers add blocks (performance boost)
- minor error in addError
- reduce idleBestPeerTimeout to 1 minute
- correct status counts and unskip status passing status test
- glogified logging
2015-04-13 13:13:55 +01:00
Bas van Kervel
49a513bdeb
Added blockchain DB versioning support, closes #650
2015-04-13 10:13:52 +02:00
obscuren
7dcb9825c3
downloader: return an error for peer.fetch and return chunk to queue
...
If a peer was somehow already fetching and somehow managed to end up in
the `available` pool it should return it's work.
2015-04-12 13:36:01 +02:00
obscuren
6efa8db888
downloader: renamed chunks to queue
2015-04-12 13:24:38 +02:00
obscuren
acf8452c33
downloader: implemented new downloader
2015-04-12 12:38:25 +02:00
obscuren
764a802eaa
Disabled TD check
...
@zelig: Temporarily commented out TD check untill the rest of the network has
been fixed.
2015-04-09 17:39:02 +02:00
obscuren
663fd8f849
Moved log to debug
2015-04-09 17:19:05 +02:00
obscuren
204ac81188
Moved handling of nonces to the managed state
2015-04-08 23:30:07 +02:00
obscuren
6184781b49
Improved transaction pool
...
The transaction pool will now some easily be able to pre determine the
validity of a transaction by checking the following:
* Account existst
* gas limit higher than the instrinsic gas
* enough funds to pay upfront costs
* nonce check
2015-04-08 20:47:32 +02:00
obscuren
a953f3ec97
Sync managed accounts to the network
2015-04-08 13:07:21 +02:00
obscuren
688d118c7e
Updated logging
2015-04-07 14:57:04 +02:00
obscuren
09d3f2cf2a
Update ethash
2015-04-05 15:14:55 +02:00
obscuren
c985ce4d78
Changed log to new logging
2015-04-04 13:41:58 +02:00
obscuren
216ea425e4
corrected
2015-04-01 17:36:56 +02:00
obscuren
8e961df283
bumped network protocol
2015-04-01 17:10:42 +02:00
Felix Lange
76218959ab
eth: update cpp bootnode address
2015-04-01 17:00:12 +02:00
zelig
f56fc9cd9d
change StatusMsgData.TD back to pointer type *big.Int
2015-04-01 12:36:49 +01:00
zelig
6ffea34d8b
check TxMsg
...
- add validation on TxMsg checking for nil
- add test for nil transaction
- add test for zero value transaction (no extra validation needed)
2015-04-01 12:32:42 +01:00
zelig
82da6bf4d2
test for invalid rlp encoding of block in BlocksMsg
...
- rename Validate -> ValidateFields not to confure consensus block validation
- add nil transaction and nil uncle header validation
- remove bigint field checks: rlp already decodes *big.Int to big.NewInt(0)
- add test for nil header, nil transaction
2015-04-01 12:32:42 +01:00
zelig
d677190f39
add tests for valid blocks msg handling
2015-04-01 12:32:42 +01:00
zelig
e1be34bce1
eth: SEC-29 eth wire protocol decoding invalid message data crashes client
...
- add validate method to types.Block
- validate after Decode -> error
- add tests for NewBlockMsg
2015-04-01 12:32:42 +01:00
obscuren
f2c6a937f3
Protocol bump
2015-04-01 11:50:19 +02:00
Taylor Gerring
6daa455243
Update Go bootnode address
2015-03-31 14:14:29 +02:00
zelig
b375bbee5f
settable etherbase
...
- etherbase flag for block reward destination
- coinbase => etherbase
- CLI- eth Config -> eth, xeth -> RPC / Miner
- use primary instead of coinbase as the unlock magic wildcard
- accounts: firstAddr/Coinbase -> Primary
2015-03-26 21:52:22 +00:00
Jeffrey Wilcke
aa1eae67ec
Merge pull request #560 from tgerring/xethcleanup
...
XEth cleanup
2015-03-25 13:55:46 +01:00
Taylor Gerring
2b93843d86
Improve protocol version reporting
2015-03-25 12:09:55 +01:00
obscuren
dda1d60556
Store protocol version in the block db **NOT** extra db
2015-03-25 09:58:46 +01:00
obscuren
576df064e5
Updated for PV59
...
* Value XFER are refunded back to the sender if the execution fails
2015-03-24 11:49:30 +01:00
obscuren
0ee0094cc0
better block propagation
2015-03-23 22:59:19 +01:00
Taylor Gerring
e954c24af0
Implement RPC net_version
2015-03-23 18:06:05 +01:00
Taylor Gerring
60020add74
Merge pull request #551 from ethersphere/frontier/eth-version-exports
...
eth: fix protocol version/network id copied from config to Ethereum field
2015-03-23 18:00:54 +01:00
zelig
03cc5df9b7
eth: fix protocol version/network id copied from config to Ethereum field
2015-03-23 16:23:06 +00:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00
obscuren
8b1b9fc99d
Merge branch 'jsonlog' of https://github.com/ethersphere/go-ethereum into ethersphere-jsonlog
...
Conflicts:
eth/backend.go
2015-03-22 21:43:36 +01:00
obscuren
82956df523
Get work / submit work partially implemented.
...
* WIP missing arguments for submitting new work
* GetWork **done**
2015-03-22 15:38:01 +01:00
zelig
78cff9e3a4
independent flag for json structured logging
...
- logjson flag remove logformat flag
- passed to eth Config
- logsystem not a field of Ethereum
- LogSystem does not need to expose GetLogLevel/SetLogLevel
- message struct just implements more generic LogMsg interface
- LogMsg is a fmt.Stringer with Level()
- jsonMsg ([]byte) implements LogMsg
- remove "raw" systems
- move level logic inside StdLogSystem
- logsystems only print their kind of msg: jsonLogSystem prints jsonMsg, StdLogSystem prints stdMsg
2015-03-22 02:16:54 +00:00
Felix Lange
7c4ff3abb4
eth: enable whisper again
2015-03-21 00:50:20 +01:00
obscuren
f4e9638867
Merge branch 'ethersphere-frontier/blockpool' into conversion
2015-03-20 18:01:05 +01:00
obscuren
ecd10d2cf7
iterator returned wrong value
2015-03-20 18:00:54 +01:00
obscuren
54dac59285
wip
2015-03-20 17:42:09 +01:00
zelig
0578df9467
remove eth/wallet.go (only commented out content)
2015-03-20 10:41:41 +00:00
zelig
391e89d70a
use own total difficulty to limit best peer
...
- update blockpool td by subscribing to ChainHeadEvent
- if ahead of best peer, demote it
- addPeer now take own td as current td
- removePeer now take own td as current td
- add relevant tests to peers_test
- eth: backend now calls blockpool with eth.eventMux and chainManager.Td
2015-03-20 10:41:40 +00:00