Jeffrey Wilcke
245f30c59b
Merge pull request #1014 from fjl/p2p-dialer-3000
...
p2p: new dialer, peer management without locks
2015-05-26 05:06:00 -07:00
Péter Szilágyi
eafdc1f8e3
eth, eth/downloader: surface downloaded block origin, drop on error
2015-05-26 14:00:21 +03:00
Felix Lange
2f249fea44
eth: stop p2p.Server on shutdown
2015-05-25 01:17:14 +02:00
Jason Carver
97433f5ef1
expand acronym in log message from TD
...
to total difficulty
2015-05-22 19:12:59 -07:00
Jeffrey Wilcke
f1cc3619f5
Merge pull request #1055 from ethersphere/autodag
...
automatic DAG pregeneration for smooth epoch transitions
2015-05-21 09:01:57 -07:00
Jeffrey Wilcke
af28736bd0
Merge pull request #1064 from karalabe/downloader-attacks
...
Fix two additional download vulnerabilities
2015-05-21 09:00:12 -07:00
Péter Szilágyi
06a041589f
eth, eth/downloader: remove duplicate consts, bump hash fetch to 2K
2015-05-21 18:16:04 +03:00
zelig
bed80133e0
automatic DAG pregeneration for smooth epoch transitions
...
- backend: AutoDAG bool flag passed from cli/eth.Config to ethereum, autoDAG loop started if true
- backend: autoDAG loop start/stop, remove previous DAG
- cli: AutoDAG bool flag, off by default, but automatically ON if mining
- admin jsre: add startAutoDAG stopAutoDAG and makeDAG in miner section
- switch on/off DAG autogeneration when miner started/stopped on console
2015-05-21 15:53:42 +01:00
obscuren
207bd55751
eth: reduced max open files for LevelDB
2015-05-21 11:45:35 +02:00
Péter Szilágyi
52db6d8be5
eth/downloader: circumvent a forged block chain with known parent attack
2015-05-21 08:37:27 +03:00
Péter Szilágyi
e8b22b9253
eth/downloader: prevent a peer from dripping bad hashes
2015-05-21 08:07:58 +03:00
Jeffrey Wilcke
0300eef94d
Merge pull request #1048 from ethersphere/cli-fixes
...
CLI, JSRE admin and Solc improvements
2015-05-20 02:31:52 -07:00
Jeffrey Wilcke
6b83a0a589
Merge pull request #1050 from karalabe/handle-slow-download-tester
...
eth/downloader: fix test to it doesn't time out on a slow machine
2015-05-20 02:29:23 -07:00
Péter Szilágyi
3c8227b935
eth: fix odd method names in peer set
2015-05-20 10:34:45 +03:00
Péter Szilágyi
6f54eb6d9a
eth/downloader: fix test to it doesn't time out on a slow machine
2015-05-20 10:15:42 +03:00
zelig
22b694ee1e
solc now in ethereum, fixes solc path setting; setSolc() didnt work
2015-05-20 02:47:13 +01:00
Jeffrey Wilcke
46d6470c43
Merge pull request #1035 from karalabe/eth-threadsafe-peers
...
eth: make the peer-set thread safe
2015-05-19 08:50:38 -07:00
Péter Szilágyi
4755caeb2d
eth: remote a superfluous peerSet method
2015-05-18 21:35:42 +03:00
Péter Szilágyi
5422fe5125
eth: make the peer set thread safe
2015-05-18 21:33:37 +03:00
obscuren
c67424ecc8
core: parallelise nonce checking when processing blocks
...
ChainManager now uses a parallel approach to block processing where all
nonces are checked seperatly from the block processing process. This
speeds up the process by about 3 times on my i7
2015-05-18 13:59:22 +02:00
obscuren
c2ef8682fe
eth/downloader: moved start event
...
Start event has moved because it could possibly could stall the miner
2015-05-16 13:02:30 +02:00
obscuren
55d85d60fd
eth, cmd/geth: start mining from console respects CLI flag
2015-05-15 20:26:15 +02:00
Jeffrey Wilcke
82c0780f81
Merge pull request #996 from karalabe/fix-potential-crosscheck-race
...
eth/downloader: circumvent download race between crosscheck and hashes
2015-05-15 11:23:44 -07:00
Péter Szilágyi
412cf98bbc
eth/downloader: fix #992 , where tests may time out on a slow machine
2015-05-15 21:16:42 +03:00
Péter Szilágyi
f3ae8f50a5
eth/downloader: circumvent download race between crosscheck and hashes
2015-05-15 20:54:10 +03:00
Péter Szilágyi
4f0d88cb02
eth/downloader: fix cancel channel double close
2015-05-15 19:43:42 +03:00
Péter Szilágyi
5c1a7b965c
eth/downloader: circumvent a fake blockchain attack
2015-05-15 15:04:15 +03:00
Péter Szilágyi
b517967f86
eth/downloader: don't penalize for stale cross checks
2015-05-15 15:03:08 +03:00
Péter Szilágyi
83226762c2
eth, eth/downloader: detect and handle madeup hash attacks
2015-05-15 15:01:58 +03:00
Péter Szilágyi
9ad515d2dc
eth: drop a sync peer if it sends an invalid hash chain
2015-05-15 15:01:58 +03:00
Péter Szilágyi
72411eb24c
eth/downloader: circumvent hash reordering attacks
2015-05-15 15:01:58 +03:00
Péter Szilágyi
bcc2980179
eth/downloader: check sync after failed attacks
2015-05-15 15:01:58 +03:00
Péter Szilágyi
366e9627e8
eth/downloader: add a test for detecting missing blocks
2015-05-15 15:01:58 +03:00
Péter Szilágyi
cd2fb09051
eth, eth/downloader: prevent hash repeater attack
2015-05-15 15:01:58 +03:00
obscuren
cfb2b51b74
eth/downloader: fixed test
2015-05-15 12:47:32 +02:00
obscuren
b71091e337
eth, eth/downloader, miner: use download events to check miner start
2015-05-15 00:43:10 +02:00
Jeffrey Wilcke
060a07cf69
Merge pull request #974 from karalabe/downloader-fix-unknown-parent-attack
...
eth, eth/downloader: handle a potential unknown parent attack
2015-05-14 08:16:30 -07:00
Péter Szilágyi
fe87feccb1
eth/downloader: add a small additional check to the test
2015-05-14 15:44:54 +03:00
Péter Szilágyi
ebf1eb9359
eth/downloader: remove a previous leftover
2015-05-14 15:40:28 +03:00
Péter Szilágyi
3eda70c64c
eth, eth/downloader: remove parent verification from the downlaoder
2015-05-14 15:38:49 +03:00
Péter Szilágyi
a4246c2da6
eth, eth/downloader: handle a potential unknown parent attack
2015-05-14 15:24:18 +03:00
Jeffrey Wilcke
2b06fe3eff
Merge pull request #950 from karalabe/downloader-cancel-sync
...
eth/downloader: fix deliveries to check for sync cancels
2015-05-14 04:05:13 -07:00
Péter Szilágyi
910a6d4e46
eth/downloader: fix nil panic caused by wrong variable use
2015-05-13 17:25:01 +03:00
Péter Szilágyi
de3a71cafd
eth/downloader: remove a redundant sync progress check
2015-05-13 16:56:01 +03:00
Péter Szilágyi
48ee0777a5
eth/downloader: add a user sync notificaton
2015-05-13 16:03:05 +03:00
Péter Szilágyi
ec57aa64cd
eth/downloader: sync the cancel channel during cancel too
2015-05-13 14:01:08 +03:00
Péter Szilágyi
ee0c892303
eth/downloader: fix deliveries to check for sync cancels
2015-05-13 13:47:21 +03:00
Péter Szilágyi
d2d5dbc6fb
eth/downloader: fix active peer shadowing, polish func names
2015-05-13 13:13:43 +03:00
obscuren
8fe01b4bfa
eth: 100% tx propagation
2015-05-12 19:01:01 +02:00
Gustav Simonsson
8754f2b768
Fix common.Address / []byte type conversions
2015-05-12 17:19:39 +02:00
Gustav Simonsson
da9fe951da
Use common.Address type for accounts.Address
2015-05-12 17:19:39 +02:00
Jeffrey Wilcke
58d6ec689f
Merge pull request #933 from bas-vk/issue928
...
replaced path with platform aware filepath module
2015-05-12 08:23:46 -07:00
Bas van Kervel
b79dd188d9
replaced several path.* with filepath.* which is platform independent
2015-05-12 14:24:11 +02:00
obscuren
96d4a7d087
eth, ethdb: lower the amount of open files & improve err messages for db
...
Closes #880
2015-05-12 14:14:56 +02:00
obscuren
13f8f65a58
eth, ethdb: lower the amount of open files & improve err messages for db
...
Closes #880
2015-05-12 11:28:55 +02:00
obscuren
48bd48876c
eth, eth/downloader: moved pending queue error message to debug
2015-05-11 17:27:34 +02:00
obscuren
21e52efdfe
cmd/geth, miner, backend, xeth: Fixed miner threads to be settable
...
Miner threads are now settable through the admin interface (closes #897 )
and specify 0 CPU worker threads when eth_getWork is called (closes #916 )
2015-05-11 17:21:22 +02:00
Péter Szilágyi
064cf16099
eth/downloader: use count instead of peers, clearer
2015-05-11 17:21:22 +02:00
Péter Szilágyi
d37a2559b9
eth/downloader: revert to demotion, use harsher penalty
2015-05-11 17:21:22 +02:00
Péter Szilágyi
70c65835f4
eth/downloader: fix #910 , thread safe peers & polishes
2015-05-11 17:21:22 +02:00
obscuren
a2919b5e17
core, eth, miner: improved tx removal & fatal error on db sync err
...
* core: Added GasPriceChange event
* eth: When one of the DB flush methods error a fatal error log message
is given. Hopefully this will prevent corrupted databases from
occuring.
* miner: remove transactions with low gas price. Closes #906 , #903
2015-05-11 11:39:33 +02:00
obscuren
05715f27cf
eth: added a cancel method for the downloader
...
Added a cancel method to the downloader which gracefully shuts down any
active syncing process (hash fetching or block downloading) and resets
the queue and remove any pending blocks.
Issue with the downloader which would stall because of an active ongoing
process when an invalid block was found.
2015-05-10 00:34:07 +02:00
obscuren
cb1fa523e4
cmd/geth, cmd/mist, eth, flags: renamed loglevel to verbosity
2015-05-09 12:00:51 +02:00
Jeffrey Wilcke
0214cbe0fb
Merge pull request #863 from karalabe/ordered-block-download
...
eth/downloader: prioritize block fetch based on chain position, cap memo...
2015-05-08 08:19:53 -07:00
Péter Szilágyi
edad47bf0e
eth/downloader: fix leftover state between syncs
2015-05-08 17:39:03 +03:00
Péter Szilágyi
bd5720f480
eth, eth/downloader: handle sync errors a bit more gracefully
2015-05-08 15:22:48 +03:00
Péter Szilágyi
9d188f73b5
eth, eth/downloader: make synchronize thread safe
2015-05-07 21:07:20 +03:00
Péter Szilágyi
4d5a719f25
cmd, eth, p2p: introduce pending peer cli arg, add tests
2015-05-07 15:30:56 +03:00
Péter Szilágyi
43901c9282
eth/downloader: fix priority queue reset, add throttling test
2015-05-07 14:40:50 +03:00
Péter Szilágyi
45f8304f3c
eth/downloader: fix expiration not running while fetching
2015-05-07 12:59:19 +03:00
Péter Szilágyi
4800c94392
eth/downloader: prioritize block fetch based on chain position, cap memory use
2015-05-07 10:57:34 +03:00
obscuren
062fa049d0
fixed merge issue
2015-05-06 22:54:21 +02:00
Jeffrey Wilcke
24d44f35f2
Merge pull request #791 from fjl/discover-sha3-distance
...
p2p/discover: sha3-based node distance
2015-05-06 13:48:57 -07:00
Gustav Simonsson
b1cc9cdc74
Integrate new ethash API and change geth makedag cmd
2015-05-05 08:24:15 +02:00
Péter Szilágyi
4accc187d5
eth, p2p: add trusted node list beside static list
2015-05-04 13:59:51 +03:00
obscuren
1470b22e90
downloader: hash downloading recovery
...
If a peer fails to respond (disconnect, etc) during hash downloading
switch to a different peer which has it's current_hash in the queue's
peer set.
2015-05-03 16:27:03 +02:00
obscuren
ba2236fa51
cmd/geth, eth: bump version & tmp fix for incorrect TD peers
2015-05-03 14:11:47 +02:00
obscuren
f2a2b2ac70
eth/downloader: put back hashes on block overflow error
2015-05-03 14:11:00 +02:00
obscuren
493181ea09
eth/downloader: changed has to blockHashes for chain linking
2015-05-03 14:10:31 +02:00
obscuren
25bc88113f
eth/downloader: added additional tests
2015-05-03 14:09:33 +02:00
obscuren
c6ad3aec05
eth,core: changed NewTicker to Tick
2015-05-03 13:27:37 +02:00
obscuren
016f152b36
eth, eth/downloader: Moved block processing & graceful shutdown
...
The downloader is no longer responsible for processing blocks. The
eth-protocol handler now takes care of this instead.
Added graceful shutdown during block processing. Closes #846
2015-05-01 15:58:44 +02:00
Péter Szilágyi
413ace37d3
eth, p2p: rename trusted nodes to static, drop inbound extra slots
2015-04-30 19:32:48 +03:00
obscuren
8595198c1b
eth/downloader: delete blocks from queue
2015-04-30 17:51:47 +02:00
obscuren
15873fafc0
core: added a wait group to chain manager for graceful shutdown
2015-04-30 17:50:47 +02:00
Péter Szilágyi
701591b403
cmd, eth, p2p: fix review issues enumerated by Felix
2015-04-30 16:15:29 +03:00
Péter Szilágyi
679c90b873
cmd/geth, cmd/utils, eth: internalize trusted node config file
2015-04-30 16:03:47 +03:00
Péter Szilágyi
de0549fabb
cmd/geth, cmd/mist, cmd/utils, eth, p2p: support trusted peers
2015-04-30 16:03:10 +03:00
Felix Lange
fc747ef4a6
p2p/discover: new endpoint format
...
This commit changes the discovery protocol to use the new "v4" endpoint
format, which allows for separate UDP and TCP ports and makes it
possible to discover the UDP address after NAT.
2015-04-30 14:57:33 +02:00
obscuren
28b39267d9
core, eth: verify td of received blocks
2015-04-30 13:50:59 +02:00
obscuren
9b6e8f6195
eth, eth/downloader: remove bad peers from peer set
...
Peers in the eth protocol handler are now being ignored for catch up.
2015-04-30 12:38:16 +02:00
obscuren
04c209980b
eth: rely on p2p to determine block propagation
2015-04-29 22:50:58 +02:00
obscuren
9e63798d03
core/types, eth: meassure and display propagation times
2015-04-29 19:55:30 +02:00
obscuren
f8c27d7159
eth/downloader: drop block
2015-04-29 19:55:04 +02:00
obscuren
c930045834
core: fixed tetst to reflect (int, error) return by insertChain
2015-04-29 15:27:04 +02:00
obscuren
dfbf580354
eth/downloader: ignore orphan blocks in the downloader.
...
When blocks have been sorted and are being processed, orphan blocks
should be ignored and thrown out. The protocol handler is responsible
for downloading blocks which have missing parents.
2015-04-29 14:49:37 +02:00
obscuren
735b029db9
core: return the index of the block that failed when inserting a chain
2015-04-29 14:00:24 +02:00
obscuren
13364a2dcf
eth/downloader: reset the chain when parent is missing during processing
2015-04-29 13:40:39 +02:00
obscuren
4b7bdc3766
eth: check if downloader is busy before showing log message
2015-04-29 12:51:05 +02:00
Jeffrey Wilcke
91cb8cdd2a
Merge pull request #793 from karalabe/discovery-node-cache
...
p2p/discover: persistent node database
2015-04-28 03:40:10 -07:00
Péter Szilágyi
19bc4624ea
eth: pull in a lost merge change
...
Ref: 21c4c155ee
2015-04-28 10:49:04 +03:00
Jeffrey Wilcke
8d09f95bc7
Merge pull request #805 from obscuren/download_improvements
...
eth, eth/downloader: improve downloader and remove asynchronousness
2015-04-24 15:56:17 -07:00
obscuren
7ce3d06402
eth/downloader: removed update loop and synch channel
2015-04-24 18:28:46 +02:00
obscuren
405720b218
xeth, core, cmd/utils: Transaction can not be over block gas limit
...
Transactions will be invalidated when the tx.gas_limit > block.gas_limit
2015-04-24 17:48:13 +02:00
Péter Szilágyi
8646365b42
cmd/bootnode, eth, p2p, p2p/discover: use a fancier db design
2015-04-24 18:04:41 +03:00
obscuren
1681ee9883
eth: added a few informative messages regarding downloading
2015-04-24 17:03:09 +02:00
obscuren
a9e4b96573
eth/downloader: fixed tests
2015-04-24 15:56:18 +02:00
obscuren
d84c2202e7
eth, eth/downloader: simplified synchronisation process
2015-04-24 15:38:10 +02:00
obscuren
bd9c76097d
eth/downloader: removed peer td management and best peer selection
2015-04-24 15:37:07 +02:00
obscuren
31f82eb334
eth, eth/downloader: don't require td on downloader. Fixed tests
2015-04-24 15:04:58 +02:00
obscuren
b86e7526e1
eth, eth/downloader: moved peer selection to protocol handler
2015-04-24 14:40:32 +02:00
zelig
be843959cb
backend: start miner in its go routine (no wait to generate DAG)
2015-04-24 12:45:11 +01:00
Péter Szilágyi
6def110c37
cmd/bootnode, eth, p2p, p2p/discover: clean up the seeder and mesh into eth.
2015-04-24 11:33:55 +03:00
Péter Szilágyi
5f735d6fce
cmd, eth, p2p, p2p/discover: init and clean up the seed cache
2015-04-24 11:23:20 +03:00
obscuren
516f49c812
eth: cleanup
2015-04-23 23:30:25 +02:00
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
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