Commit Graph

194 Commits

Author SHA1 Message Date
Jason Carver f1ce5877ba do not export ring buffer struct 2015-05-23 12:09:59 -07:00
Jason Carver 8a7fb5fd34 do not export constant for when to log a deep block you mined 2015-05-23 12:09:52 -07:00
Jason Carver ba295ec6fe Log locally mined blocks, after they are 5-deep in the chain
This helps determine which blocks are unlikely to end up as uncles

 * Store the 5 most recent locally mined block numbers
 * On every imported block, check if the 5-deep block num is in that store
 * Also confirm that the block is signed with miner's coinbase

Why not just check the coinbase? This log is useful if you're running
multiple miners and want to know if *this* miner is performing well.
2015-05-22 12:53:32 -07:00
obscuren 054abe20b8 miner: moved break INSIDE the switch ... 2015-05-21 19:53:27 +02:00
obscuren 3ea9868b65 miner: on downloader.Done/Fail stop immediately. Ignore pending evs 2015-05-21 18:14:32 +02:00
obscuren 907848997b miner: one-shot update loop 2015-05-21 11:57:00 +02:00
zelig f9abcee0f9 fix solc tests unskip 2015-05-20 02:47:13 +01:00
Jeffrey Wilcke bd0c0a633b Merge pull request #1022 from obscuren/parallel_nonce_checks
Parallelise nonce checks
2015-05-18 11:13:53 -07:00
obscuren bc5e60cd63 miner: stale block notification 2015-05-18 18:16:53 +02:00
Bas van Kervel 60561cdca2 fixed issue when miner is not stopping af stop command 2015-05-18 16:09:01 +02:00
Bas van Kervel 7778740315 fixed race condition in miner 2015-05-18 15:13:58 +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
Vitalik Buterin fe64a13cea Adjust miner coinbase and not just miner worker coinbase 2015-05-16 12:56:06 +02:00
obscuren 741fa8ca9c miner: mutex locks on cpu agent. Closes #1007 2015-05-16 12:55:56 +02:00
obscuren d3e84cc8b4 miner: properly check for mining operation on Register 2015-05-15 20:26:15 +02:00
obscuren 5cec1aad15 core, miner: fork resolving and restart miner after sync op
Fork resolving fixes #940
2015-05-15 20:26:15 +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 c7a13c9be8 Merge pull request #969 from Gustav-Simonsson/ethash_improve_hashrate_update2
Make read of ethash hashrate atomic and update ethash godep
2015-05-14 04:05:27 -07:00
Vitalik Buterin bdec8c3e41 Combined two loops 2015-05-14 05:02:15 -04:00
Gustav Simonsson b24f16fa53 Make read of ethash hashrate atomic and update ethash godep 2015-05-14 04:05:49 +02:00
Vitalik Buterin fca3333f7f Created separate family and ancestors environment objects 2015-05-13 20:46:23 -04:00
Gustav Simonsson 2c1b0ff17e Update key store to new spec but keep address field for now
* Also fix address types post-rebase
2015-05-12 17:22:17 +02:00
obscuren 97dd4551ef miner, cmd/geth: miner will not ignored owned account transactions
Miner does not ignore low gas txs from accounts that are owned.
2015-05-11 21:47: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
Taylor Gerring 8e77f81586 Return 32-byte hashes from GetWork
Ensures that the Get Work results are a consistent length. Closes #917
2015-05-11 10:11:33 -04:00
obscuren 6ecba12650 miner: added log message for mining operation. #912 2015-05-11 11:39:33 +02:00
obscuren 3c6c891680 core: optimise pending transaction processing 2015-05-11 11:39:33 +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 7eed47fad5 miner, tests: fixed block test 2015-05-09 12:51:40 +02:00
obscuren e3a08875f6 miner: start/stop mutex locked. Closes #887 2015-05-09 12:32:36 +02:00
obscuren a7705fc203 miner: moved gasprice to non-method 2015-05-09 12:13:46 +02:00
obscuren 13ddf20bd2 miner, cmd/geth: settable gas price from flags and console
* --gasprice "<num>" flag
* admin.miner.setGasPrice( <num> )
2015-05-09 12:04:00 +02:00
Gustav Simonsson b1cc9cdc74 Integrate new ethash API and change geth makedag cmd 2015-05-05 08:24:15 +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 145e02fc54 core, miner: added value check on tx validation
* Changed CalcGasLimit to no longer need current block
* Added a gas * price + value on tx validation
* Transactions in the pool are now re-validated once every X
2015-04-26 11:19:40 +02:00
obscuren 48135657c4 miner: show error message for gas limit per account 2015-04-23 11:50:12 +02:00
obscuren 4feb5f6f9c xeth, miner: updated some logging 2015-04-23 11:50:11 +02:00
Felix Lange 96e2b6bc07 miner: use 32bit atomic operations
64bit atomic operations are not available on all 32bit platforms.
2015-04-22 12:31:19 +02:00
obscuren 1d6d42919e miner: ignore a tx's transactor after a gas limit has been returned
When worker encounters a gas limit error, subsequent txs should be
ignored from that particular account. This will prevent:

1. Nonce errors been thrown all around
2. The "Known tx" error. Closes #719
3. Repeated contract address. Closes #731
2015-04-21 11:26:04 +02:00
obscuren fa729a0c55 miner: go fmt 2015-04-20 00:41:50 +02:00
Vitalik Buterin 5caf1aa1a9 Switched getWork third output from difficulty to target 2015-04-19 17:42:21 -04:00
obscuren 2cc9211269 miner: fixed remote miner current work 2015-04-19 21:58:58 +02:00
obscuren 2c1a6a349b miner: removed default timer & update dag when threads > 0 2015-04-19 21:45:40 +02:00
Fabian Vogelsteller 576393550d add extra space to miner icon 2015-04-17 15:00:37 +02:00
obscuren ec6cbb914b miner: start a newly registered agent if the miner is running. Closes #681 2015-04-15 17:04:22 +02:00
obscuren eaf73b55bc miner: moved bad uncle logging to ridiculous log level. Closes #720 2015-04-15 12:12:20 +02:00
obscuren 4f3c169b4e miner: don't break loop when encountering gas limit reach err
Processing transactions should continue when a transaction throws a gas
limit reached error. Other transactions may actually succeed.
2015-04-13 22:58:53 +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 1c872ddf4b Changed how logs are being recorded
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654.
2015-04-08 17:15:45 +02:00
obscuren d09d2b96fc fixed stop of miner 2015-04-08 00:30:23 +02:00
obscuren 688d118c7e Updated logging 2015-04-07 14:57:04 +02:00
obscuren 7b6a8cc9ae Fixed pending states 2015-04-07 12:32:55 +02:00
obscuren 9c55576c7b Block header changed & console miner control
* miner control moved to `admin.miner`
* miner option to set extra data
* block extra now bytes
2015-04-05 18:59:18 +02:00
obscuren 50edd4243e removed hash rate from info log. Added hashrate js func 2015-04-05 13:05:10 +02:00
obscuren 053d5552ab Updated logging 2015-04-04 23:04:19 +02:00
obscuren 2683aac9b0 Make sure we're not mining on an invalid TS 2015-04-04 13:27:17 +02:00
obscuren 60da9a1289 Put the old hammer back in <3 2015-04-02 13:03:33 +02:00
obscuren 3f4c1aaf01 info => debug 2015-04-02 12:58:17 +02:00
obscuren b8124ec791 Removed old (unused) argument 2015-04-01 23:58:26 +02:00
obscuren 344b3556eb Fixed uncle rewards in miner
The uncle rewards were changed in the block processor. This change will
reflect those changes in the miner as well.
2015-04-01 21:18:41 +02:00
obscuren d36501a6e5 Fixed miner
* Miners could stall because the worker wasn't aware the miner was done
2015-03-26 17:45:03 +01:00
obscuren e5a0a0ef48 Moved output to debug 2015-03-26 01:02:51 +01:00
obscuren 950b4a68c8 Improved miner recovery
* In case of uncle mining (e.g. same TS) the miner would stop if all
  threads happened to mine a potential uncle
2015-03-25 13:51:12 +01:00
obscuren eab8f7355d Event fixes for miner 2015-03-24 13:37:38 +01:00
obscuren a59ea7ce29 Changed miner
* Instead of delivering `Work` to the `Worker`, push a complete Block to
  the `Worker` so that each agent can work on their own block.
2015-03-24 10:34:06 +01:00
obscuren c8e9ca0483 fixed bad uncles 2015-03-23 18:27:05 +01:00
obscuren 0330077d76 moved state and vm to core 2015-03-23 16:59:09 +01:00
obscuren 9be7853e34 Fixed issues with stalled remote miner 2015-03-23 16:35:44 +01:00
obscuren dc3a9379f5 logging for possible uncles 2015-03-23 16:14:33 +01:00
obscuren 6657d544db Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop 2015-03-23 12:12:53 +01:00
obscuren 0be6d34048 finally merged *the missing* 2015-03-23 12:12:49 +01:00
Taylor Gerring 91a2275ad3 Move RemoteAgent to miner pkg 2015-03-23 11:21:41 +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
obscuren ce862ee758 Removed some comments 2015-03-21 14:51:45 +01:00
obscuren 54dac59285 wip 2015-03-20 17:42:09 +01:00
obscuren 0a1eeca41e conversions. -compilable- 2015-03-18 13:00:01 +01:00
obscuren b523441361 Moved ethutil => common 2015-03-16 11:27:38 +01:00
obscuren 387f6bba3e POW fixes 2015-03-14 16:37:57 +01:00
obscuren 532a74f50e Improved errors. Closes #475 2015-03-14 12:43:10 +01:00
obscuren 03403399fc Return proper error 2015-03-13 17:47:11 +01:00
obscuren 310ca62285 Removed some of that gas pre pay magic 2015-03-12 22:29:10 +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
obscuren 7add66c8bb Use the state to up the balance of the coinbase 2015-03-11 16:32:37 +01:00
obscuren cd856cb213 Separated block db from state db. Partial fix for #416 2015-03-06 18:26:16 +01:00
obscuren 8d9be18b29 Queued approach to delivering chain events 2015-03-06 15:50:44 +01:00
obscuren 23ad2f02c0 debug comments & pow handling 2015-03-06 10:22:40 +01:00
obscuren c47866d251 Miner fixes and updates (including miner) 2015-03-05 09:14:58 +01:00
obscuren d4d505c868 Fixed genesis 2015-03-03 21:48:05 +01:00
obscuren 26de12d9bf Changed nonce to a uint64 2015-03-03 21:04:31 +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
obscuren 8e995b97cc Fixes and debug added 2015-03-03 20:13:11 +01:00
obscuren 40ff3cac39 merge 2015-03-03 17:56:36 +01:00
obscuren 313fe3861b fixed pow stuff 2015-03-03 17:55:23 +01:00
zelig 34be795bc1 Merge remote-tracking branch 'tgerring/jsonlogs' into jsonlogs 2015-03-03 13:52:20 +07:00
Matthew Wampler-Doty de9f79133f Introducing ethash 2015-03-02 22:29:34 -05:00
Taylor Gerring 60a2704b04 Implement eth.miner.new_block event 2015-03-01 16:09:59 +01:00
obscuren 65cad14f9b Report debug hash rate 2015-02-28 23:09:49 +01:00
obscuren e235b57234 Fixed consensus issue for refunding
* Refund should _always_ go to the origin
2015-02-26 20:08:35 +01:00
obscuren cc43ab9a81 Minor updates for release 2015-02-20 18:05:46 +01:00
obscuren 75625801f5 fixed merge 2015-02-20 15:18:07 +01:00