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
zelig
50661f0e68
peer suspension to disallow reconnect after disconnect on fatal error for set period (PeerSuspensionInterval)
2015-03-20 10:41:40 +00:00
Felix Lange
e80dda6051
eth, whisper: adapt for RLP encoder switch in package p2p
...
I have rewritten the protocol test to use p2p.MsgPipe because
p2p.NewMsg is gone.
2015-03-19 15:18:31 +01:00
obscuren
f0bb136099
Merge branch 'develop' into conversion
2015-03-18 18:42:01 +01:00
obscuren
0a1eeca41e
conversions. -compilable-
2015-03-18 13:00:01 +01:00
zelig
ca8d184173
fix eth tests
2015-03-18 16:31:49 +07:00
zelig
b6aa88c099
private network support
...
- protocolversion, networkid global int flags to cli and mist
- fix bug with protocolversion check using wrong db
- log protocolversion & networkid in backend
2015-03-18 14:44:58 +07:00
zelig
7dbbe1bedc
eth/backend: remove spurious and incorrent PeerInfo()
2015-03-18 04:01:47 +07:00
zelig
1872418316
eth: remove disused peer_util.go
2015-03-18 03:59:21 +07:00
zelig
b3e133dd15
Merge branch 'frontier/js' into frontier/nodeadmin.js
2015-03-16 22:50:29 +07:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
zelig
8ad0f1b8a3
eth:
...
- NodeInfo, PeerInfo types, PeersInfo(), NodeInfo() in eth/backend to support node admin IF
- start net only if MaxPeers > 0, close extraDb in Stop()
- defer s.extraDb.Close()
2015-03-15 13:39:52 +07:00
obscuren
d9966d6158
merge
2015-03-14 23:37:21 +01:00
Felix Lange
e463479b6c
eth: add ResetWithGenesisBlock
...
This depends on a change in ethash which exposes UpdateCache.
2015-03-13 18:41:09 +01:00
Felix Lange
6f8a2d6b84
eth: add hook for database creation
2015-03-13 18:41:09 +01:00
obscuren
b663e8b29a
Merge branch 'rpcfrontier' into develop
2015-03-13 16:36:27 +01:00
obscuren
aa9f981d5f
Bump protocol version 58
2015-03-13 13:52:57 +01:00
Taylor Gerring
d4ed66c83d
Add web3_clientVersion
2015-03-12 19:20:46 -05:00
obscuren
ef6706696c
Add additional extra database for non-protocol related data
...
* Add transaction to extra database after a successful block process
2015-03-12 14:50:35 +01:00
Felix Lange
d7b5a87b3b
miner: provide coinbase when starting the miner
...
This avoids having to query the coinbase when creating the miner, which
in turn eliminates the dreaded startup error when no accounts are set
up. Later, this will also allow us to simply restart the miner when the
user picks a different coinbase.
This causes a lot of changes in other packages. These are included in
this commit because they're impossible to separate.
2015-03-11 23:43:27 +01:00
Felix Lange
269cfbb8ac
Merge branch origin/develop into accounts-integration
...
Conflicts:
cmd/blocktest/main.go
cmd/mist/debugger.go
cmd/utils/cmd.go
2015-03-10 17:14:31 +01:00
Felix Lange
9d4e1e8f8b
eth: return account errors directly
2015-03-10 15:42:58 +01:00
Felix Lange
9b3ae1fdb7
eth: fix tests
2015-03-10 02:34:52 +01:00
Felix Lange
9bf513e993
Merge ethereum/poc-9 into accounts-integration
...
Conflicts:
cmd/utils/cmd.go
cmd/utils/flags.go
core/manager.go
eth/backend.go
rpc/http/server.go
xeth/xeth.go
2015-03-09 23:25:46 +01:00
Felix Lange
63758db379
eth: delete unused RpcServer field
2015-03-09 23:08:46 +01:00
Gustav Simonsson
27c42ea934
Add empty total difficulty to test blocks and clean up stopping the node
2015-03-09 18:03:35 +01:00
Felix Lange
fb53a9362e
accounts: AccountManager -> Manager
2015-03-08 01:58:35 +01:00
Taylor Gerring
fca652eeea
Fix logger import path
2015-03-07 10:48:38 -06:00
Felix Lange
d66f93cecd
accounts, core, eth, xeth: use account manager for everything
...
The account manager is now responsible for picking the
default account and the coinbase.
2015-03-07 12:38:33 +01:00
obscuren
22b493a6ff
Fixed tests
2015-03-06 20:10:59 +01:00
obscuren
cd856cb213
Separated block db from state db. Partial fix for #416
2015-03-06 18:26:16 +01:00
obscuren
ed84b58af5
Debug option for VM & command line flag
2015-03-06 16:58:52 +01:00
obscuren
548e104171
Merge branch 'poc-9' of github.com-obscure:ethereum/go-ethereum into poc-9
2015-03-06 16:40:21 +01:00
Gustav Simonsson
bc45e5c6de
Integrate eth_accounts and eth_transact to use new account manager
...
* Add from to eth_transact / xeth.Transact and add static pass in lieu
of integrating with native Mist window for user passphrase entry
* Make eth_accounts return AccountManager.Accounts()
* Add a Generate Key menu item in Mist
2015-03-06 13:10:42 +00:00
Felix Lange
e64f727529
Merge pull request #433 from fjl/newcli
...
Improved CLI
2015-03-06 14:02:16 +01:00
obscuren
23ad2f02c0
debug comments & pow handling
2015-03-06 10:22:40 +01:00
Felix Lange
bdba044a80
ethutil: remove Config variable
...
Various functions throughout the codebase used it to grab settings. This
has to stop because I want to use them without reading the config file.
These functions can now be used without reading the config first:
* ethdb.NewLDBDatabase
* ethrepl.NewJSRepl
* vm.New
2015-03-06 02:46:56 +01:00
obscuren
ba0c41436c
Merge branch 'p2p-handshake-2' of https://github.com/fjl/go-ethereum into fjl-p2p-handshake-2
2015-03-05 17:21:32 +01:00
obscuren
c47866d251
Miner fixes and updates (including miner)
2015-03-05 09:14:58 +01:00
Felix Lange
215c763d53
eth, p2p: delete p2p.Blacklist
...
It is unused and untested right now. We can
bring it back later if required.
2015-03-04 16:54:36 +01:00
Felix Lange
6e7e5d5fd5
eth, whisper: fix msg.Payload reads
2015-03-04 13:25:01 +01:00
obscuren
15f491e500
Clean up REPL
2015-03-04 12:18:26 +01:00
obscuren
bb152612e0
Merge branch 'develop' into poc-9
...
Conflicts:
cmd/utils/cmd.go
2015-03-03 20:34:48 +01:00
obscuren
f0b2ea64fc
Merge branch 'jsonlogs' of https://github.com/ethersphere/go-ethereum into ethersphere-jsonlogs
...
Conflicts:
eth/block_pool.go
eth/block_pool_test.go
eth/protocol_test.go
miner/worker.go
2015-03-03 20:30:05 +01:00
Jeffrey Wilcke
253eb778d1
Merge pull request #411 from ethersphere/readme
...
[WIP] Update Readme
2015-03-03 20:17:51 +01:00
Jeffrey Wilcke
988391fc37
Merge pull request #409 from tgerring/jsonlogs
...
Updated JSON log events
2015-03-03 20:16:55 +01:00
obscuren
313fe3861b
fixed pow stuff
2015-03-03 17:55:23 +01:00
zelig
fc47f0f27b
add eth.chain.received.new_block log to eth protocol
2015-03-03 15:43:05 +07:00
zelig
7e224b6834
db name database -> blockchain in backend error message
2015-03-03 13:22:19 +07:00
Taylor Gerring
a75af474f7
Fix logger import in tests
2015-03-02 08:27:26 -06:00
Taylor Gerring
e31ec57f88
Add event eth.tx.received
2015-03-02 08:17:09 -06:00
Taylor Gerring
0976c3024f
Don't import logger as ethlogger
2015-03-02 08:15:28 -06:00
Taylor Gerring
cfe0370280
Remove Websockets RPC transport
2015-03-01 16:19:06 +01:00
obscuren
73c52d1677
Merge branch 'ethersphere-blockpool2' into poc-9
2015-02-28 20:52:57 +01:00
obscuren
cc5c8a444d
Report proper database directory. Closes #397
2015-02-26 20:36:54 +01:00
zelig
16ecda951b
integrate blockpool into eth
...
- remove blockpool code
- remove blockpool integration test (kinda embarrassing)
- remove errors.go
2015-02-25 20:38:37 +07:00
Jeffrey Wilcke
59a86d3171
Merge pull request #359 from fjl/p2p-identity
...
Persistent Node Key
2015-02-22 13:27:53 +01:00
obscuren
cc43ab9a81
Minor updates for release
2015-02-20 18:05:46 +01:00
Felix Lange
e968928613
eth: persist node key between sessions ( #304 )
2015-02-20 15:26:50 +01:00
Felix Lange
e282ad25a8
eth: add poc-8.ethdev.com as second default bootstrap node
2015-02-20 15:24:43 +01:00
obscuren
d8ac267f41
dirty tracking for state objects fixed
2015-02-20 14:01:30 +01:00
Jeffrey Wilcke
765740b829
Merge pull request #345 from maran/feature/minerthreads
...
Implement command line argument to set the amount miner threads
2015-02-19 22:37:13 +01:00
Taylor Gerring
4322632c59
Merge pull request #339 from tgerring/jsonlog
...
JSON log updates
2015-02-19 12:25:45 +01:00
Maran
5aff8bfb59
Implement command line argument to set the amount of agents created by the miner
...
Defaults to the amount of cores available on the CPU
2015-02-19 10:38:36 +01:00
obscuren
05b1ec008b
Disabled ability to disable whisper. Closes #334
2015-02-18 11:42:01 +01:00
Taylor Gerring
f499f343ba
Update JSON Log types
2015-02-18 10:52:23 +01:00
obscuren
5ec8c5f71b
added bootnode back in
2015-02-17 23:14:10 +01:00
obscuren
7fc9b5b3f9
Changed to ChainEvent and fixed a nil pointer in transact
2015-02-17 22:20:47 +01:00
obscuren
567428fb34
Filter and mutex locks added
2015-02-17 16:12:55 +01:00
obscuren
8135752a32
"centralised" mining to backend. Closes #323
2015-02-17 12:24:58 +01:00
Felix Lange
1c1a3033be
eth: add default bootnode
2015-02-13 21:41:13 +01:00
obscuren
bde3ff16ad
merge
2015-02-13 16:02:37 +01:00
obscuren
76fa75b394
wip
2015-02-13 15:35:54 +01:00
obscuren
a5ea21cd85
merge
2015-02-13 15:05:56 +01:00
Felix Lange
d0a2e655c9
cmd/ethereum, cmd/mist, eth, p2p: use package p2p/nat
...
This deletes the old NAT implementation.
2015-02-13 11:39:31 +01:00
Taylor Gerring
db24fb792c
Move standard fields to LogEvent
2015-02-11 18:49:00 +01:00
Taylor Gerring
3c40eb9e5a
Temporarily skip broken TestVerifyPoW
2015-02-11 13:47:03 +01:00
Taylor Gerring
3d6fd601c5
Move event names within each object
2015-02-11 12:45:41 +01:00
Taylor Gerring
d53e5646ec
Use strongly-typed objects
2015-02-10 19:21:13 +01:00
Felix Lange
a21b30c901
eth: remove unused Ethereum sync fields
2015-02-10 13:30:07 +01:00
Felix Lange
a3cd218719
cmd/mist, cmd/ethereum: add CLI arguments for node key
2015-02-10 12:30:09 +01:00
Felix Lange
f1ebad2508
eth: don't warn if no BootNodes are specified
2015-02-09 16:17:07 +01:00
Felix Lange
028775a086
cmd/ethereum, cmd/mist: add flag for discovery bootstrap nodes
2015-02-07 00:52:49 +01:00
Felix Lange
2cf4fed11b
cmd/mist, eth, javascript, p2p: use Node URLs for peer suggestions
2015-02-07 00:46:56 +01:00
Felix Lange
56f777b2fc
cmd/ethereum, cmd/mist, core, eth, javascript, xeth: fixes for new p2p API
2015-02-06 00:03:59 +01:00
Jeffrey Wilcke
99a1551b20
Merge pull request #287 from ethereum/system-testing
...
Seednode CLI param updates
2015-02-05 11:09:13 -08:00
obscuren
57f95c1dc7
fixed test
2015-02-04 17:35:49 -08:00
obscuren
1d519854e2
Propagate known transactions to new peers on connect
2015-02-04 17:28:54 -08:00
obscuren
30fa30bd4a
Docs & old code removed
2015-02-02 20:02:00 -08:00
Taylor Gerring
1f4ed49b4c
Move hardcoded seed node address to app flag
...
Replaces functionality `-seed=true` with `-seed="ip:port"`
2015-02-02 13:04:00 -06:00
obscuren
8ccde784f9
Added (disabled) Jit validation
2015-02-01 15:30:29 +01:00
obscuren
32fbc0d334
Merge branch 'develop' into qt5.4
2015-01-28 21:36:53 +01:00
obscuren
1337a8dfb1
upped pv
2015-01-28 21:34:08 +01:00
obscuren
7f638f0b2d
moving to a better xeth
2015-01-28 18:14:28 +01:00
Taylor Gerring
5f50fe7a4a
Update CLI to use new Websocket RPC
...
Use “wsport” flag to change default port
2015-01-27 12:29:08 -06:00
Taylor Gerring
d790229a33
Move HTTP transport to sub package of RPC
2015-01-27 12:29:07 -06:00
Taylor Gerring
0aa76d3e5b
Rename jsonlogger method
2015-01-21 11:45:30 -06:00
Taylor Gerring
1077109e11
Add JsonLogger type
2015-01-21 10:57:29 -06:00
Taylor Gerring
bdf99e0981
Add LogFormat flag
2015-01-21 10:17:07 -06:00
obscuren
9b509f6478
Print error instead of returning for seed node err
...
Returning an error would indicate a complete failure initialising the
Ethereum backend. Instead we should print the message and continue.
2015-01-19 11:20:12 +01:00
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