aboutsummaryrefslogtreecommitdiffstats
path: root/miner/worker.go
Commit message (Collapse)AuthorAgeFilesLines
* core: split out TD from database and all internalsPéter Szilágyi2015-09-111-3/+1
|
* fix block time issueChristoph Jentzsch2015-09-031-1/+1
| | | | | | | currently, under normal circumstances, you always set the timestamp to previous.Time() + 1. credits to https://www.reddit.com/r/ethereum/comments/3jcs5r/code_avg_block_time_vs_difficulty_adjustment/cuoi4op style
* Add tests for uncle timestamps and refactor timestamp typeGustav Simonsson2015-08-251-5/+5
|
* core, miner: write miner receiptsJeffrey Wilcke2015-08-191-2/+5
|
* core, eth, trie, xeth: merged state, chain, extra databases in oneJeffrey Wilcke2015-08-081-5/+5
|
* miner, core: sort txs by price, nonceJeffrey Wilcke2015-08-051-1/+34
|
* Merge pull request #1588 from obscuren/diff-bombJeffrey Wilcke2015-08-051-1/+1
|\ | | | | core, miner: added difficulty bomb
| * core, miner: added difficulty bombJeffrey Wilcke2015-08-051-1/+1
| |
* | miner: fixed worker race conditionJeffrey Wilcke2015-08-051-43/+44
|/
* all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* miner: fix current work data racePéter Szilágyi2015-07-201-2/+3
|
* miner: moved state syncJeffrey Wilcke2015-07-161-1/+1
| | | | Moved the state sync so it only syncs the state when the block mining yield a possitive result
* miner: smart miningJeffrey Wilcke2015-07-161-60/+74
| | | | | | | | | Work is now handled and carried over multiple sessions. Previously one session only was assumed, potentially resulting in invalid (outdated) work * Larger work / result queue * Full validation option
* Merge pull request #1441 from obscuren/logs-return-fixJeffrey Wilcke2015-07-091-0/+1
|\ | | | | miner, xeth: fire log event during mining. Fix return raw tx
| * miner, xeth: fire log event during mining. Fix return raw txJeffrey Wilcke2015-07-081-0/+1
| |
* | Use uint64 on ts in chain_manager, block_processorGustav Simonsson2015-07-081-1/+1
|/
* all: update license informationFelix Lange2015-07-071-0/+16
|
* eth,miner,rpc: set coinbaseJeffrey Wilcke2015-07-071-0/+6
|
* core, miner: removed vm errors from consensus err checkingJeffrey Wilcke2015-07-061-7/+7
| | | | | Removed VM errors from the consensus errors. They now used for output only.
* core, miner, tests: added test, implemented bad block reportingJeffrey Wilcke2015-07-051-2/+0
|
* core, miner, tests: renamed state methodsJeffrey Wilcke2015-07-041-1/+1
| | | | | | | | | | | | * Update => SyncIntermediate * Added SyncObjects SyncIntermediate only updates whatever has changed, but, as a side effect, requires much more disk space. SyncObjects will only sync whatever is required for a block and will not save intermediate state to disk. As drawback this requires more time when more txs come in.
* core, eth, miner, xeth: receipt storage fixJeffrey Wilcke2015-07-041-1/+1
| | | | | * Added GetReceiptsFromBlock, GetReceipt, PutReceipts * Added ContractAddress to receipt. See #1042
* miner: ignore future errorsJeffrey Wilcke2015-07-031-1/+1
|
* core, miner: miner header validation, transaction & receipt writingJeffrey Wilcke2015-07-031-5/+30
| | | | | | | | * Miners do now verify their own header, not their state. * Changed old putTx and putReceipts to be exported * Moved writing of transactions and receipts out of the block processer in to the chain manager. Closes #1386 * Miner post ChainHeadEvent & ChainEvent. Closes #1388
* Use uint64 for block header timestampGustav Simonsson2015-06-301-3/+3
|
* core, miner: added queued write to WriteBlockJeffrey Wilcke2015-06-301-1/+1
| | | | | | | | This fixes an issue with the lru cache not being available when calling WriteBlock. WriteBlock previously always assumed to be called from the InsertChain where the lru cache was always created prior to calling WriteBlock. When being called from the worker this could lead in to a nil pointer exception being thrown and causing database corruption.
* Merge branch 'miner-broadcast' into core-optimisations-2Jeffrey Wilcke2015-06-301-23/+34
|\ | | | | | | | | | | Conflicts: core/chain_manager.go miner/worker.go
| * core, miner: implemented canaryJeffrey Wilcke2015-06-291-0/+6
| |
| * core, miner: added write block method & changed mining propagationJeffrey Wilcke2015-06-291-28/+28
| |
| * miner: broadcast block before insertion/validationJeffrey Wilcke2015-06-291-1/+6
| |
* | miner: update root only when miningJeffrey Wilcke2015-06-301-4/+6
| |
* | core/types: make blocks immutableFelix Lange2015-06-301-98/+86
|/
* core, miner, xeth: renamed gas methodsobscuren2015-06-211-1/+1
| | | | | | * BuyGas => SubGas * RefundGas => AddGas * SetGasPool => SetGasLimit
* core, miner: tx pool drops txs below ask priceobscuren2015-06-151-2/+5
|
* miner: update gas used after tx proc for pending blockobscuren2015-06-101-1/+2
|
* crash fix: skip deep log if self.chain is not caught upJason Carver2015-06-091-1/+1
| | | | @see trace https://gist.github.com/eupraxic/87fdfefe702c51d5944d
* core, eth, miner: moved nonce management to tx pool.obscuren2015-06-041-4/+0
| | | | | | | | Removed the managed tx state from the chain manager to the transaction pool where it's much easier to keep track of nonces (and manage them). The transaction pool now also uses the queue and pending txs differently where queued txs are now moved over to the pending queue (i.e. txs ready for processing and propagation).
* build server fixobscuren2015-05-281-0/+4
|
* miner: Added 5 blocks wait in prep for #1067obscuren2015-05-271-4/+5
|
* core, miner: fixed miner time issue and removed future blocksobscuren2015-05-271-3/+4
| | | | | | | * Miner should no longer generate blocks with a time stamp less or equal than it's parent. * Future blocks are no longer processed and queued directly. Closes #1118
* deep-mining-log: need ring buffer to be one bigger for all-blocks-mined caseJason Carver2015-05-271-1/+1
|
* deep-mining-log: only track non-stale blocksJason Carver2015-05-271-2/+2
| | | | if you track stale blocks, then you quickly overflow your ring buffer in the local network case where you're mining every block and generating a lot of stales.
* do not export ring buffer structJason Carver2015-05-241-4/+4
|
* do not export constant for when to log a deep block you minedJason Carver2015-05-241-4/+4
|
* Log locally mined blocks, after they are 5-deep in the chainJason Carver2015-05-231-0/+59
| | | | | | | | | | | 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.
* fix solc tests unskipzelig2015-05-201-0/+1
|
* miner: stale block notificationobscuren2015-05-191-1/+7
|
* Merge pull request #969 from Gustav-Simonsson/ethash_improve_hashrate_update2Jeffrey Wilcke2015-05-141-7/+2
|\ | | | | Make read of ethash hashrate atomic and update ethash godep
| * Make read of ethash hashrate atomic and update ethash godepGustav Simonsson2015-05-141-7/+2
| |
* | Combined two loopsVitalik Buterin2015-05-141-3/+1
| |
* | Created separate family and ancestors environment objectsVitalik Buterin2015-05-141-2/+10
|/
* Update key store to new spec but keep address field for nowGustav Simonsson2015-05-121-1/+1
| | | | * Also fix address types post-rebase
* miner, cmd/geth: miner will not ignored owned account transactionsobscuren2015-05-121-25/+31
| | | | Miner does not ignore low gas txs from accounts that are owned.
* cmd/geth, miner, backend, xeth: Fixed miner threads to be settableobscuren2015-05-111-1/+6
| | | | | Miner threads are now settable through the admin interface (closes #897) and specify 0 CPU worker threads when eth_getWork is called (closes #916)
* core: optimise pending transaction processingobscuren2015-05-111-85/+101
|
* core, eth, miner: improved tx removal & fatal error on db sync errobscuren2015-05-111-7/+35
| | | | | | | | * 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
* miner: start/stop mutex locked. Closes #887obscuren2015-05-091-0/+9
|
* miner: moved gasprice to non-methodobscuren2015-05-091-9/+12
|
* miner, cmd/geth: settable gas price from flags and consoleobscuren2015-05-091-0/+28
| | | | | * --gasprice "<num>" flag * admin.miner.setGasPrice( <num> )
* core: return the index of the block that failed when inserting a chainobscuren2015-04-291-1/+1
|
* core, miner: added value check on tx validationobscuren2015-04-261-1/+1
| | | | | | * 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
* miner: show error message for gas limit per accountobscuren2015-04-231-2/+2
|
* xeth, miner: updated some loggingobscuren2015-04-231-2/+1
|
* miner: use 32bit atomic operationsFelix Lange2015-04-221-11/+12
| | | | 64bit atomic operations are not available on all 32bit platforms.
* miner: ignore a tx's transactor after a gas limit has been returnedobscuren2015-04-211-3/+19
| | | | | | | | | 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
* miner: removed default timer & update dag when threads > 0obscuren2015-04-201-12/+0
|
* add extra space to miner iconFabian Vogelsteller2015-04-171-1/+1
|
* miner: start a newly registered agent if the miner is running. Closes #681obscuren2015-04-151-1/+5
|
* miner: moved bad uncle logging to ridiculous log level. Closes #720obscuren2015-04-151-2/+5
|
* miner: don't break loop when encountering gas limit reach errobscuren2015-04-141-8/+7
| | | | | Processing transactions should continue when a transaction throws a gas limit reached error. Other transactions may actually succeed.
* Improved transaction poolobscuren2015-04-091-1/+1
| | | | | | | | | | 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
* Changed how logs are being recordedobscuren2015-04-081-0/+2
| | | | | | | 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.
* fixed stop of minerobscuren2015-04-081-14/+12
|
* Updated loggingobscuren2015-04-071-6/+11
|
* Fixed pending statesobscuren2015-04-071-20/+52
|
* Block header changed & console miner controlobscuren2015-04-061-3/+6
| | | | | | * miner control moved to `admin.miner` * miner option to set extra data * block extra now bytes
* removed hash rate from info log. Added hashrate js funcobscuren2015-04-051-1/+1
|
* Updated loggingobscuren2015-04-051-9/+15
|
* Make sure we're not mining on an invalid TSobscuren2015-04-041-0/+3
|
* Put the old hammer back in <3obscuren2015-04-021-1/+1
|
* info => debugobscuren2015-04-021-0/+2
|
* Removed old (unused) argumentobscuren2015-04-021-1/+1
|
* Fixed uncle rewards in minerobscuren2015-04-021-4/+1
| | | | | The uncle rewards were changed in the block processor. This change will reflect those changes in the miner as well.
* Fixed minerobscuren2015-03-271-8/+18
| | | | * Miners could stall because the worker wasn't aware the miner was done
* Improved miner recoveryobscuren2015-03-251-22/+16
| | | | | * In case of uncle mining (e.g. same TS) the miner would stop if all threads happened to mine a potential uncle
* Event fixes for minerobscuren2015-03-241-5/+3
|
* Changed minerobscuren2015-03-241-26/+26
| | | | | * Instead of delivering `Work` to the `Worker`, push a complete Block to the `Worker` so that each agent can work on their own block.
* fixed bad unclesobscuren2015-03-241-2/+11
|
* moved state and vm to coreobscuren2015-03-231-1/+1
|
* Fixed issues with stalled remote minerobscuren2015-03-231-3/+8
|
* logging for possible unclesobscuren2015-03-231-10/+13
|
* finally merged *the missing*obscuren2015-03-231-15/+43
|
* Removed some commentsobscuren2015-03-211-1/+2
|
* wipobscuren2015-03-211-2/+2
|
* conversions. -compilable-obscuren2015-03-181-13/+14
|
* Moved ethutil => commonobscuren2015-03-161-5/+5
|
* POW fixesobscuren2015-03-141-4/+0
|
* Improved errors. Closes #475obscuren2015-03-141-5/+3
|
* Return proper errorobscuren2015-03-141-0/+1
|
* Removed some of that gas pre pay magicobscuren2015-03-131-1/+0
|
* Use the state to up the balance of the coinbaseobscuren2015-03-111-2/+6
|
* Separated block db from state db. Partial fix for #416obscuren2015-03-071-1/+1
|
* Queued approach to delivering chain eventsobscuren2015-03-061-2/+2
|
* Miner fixes and updates (including miner)obscuren2015-03-051-3/+7
|
* Fixed genesisobscuren2015-03-041-1/+1
|
* Changed nonce to a uint64obscuren2015-03-041-3/+3
|
* Merge branch 'jsonlogs' of https://github.com/ethersphere/go-ethereum into ↵obscuren2015-03-041-0/+10
|\ | | | | | | | | | | | | | | | | | | ethersphere-jsonlogs Conflicts: eth/block_pool.go eth/block_pool_test.go eth/protocol_test.go miner/worker.go
| * Merge remote-tracking branch 'tgerring/jsonlogs' into jsonlogszelig2015-03-031-1/+9
| |\
| | * Implement eth.miner.new_block eventTaylor Gerring2015-03-011-1/+9
| | |
* | | Fixes and debug addedobscuren2015-03-041-1/+1
| | |
* | | mergeobscuren2015-03-041-0/+14
|\| |
| * | Report debug hash rateobscuren2015-03-011-0/+14
| |/
* | fixed pow stuffobscuren2015-03-041-0/+1
| |
* | Introducing ethashMatthew Wampler-Doty2015-03-031-2/+7
|/
* Fixed consensus issue for refundingobscuren2015-02-271-2/+2
| | | | * Refund should _always_ go to the origin
* Minor updates for releaseobscuren2015-02-211-2/+0
|
* fixed mergeobscuren2015-02-201-0/+2
|\
* | Optimisations and fixed a couple of DDOS issues in the minerobscuren2015-02-201-9/+13
|/
* "centralised" mining to backend. Closes #323obscuren2015-02-171-4/+3
|
* Resolved some bugs in the minerobscuren2015-02-151-11/+10
| | | | | | * TODO nonce error sometimes persists * Fixed mining on wrong blocks * Fixed state error & receipt fail
* Fixed mining & limited hash powerobscuren2015-02-141-11/+29
|
* Update balance label when miningobscuren2015-02-141-1/+2
|
* Propagate blocksobscuren2015-02-141-0/+1
|
* Fixed a few issues in the miner and updated hash rate titleobscuren2015-02-141-11/+29
| | | | | * Sometimes old nonces were set by "old" agents * Added the hash rate to the miner
* Basic structure minerobscuren2015-02-101-12/+49
|
* Filteringobscuren2015-02-051-4/+9
|
* WIP minerobscuren2015-02-041-0/+164