Jeffrey Wilcke
b6ec1c720f
Merge pull request #797 from tgerring/bootnodes
...
Bootnodes update
2015-04-23 11:53:18 -07:00
Taylor Gerring
24995f9ab7
Updated bootnodes
...
Update pub key for EU node and add new SA node
2015-04-23 13:06:07 -05:00
Bas van Kervel
c273ed7d82
Moved leveldb update loop to eth/backend
...
change order of block insert and update LastBlock
bugfix, wrong hash stored in blockDb
2015-04-23 17:58:58 +02:00
obscuren
d3be1a2719
eth: moved mined, tx events to protocol-hnd and improved tx propagation
...
Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.
Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler.
2015-04-23 11:50:12 +02:00
obscuren
5cb5df003d
eth: start tx pool in a goroutine
2015-04-23 11:50:11 +02:00
Jeffrey Wilcke
1dc91975ad
Merge pull request #756 from Gustav-Simonsson/block_test_improvements
...
Block test improvements
2015-04-21 03:09:35 -07:00
obscuren
36ec42e50c
Merge branch 'frontier/natspec' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec
2015-04-20 18:08:14 +02:00
obscuren
45da3e17e2
core: added chain head reset to known block
2015-04-20 12:29:02 +02:00
zsfelfoldi
c4b7d4d3f7
NatSpec cli option, resolver tests passing
2015-04-19 20:57:49 +01:00
obscuren
5dd56bb474
geth: admin download status
2015-04-19 21:46:19 +02:00
obscuren
ed07ffcde5
downloader: fixed tests with low ttl
2015-04-19 17:37:01 +02:00
obscuren
dcf1a1988a
moved
2015-04-19 17:14:15 +02:00
obscuren
8f3a7e41de
Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum into fjl-rlp-size-validation
...
Conflicts:
eth/protocol.go
2015-04-19 17:07:40 +02:00
obscuren
4683f9c0a7
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
2015-04-19 13:33:39 +02:00
obscuren
cce4158cfc
Removed debug println
2015-04-19 13:33:14 +02:00
obscuren
3d497be9bd
eth: drop blocks with low TD
2015-04-19 13:31:37 +02:00
obscuren
c58918c84a
downloader: moved chunk ignoring. Fixes issue with catching up
2015-04-19 13:30:34 +02:00
Jeffrey Wilcke
9ec56637f9
Merge pull request #749 from fjl/fix-nodekey-persistence
...
Fix p2p node key persistence
2015-04-19 01:56:56 +02:00
obscuren
4340996572
eth: temp 100% block propagation because of the current state of the net
2015-04-19 01:40:01 +02:00
obscuren
5c59d95532
downloader: defer peer reset after download
2015-04-19 01:39:37 +02:00
Felix Lange
da4a0e0555
eth: fix node key persistence
...
crypto.LoadECDSA has been modified to expect hex data.
The key was being saved as raw bytes, causing the file
to be rewritten on every start.
2015-04-19 01:28:41 +02:00
obscuren
86ecdcd5ff
downloader: reset hashTtl on receive
2015-04-19 00:15:05 +02:00
obscuren
434dea3caf
eth: removed debug messages to stdout
2015-04-19 00:03:26 +02:00
Felix Lange
2ce21cefdc
eth: use NewDB hook also for extra DB
...
(cherry picked from commit d5083033f15bb815a6212eddae16a7125db58738)
2015-04-18 23:59:31 +02:00
obscuren
50e096e627
downloader: don't remove peers. keep them around
2015-04-18 23:56:08 +02:00
obscuren
a1d97ea4db
typo
2015-04-18 20:35:49 +02:00
obscuren
6830ddb659
downloader: free up peers from work when the downloader resets
2015-04-18 20:25:55 +02:00
obscuren
7c5d50f627
downloader: throw an error if there are no peers available for download
...
If all peers have been tried during the block download process and some
hashes are unfetchable (available peers > 0 and fetching == 0) throw an
error so the process can be aborted.
2015-04-18 19:30:29 +02:00
obscuren
78e37e98e7
downloader: fixed a race condition for download status
2015-04-18 19:14:25 +02:00
obscuren
0d536734fe
eth: adapted to new synchronous api of downloader's AddBlock
2015-04-18 18:57:59 +02:00
obscuren
c2c24b3bb4
downloader: improved downloading and synchronisation
...
* Downloader's peers keeps track of peer's previously requested hashes
so that we don't have to re-request
* Changed `AddBlock` to be fully synchronous
2015-04-18 18:55:13 +02:00
obscuren
60613b57d1
downloader: make sure that hashes are only accepted from the active peer
2015-04-18 17:35:03 +02:00
obscuren
8244825bbf
downloader: reset the queue if a peer response with an empty hash set
2015-04-18 15:14:12 +02:00
obscuren
eef4776b5b
eth: ignore NewBlockMsg with lower td
2015-04-18 14:25:22 +02:00
obscuren
8f873b762b
downloader: all handlers check for isBusy
2015-04-18 03:15:26 +02:00
obscuren
a6c0a75f9a
eth: fixed proper BroadcastBlock for mined blocks
2015-04-18 02:38:13 +02:00
obscuren
12e8d9c4dd
eth: listen for mined blocks and propagate using the protocol manager
2015-04-18 02:27:37 +02:00
obscuren
ecc74d76cc
eth: drop blocks that are known
2015-04-18 02:24:24 +02:00
obscuren
cc436c4b28
eth: additional cleanups to the subprotocol, improved block propagation
...
* Improved block propagation by sending blocks only to peers to which, as
far as we know, the peer does not know about.
* Made sub protocol its own manager
* SubProtocol now contains the p2p.Protocol which is used instead of
a function-returning-protocol thing.
2015-04-18 02:21:07 +02:00
obscuren
c2f410214c
eth: began split up of peers and protocol manager
2015-04-18 01:11:09 +02:00
obscuren
2339ee9910
Merge branch 'develop' into downloader-proto
...
Conflicts:
eth/downloader/downloader.go
2015-04-18 01:10:32 +02:00
Felix Lange
56a48101dc
cmd/rlpdump, cmd/utils, eth, p2p, whisper: use rlp input limit
2015-04-17 14:45:09 +02:00
obscuren
73eb8e8c20
eth: basic implementation of the downloader
2015-04-17 13:54:18 +02:00
obscuren
eac2df02d1
downloader: fixed a typo
2015-04-17 00:11:45 +02:00
obscuren
205378016f
downloader: added demotion / promotion in prep. for rep. system
2015-04-16 02:16:33 +02:00
obscuren
eda10c7317
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 01:29:32 +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
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