aboutsummaryrefslogtreecommitdiffstats
path: root/miner/miner.go
Commit message (Collapse)AuthorAgeFilesLines
* eth, miner: prefer locally generated uncles vs remote ones (#17715)gary rong2018-09-211-2/+2
| | | | | | * core, eth: fix dependency cycle * eth, miner: perfer to locally generated uncle
* cmd, core, eth, miner, params: configurable gas floor and ceilPéter Szilágyi2018-08-291-2/+2
|
* cmd, eth, miner: make recommit configurable (#17444)gary rong2018-08-221-2/+8
| | | | | | | | | | | | * cmd, eth, miner: make recommit configurable * cmd, eth, les, miner: polish a bit * miner: filter duplicate sealing work * cmd: remove uncessary conversion * miner: avoid microptimization in favor of cleaner code
* miner: move agent logic to worker (#17351)gary rong2018-08-141-32/+32
| | | | | | | | * miner: move agent logic to worker * miner: polish * core: persist block before reorg
* consensus/ethash: move remote agent logic to ethash internal (#15853)gary rong2018-08-031-25/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | * consensus/ethash: start remote ggoroutine to handle remote mining * consensus/ethash: expose remote miner api * consensus/ethash: expose submitHashrate api * miner, ethash: push empty block to sealer without waiting execution * consensus, internal: add getHashrate API for ethash * consensus: add three method for consensus interface * miner: expose consensus engine running status to miner * eth, miner: specify etherbase when miner created * miner: commit new work when consensus engine is started * consensus, miner: fix some logics * all: delete useless interfaces * consensus: polish a bit
* miner: remove duplicated code (#15968)stompesi2018-03-161-2/+1
|
* cmd, core, eth, miner: remove txpool gas price limits (#14442)Péter Szilágyi2017-05-171-13/+0
|
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-051-17/+14
| | | | | This commit adds pluggable consensus engines to go-ethereum. In short, it introduces a generic consensus interface, and refactors the entire codebase to use this interface.
* all: finish integrating Go ethash, delete C++ vendorPéter Szilágyi2017-03-091-1/+3
|
* all: swap out the C++ ethash to the pure Go one (mining todo)Péter Szilágyi2017-03-091-1/+1
|
* all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-231-5/+4
|
* params: core, core/vm, miner: 64bit gas instructionsJeffrey Wilcke2017-02-141-1/+1
| | | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"Jeffrey Wilcke2017-02-131-1/+1
| | | | This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
* params: core, core/vm, miner: 64bit gas instructions (#3514)Jeffrey Wilcke2017-02-021-1/+1
| | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* miner: fix data race on setting etherbase/extradataPéter Szilágyi2016-12-131-10/+6
|
* eth, miner: removed unnecessary state.Copy()Martin Holst Swende2016-11-301-0/+9
| | | | | | | | * miner: removed unnecessary state.Copy() * eth: made use of new miner method without state copying * miner: More documentation about new method
* miner: remove dead code, add gas price getterPéter Szilágyi2016-11-241-3/+4
|
* core, core/state, trie: EIP158, reprice & skip empty account writeJeffrey Wilcke2016-11-131-1/+1
| | | | | | | | | | | | | | | This commit implements EIP158 part 1, 2, 3 & 4 1. If an account is empty it's no longer written to the trie. An empty account is defined as (balance=0, nonce=0, storage=0, code=0). 2. Delete an empty account if it's touched 3. An empty account is redefined as either non-existent or empty. 4. Zero value calls and zero value suicides no longer consume the 25k reation costs. params: moved core/config to params Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org>
* core, miner: move Backend to minerFelix Lange2016-08-171-3/+20
| | | | | This ensures that package core doesn't depend on package accounts and resolves an age-old TODO.
* core: added basic chain configurationJeffrey Wilcke2016-04-011-2/+2
| | | | | | | | | Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings.
* eth, miner: fetch pending block/state in on go (data race)Péter Szilágyi2016-03-161-6/+3
|
* cmd/utils, rpc/comms: stop XEth when IPC connection endsFelix Lange2015-10-301-2/+5
| | | | | | | | | | | There are a bunch of changes required to make this work: - in miner: allow unregistering agents, fix RemoteAgent.Stop - in eth/filters: make FilterSystem.Stop not crash - in rpc/comms: move listen loop to platform-independent code Fixes #1930. I ran the shell loop there for a few minutes and didn't see any changes in the memory profile.
* core, eth, event, miner, xeth: fix event post / subscription racePéter Szilágyi2015-10-121-1/+1
|
* Merge pull request #1595 from obscuren/extra-dataJeffrey Wilcke2015-08-071-1/+8
|\ | | | | cmd/geth, eth: added canonical extra data
| * miner, rpc: added length check for extra dataJeffrey Wilcke2015-08-071-1/+8
| |
* | miner, rpc: added submit hashrate for remote agentsJeffrey Wilcke2015-08-061-2/+9
|/
* 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".
* all: add some godoc synopsis commentsFelix Lange2015-07-071-0/+1
|
* all: update license informationFelix Lange2015-07-071-0/+16
|
* eth,miner,rpc: set coinbaseJeffrey Wilcke2015-07-071-0/+5
|
* core, miner: tx pool drops txs below ask priceobscuren2015-06-151-1/+1
|
* miner: moved break INSIDE the switch ...obscuren2015-05-221-4/+5
|
* miner: on downloader.Done/Fail stop immediately. Ignore pending evsobscuren2015-05-221-0/+2
|
* miner: one-shot update loopobscuren2015-05-211-0/+6
|
* Adjust miner coinbase and not just miner worker coinbaseVitalik Buterin2015-05-161-0/+1
|
* miner: properly check for mining operation on Registerobscuren2015-05-161-1/+1
|
* core, miner: fork resolving and restart miner after sync opobscuren2015-05-161-0/+1
| | | | Fork resolving fixes #940
* eth, eth/downloader, miner: use download events to check miner startobscuren2015-05-151-13/+55
|
* Make read of ethash hashrate atomic and update ethash godepGustav Simonsson2015-05-141-1/+1
|
* cmd/geth, miner, backend, xeth: Fixed miner threads to be settableobscuren2015-05-111-17/+16
| | | | | Miner threads are now settable through the admin interface (closes #897) and specify 0 CPU worker threads when eth_getWork is called (closes #916)
* miner: added log message for mining operation. #912obscuren2015-05-111-0/+4
|
* miner, tests: fixed block testobscuren2015-05-091-0/+5
|
* miner, cmd/geth: settable gas price from flags and consoleobscuren2015-05-091-0/+4
| | | | | * --gasprice "<num>" flag * admin.miner.setGasPrice( <num> )
* Integrate new ethash API and change geth makedag cmdGustav Simonsson2015-05-051-7/+0
|
* miner: removed default timer & update dag when threads > 0obscuren2015-04-201-4/+8
|
* miner: start a newly registered agent if the miner is running. Closes #681obscuren2015-04-151-2/+4
|
* Fixed pending statesobscuren2015-04-071-0/+12
|
* Block header changed & console miner controlobscuren2015-04-061-1/+4
| | | | | | * miner control moved to `admin.miner` * miner option to set extra data * block extra now bytes
* Updated loggingobscuren2015-04-051-3/+0
|
* Changed minerobscuren2015-03-241-2/+5
| | | | | * Instead of delivering `Work` to the `Worker`, push a complete Block to the `Worker` so that each agent can work on their own block.
* Get work / submit work partially implemented.obscuren2015-03-221-2/+6
| | | | | * WIP missing arguments for submitting new work * GetWork **done**
* conversions. -compilable-obscuren2015-03-181-1/+2
|
* miner: provide coinbase when starting the minerFelix Lange2015-03-121-20/+10
| | | | | | | | | | 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.
* Queued approach to delivering chain eventsobscuren2015-03-061-0/+1
|
* debug comments & pow handlingobscuren2015-03-061-1/+5
|
* Fixes and debug addedobscuren2015-03-041-0/+1
|
* mergeobscuren2015-03-041-6/+1
|\
| * Report debug hash rateobscuren2015-03-011-6/+1
| |
* | fixed pow stuffobscuren2015-03-041-3/+6
|/
* Implement command line argument to set the amount of agents created by the minerMaran2015-02-191-2/+2
| | | | Defaults to the amount of cores available on the CPU
* "centralised" mining to backend. Closes #323obscuren2015-02-171-4/+4
|
* Fixed a few issues in the miner and updated hash rate titleobscuren2015-02-141-10/+4
| | | | | * Sometimes old nonces were set by "old" agents * Added the hash rate to the miner
* Basic structure minerobscuren2015-02-101-254/+30
|
* mergedobscuren2015-02-091-1/+1
|\
| * Merge pull request #290 from ↵Jeffrey Wilcke2015-02-061-1/+1
| |\ | | | | | | | | | | | | Gustav-Simonsson/correct_block_parent_timestamp_check Correct block parent timestamp check and typos
| | * Correct block parent timestamp check and typosGustav Simonsson2015-02-041-1/+1
| | |
* | | Merge branch 'develop' into minerobscuren2015-02-061-6/+4
|\| |
| * | set uncles regardless of empty uncle list. Fixes invalid blocks being minedobscuren2015-02-051-3/+1
| |/
* / wipobscuren2015-02-061-7/+35
|/
* Refactored ethutil.Config.Db outobscuren2015-01-071-3/+3
|
* Allow extra to be set for mined blocksobscuren2015-01-061-0/+2
|
* BlockManager => BlockProcessorobscuren2015-01-051-5/+5
|
* Updated miner to new block apiobscuren2014-12-301-3/+6
|
* Refactored block & Transactionobscuren2014-12-231-5/+5
| | | | * Includes new rlp decoder
* mergeobscuren2014-12-191-3/+3
|\
| * Created generic message (easy for testing)obscuren2014-12-181-3/+3
| |
* | adapt miner to new backend. use events to broadcast new mined blockszelig2014-12-151-4/+3
|/
* states moved to chainobscuren2014-12-111-1/+1
|
* Moved powobscuren2014-12-101-3/+5
|
* upped proto version and modified block poolobscuren2014-12-051-1/+0
|
* Skip mining on transactions that don't meet the min accepted gas priceobscuren2014-12-051-6/+16
|
* Improved and simplified wallet functions and behaviourobscuren2014-12-041-1/+1
|
* Renamed `chain` => `core`obscuren2014-12-041-8/+8
|
* merge errors fixedobscuren2014-12-021-8/+2
|\
| * Changed the way transactions are being added to the transaction poolobscuren2014-12-021-4/+5
| |
* | Fixed mergeobscuren2014-11-291-2/+1
|\|
| * Changed refundobscuren2014-11-291-1/+1
| |
| * GasData changes & removed min gas priceobscuren2014-11-291-1/+0
| |
* | Added a callback mechanism to chain adding.obscuren2014-11-191-2/+5
| | | | | | | | | | | | Not sure if this is the right approach. Why? BlockChain shouldn't need the "Ethereum" object. BlockChain shouldn't need to worry about notifying listeners or message propagation.
* | Begin of moving objects to types packageobscuren2014-11-181-7/+8
|/ | | | | * Block(s) * Transaction(s)
* Fixed bloom, updated mining & block processingobscuren2014-11-101-3/+26
| | | | | | * Reverted back to process blocks in batches method * Bloom generation and lookup fix * Minor UI changed (mainly debug)
* Implemented new miner w/ ui interface for merged mining. Closes #177obscuren2014-11-071-144/+154
| | | | | | | | * Miner has been rewritten * Added new miner pane * Added option for local txs * Added option to read from MergeMining contract and list them for merged mining
* Reworked chain handling processobscuren2014-11-041-2/+5
| | | | | | | * Forks * Rename * Moved inserting of blocks & processing * Added chain testing method for validating pieces of a **a** chain.
* StateManager => BlockManagerobscuren2014-11-041-5/+5
|
* ethminer => minerobscuren2014-10-311-0/+217