Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core/vm: improved EVM run loop & instruction calling (#3378) | Jeffrey Wilcke | 2017-01-05 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | The run loop, which previously contained custom opcode executes have been removed and has been simplified to a few checks. Each operation consists of 4 elements: execution function, gas cost function, stack validation function and memory size function. The execution function implements the operation's runtime behaviour, the gas cost function implements the operation gas costs function and greatly depends on the memory and stack, the stack validation function validates the stack and makes sure that enough items can be popped off and pushed on and the memory size function calculates the memory required for the operation and returns it. This commit also allows the EVM to go unmetered. This is helpful for offline operations such as contract calls. | ||||
* | eth, miner: verify PoW in the remote agent to notify submitter (#3438) | Péter Szilágyi | 2016-12-20 | 1 | -12/+21 |
| | |||||
* | miner: rename pending to unconformed, add bounds and ops tests | Péter Szilágyi | 2016-12-13 | 3 | -30/+117 |
| | |||||
* | miner: clean up unconfirmed mined block tracking | Péter Szilágyi | 2016-12-13 | 2 | -74/+130 |
| | |||||
* | miner: fix data race on setting etherbase/extradata | Péter Szilágyi | 2016-12-13 | 2 | -10/+12 |
| | |||||
* | miner: fix a race between remote agent start/loop | Péter Szilágyi | 2016-12-13 | 1 | -11/+14 |
| | |||||
* | core: bugfix state change race condition in txpool (#3412) | bas-vk | 2016-12-11 | 1 | -1/+8 |
| | | | | | | | | The transaction pool keeps track of the current nonce in its local pendingState. When a new block comes in the pendingState is reset. During the reset it fetches multiple times the current state through the use of the currentState callback. When a second block comes in during the reset its possible that the state changes during the reset. If that block holds transactions that are currently in the pool the local pendingState that is used to determine nonces can get out of sync. | ||||
* | eth, miner: removed unnecessary state.Copy() | Martin Holst Swende | 2016-11-30 | 2 | -0/+24 |
| | | | | | | | | * miner: removed unnecessary state.Copy() * eth: made use of new miner method without state copying * miner: More documentation about new method | ||||
* | eth/filter: add support for pending logs (#3219) | bas-vk | 2016-11-28 | 1 | -2/+17 |
| | |||||
* | miner: remove dead code, add gas price getter | Péter Szilágyi | 2016-11-24 | 1 | -3/+4 |
| | |||||
* | core/types, params: EIP#155 | Jeffrey Wilcke | 2016-11-13 | 1 | -3/+16 |
| | |||||
* | core, core/state, trie: EIP158, reprice & skip empty account write | Jeffrey Wilcke | 2016-11-13 | 2 | -14/+7 |
| | | | | | | | | | | | | | | | 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> | ||||
* | miner: copy pending state before handing it to callers (#3162) | Nick Johnson | 2016-10-19 | 1 | -1/+1 |
| | | | The pending state was not copied while not mining, leading to a data race. | ||||
* | core/state: implement reverts by journaling all changes | Felix Lange | 2016-10-06 | 1 | -3/+3 |
| | | | | | | | | | | This commit replaces the deep-copy based state revert mechanism with a linear complexity journal. This commit also hides several internal StateDB methods to limit the number of ways in which calling code can use the journal incorrectly. As usual consultation and bug fixes to the initial implementation were provided by @karalabe, @obscuren and @Arachnid. Thank you! | ||||
* | core, eth, trie: reuse trie journals in all our code | Péter Szilágyi | 2016-09-28 | 1 | -1/+1 |
| | |||||
* | miner: set tx index logs | Bas van Kervel | 2016-09-12 | 1 | -1/+2 |
| | |||||
* | Merge pull request #2949 from elliots/fix/#2948 | Péter Szilágyi | 2016-09-02 | 1 | -12/+4 |
|\ | | | | | miner: Prevent attempts to close nil quit channel in agent (fixes #2948) | ||||
| * | miner: Move CpuAgent channel creation from Start() to initialization (fixes ↵ | ☃ Elliot Shepherd | 2016-08-25 | 1 | -12/+4 |
| | | | | | | | | | | | | #2948) Also remove the now un-needed mutex locking in Start() and Stop() | ||||
* | | core/types, miner: switch over to the grouped tx sets | Péter Szilágyi | 2016-09-02 | 1 | -87/+40 |
| | | |||||
* | | core, eth, internal, miner: optimize txpool for quick ops | Péter Szilágyi | 2016-09-02 | 1 | -4/+3 |
| | | |||||
* | | core, eth, miner: only retain 1 tx/nonce, remove bad ones | Péter Szilágyi | 2016-09-02 | 1 | -5/+5 |
|/ | |||||
* | core, miner: move Backend to miner | Felix Lange | 2016-08-17 | 2 | -7/+24 |
| | | | | | This ensures that package core doesn't depend on package accounts and resolves an age-old TODO. | ||||
* | cmd, core, eth, miner, params, tests: finalize the DAO fork | Péter Szilágyi | 2016-07-15 | 1 | -1/+1 |
| | |||||
* | core, params, tests: add DAO hard-fork balance moves | Péter Szilágyi | 2016-07-15 | 1 | -0/+4 |
| | |||||
* | cmd, core, miner: add extradata validation to consensus rules | Péter Szilágyi | 2016-07-15 | 1 | -2/+8 |
| | |||||
* | cmd/geth, miner, params: special extradata for DAO fork start | Péter Szilágyi | 2016-07-15 | 1 | -1/+9 |
| | |||||
* | core: improved chainDb using sequential keys | zsfelfoldi | 2016-06-07 | 1 | -2/+2 |
| | |||||
* | miner: fixed pending state by not shutting down update loop | Jeffrey Wilcke | 2016-05-10 | 1 | -4/+0 |
| | |||||
* | core, eth, miner: improve shutdown synchronisation | Felix Lange | 2016-05-09 | 1 | -34/+28 |
| | | | | | | | | | | | | | | | | | | | | Shutting down geth prints hundreds of annoying error messages in some cases. The errors appear because the Stop method of eth.ProtocolManager, miner.Miner and core.TxPool is asynchronous. Left over peer sessions generate events which are processed after Stop even though the database has already been closed. The fix is to make Stop synchronous using sync.WaitGroup. For eth.ProtocolManager, in order to make use of WaitGroup safe, we need a way to stop new peer sessions from being added while waiting on the WaitGroup. The eth protocol Run function now selects on a signaling channel and adds to the WaitGroup only if ProtocolManager is not shutting down. For miner.worker and core.TxPool the number of goroutines is static, WaitGroup can be used in the usual way without additional synchronisation. | ||||
* | all: fix go vet warnings | Felix Lange | 2016-04-15 | 1 | -5/+5 |
| | |||||
* | accounts: streamline API | Felix Lange | 2016-04-12 | 1 | -1/+1 |
| | | | | | | - Manager.Accounts no longer returns an error. - Manager methods take Account instead of common.Address. - All uses of Account with unkeyed fields are converted. | ||||
* | core, miner: remove Frontier canary | Péter Szilágyi | 2016-04-04 | 1 | -12/+8 |
| | |||||
* | cmd/utils, miner: A/B testing JIT VM. Disabled for miners | Jeffrey Wilcke | 2016-04-01 | 1 | -1/+9 |
| | | | | | | | | | | This PR introduces a 10% probability that you'll run the client with the JIT enabled testing the new client and helps us potentially catch errors when reported. This feature is **disabled** for miners (disabling the JIT completely). The JIT can however be force for miners if they enable both --jitvm and --forcejit. | ||||
* | core: added basic chain configuration | Jeffrey Wilcke | 2016-04-01 | 2 | -6/+11 |
| | | | | | | | | | 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. | ||||
* | Merge pull request #2141 from obscuren/evm-init | Jeffrey Wilcke | 2016-03-24 | 1 | -1/+1 |
|\ | | | | | core, core/vm, tests: changed the initialisation behaviour of the EVM | ||||
| * | core: Added EVM configuration options | Jeffrey Wilcke | 2016-03-24 | 1 | -1/+1 |
| | | | | | | | | | | The EVM is now initialised with an additional configured object that allows you to turn on debugging options. | ||||
* | | eth, miner: fetch pending block/state in on go (data race) | Péter Szilágyi | 2016-03-16 | 2 | -15/+6 |
|/ | |||||
* | core, miner: add PendingStateEvent to track non-log updates | Péter Szilágyi | 2016-02-29 | 1 | -2/+9 |
| | |||||
* | core, core/vm, crypto: fixes for homestead | Jeffrey Wilcke | 2016-02-18 | 1 | -1/+2 |
| | | | | | | * Removed some strange code that didn't apply state reverting properly * Refactored code setting from vm & state transition to the executioner * Updated tests | ||||
* | eth/filters: ✨ pending logs ✨ | Jeffrey Wilcke | 2016-02-13 | 1 | -8/+15 |
| | | | | | | Pending logs are now filterable through the Go API. Filter API changed such that each filter type has it's own bucket and adding filter explicitly requires you specify the bucket to put it in. | ||||
* | eth, miner: move the public miner api into eth to access etherbase | Péter Szilágyi | 2016-02-09 | 1 | -75/+0 |
| | |||||
* | miner: register newly created remote agent in the API | Péter Szilágyi | 2016-02-03 | 1 | -1/+4 |
| | |||||
* | Merge pull request #2143 from karalabe/fix-transaction-sort-2 | Jeffrey Wilcke | 2016-01-28 | 1 | -5/+4 |
|\ | | | | | core, core/types, miner: fix transaction nonce-price combo sort | ||||
| * | core, core/types, miner: fix transaction nonce-price combo sort | Péter Szilágyi | 2016-01-22 | 1 | -5/+4 |
| | | |||||
* | | rpc: migrated the RPC insterface to a new reflection based RPC layer | Bas van Kervel | 2016-01-26 | 1 | -1/+1 |
|/ | |||||
* | rpc: new RPC implementation with pub/sub support | Bas van Kervel | 2015-12-14 | 2 | -0/+73 |
| | |||||
* | miner: bugfix were blockhash in receipts and logs is left empty | Bas van Kervel | 2015-11-19 | 1 | -0/+11 |
| | |||||
* | core, eth, miner, xeth: clean up tx/receipt db accessors | Péter Szilágyi | 2015-11-19 | 1 | -3/+3 |
| | |||||
* | core, eth, rpc: split out block validator and state processor | Jeffrey Wilcke | 2015-11-18 | 1 | -10/+11 |
| | | | | | | | | | | | | This removes the burden on a single object to take care of all validation and state processing. Now instead the validation is done by the `core.BlockValidator` (`types.Validator`) that takes care of both header and uncle validation through the `ValidateBlock` method and state validation through the `ValidateState` method. The state processing is done by a new object `core.StateProcessor` (`types.Processor`) and accepts a new state as input and uses that to process the given block's transactions (and uncles for rewords) to calculate the state root for the next block (P_n + 1). | ||||
* | miner: synchronise start / stop | Jeffrey Wilcke | 2015-10-31 | 1 | -5/+12 |
| | | | | | | This PR fixes an issue where the remote worker was stopped twice and not properly handled. This adds a synchronised running check to the start and stop methods preventing closing of a channel more than once. | ||||
* | cmd/utils, rpc/comms: stop XEth when IPC connection ends | Felix Lange | 2015-10-30 | 3 | -20/+32 |
| | | | | | | | | | | | 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. | ||||
* | Merge pull request #1889 from karalabe/fast-sync-rebase | Jeffrey Wilcke | 2015-10-22 | 1 | -1/+1 |
|\ | | | | | eth/63 fast synchronization algorithm | ||||
| * | core, eth: receipt chain reconstruction | Péter Szilágyi | 2015-10-19 | 1 | -1/+1 |
| | | |||||
* | | core, core/state: move gas tracking out of core/state | Felix Lange | 2015-10-17 | 1 | -13/+12 |
|/ | | | | | | | The amount of gas available for tx execution was tracked in the StateObject representing the coinbase account. This commit makes the gas counter a separate type in package core, which avoids unintended consequences of intertwining the counter with state logic. | ||||
* | Merge pull request #1899 from obscuren/mipmap-bloom | Jeffrey Wilcke | 2015-10-17 | 1 | -0/+2 |
|\ | | | | | core, eth/filters, miner, xeth: Optimised log filtering | ||||
| * | core, eth/filters, miner, xeth: Optimised log filtering | Jeffrey Wilcke | 2015-10-17 | 1 | -0/+2 |
| | | | | | | | | | | | | | | Log filtering is now using a MIPmap like approach where addresses of logs are added to a mapped bloom bin. The current levels for the MIP are in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are therefor filtered in batches of 1.000. | ||||
* | | Merge pull request #1869 from Gustav-Simonsson/gpu_miner | Jeffrey Wilcke | 2015-10-16 | 1 | -1/+1 |
|\ \ | | | | | | | all: Add GPU mining, disabled by default | ||||
| * | | all: Add GPU mining, disabled by default | Gustav Simonsson | 2015-10-07 | 1 | -1/+1 |
| | | | |||||
* | | | core/state, core, miner: handle missing root error from state.New | Gustav Simonsson | 2015-10-16 | 1 | -3/+12 |
| |/ |/| | |||||
* | | core, eth, event, miner, xeth: fix event post / subscription race | Péter Szilágyi | 2015-10-12 | 2 | -8/+13 |
| | | |||||
* | | cmd/geth, cmd/utils, core, rpc: renamed to blockchain | Jeffrey Wilcke | 2015-10-04 | 1 | -2/+2 |
| | | | | | | | | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted. | ||||
* | | cmd/evm, core/vm, test: refactored VM and core | Jeffrey Wilcke | 2015-10-04 | 1 | -1/+2 |
|/ | | | | | | | | | | | | | | | | | * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * core/vm: byte code VM moved to jump table instead of switch * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * Byte code VM now shares the same code as the JITVM * Renamed Context to Contract * Changed initialiser of state transition & unexported methods * Removed the Execution object and refactor `Call`, `CallCode` & `Create` in to their own functions instead of being methods. * Removed the hard dep on the state for the VM. The VM now depends on a Database interface returned by the environment. In the process the core now depends less on the statedb by usage of the env * Moved `Log` from package `core/state` to package `core/vm`. | ||||
* | core, core/state: batch-based state sync | Felix Lange | 2015-09-23 | 1 | -3/+2 |
| | |||||
* | Merge pull request #1810 from karalabe/pure-header-verifications-2 | Jeffrey Wilcke | 2015-09-17 | 1 | -1/+1 |
|\ | | | | | core, eth, miner: use pure header validation | ||||
| * | core, eth, miner: use pure header validation | Péter Szilágyi | 2015-09-16 | 1 | -1/+1 |
| | | |||||
* | | all: move common.Database to package ethdb | Felix Lange | 2015-09-15 | 2 | -3/+5 |
|/ | |||||
* | core: split out TD from database and all internals | Péter Szilágyi | 2015-09-11 | 1 | -3/+1 |
| | |||||
* | put unlock after lock | Bas van Kervel | 2015-09-08 | 1 | -5/+3 |
| | |||||
* | agent/miner Prevent the CpuAgent to be started multiple times | Bas van Kervel | 2015-09-08 | 1 | -2/+12 |
| | |||||
* | fix block time issue | Christoph Jentzsch | 2015-09-03 | 1 | -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 | ||||
* | Improve error string and remove unneeded else clause | Gustav Simonsson | 2015-08-28 | 1 | -2/+1 |
| | |||||
* | rpc: return error code for eth_getWork when no work ready | Gustav Simonsson | 2015-08-26 | 1 | -3/+5 |
| | |||||
* | Add tests for uncle timestamps and refactor timestamp type | Gustav Simonsson | 2015-08-25 | 1 | -5/+5 |
| | |||||
* | core, miner: write miner receipts | Jeffrey Wilcke | 2015-08-19 | 1 | -2/+5 |
| | |||||
* | core, eth, trie, xeth: merged state, chain, extra databases in one | Jeffrey Wilcke | 2015-08-08 | 1 | -5/+5 |
| | |||||
* | Merge pull request #1595 from obscuren/extra-data | Jeffrey Wilcke | 2015-08-07 | 1 | -1/+8 |
|\ | | | | | cmd/geth, eth: added canonical extra data | ||||
| * | miner, rpc: added length check for extra data | Jeffrey Wilcke | 2015-08-07 | 1 | -1/+8 |
| | | |||||
* | | miner, rpc: added submit hashrate for remote agents | Jeffrey Wilcke | 2015-08-06 | 2 | -4/+44 |
|/ | |||||
* | miner, core: sort txs by price, nonce | Jeffrey Wilcke | 2015-08-05 | 1 | -1/+34 |
| | |||||
* | Merge pull request #1588 from obscuren/diff-bomb | Jeffrey Wilcke | 2015-08-05 | 1 | -1/+1 |
|\ | | | | | core, miner: added difficulty bomb | ||||
| * | core, miner: added difficulty bomb | Jeffrey Wilcke | 2015-08-05 | 1 | -1/+1 |
| | | |||||
* | | miner: fixed worker race condition | Jeffrey Wilcke | 2015-08-05 | 1 | -43/+44 |
|/ | |||||
* | all: fix license headers one more time | Felix Lange | 2015-07-24 | 4 | -4/+4 |
| | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a. | ||||
* | all: update license headers to distiguish GPL/LGPL | Felix Lange | 2015-07-23 | 4 | -16/+16 |
| | | | | | 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 race | Péter Szilágyi | 2015-07-20 | 1 | -2/+3 |
| | |||||
* | miner: moved state sync | Jeffrey Wilcke | 2015-07-16 | 1 | -1/+1 |
| | | | | Moved the state sync so it only syncs the state when the block mining yield a possitive result | ||||
* | miner: smart mining | Jeffrey Wilcke | 2015-07-16 | 3 | -105/+149 |
| | | | | | | | | | 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-fix | Jeffrey Wilcke | 2015-07-09 | 1 | -0/+1 |
|\ | | | | | miner, xeth: fire log event during mining. Fix return raw tx | ||||
| * | miner, xeth: fire log event during mining. Fix return raw tx | Jeffrey Wilcke | 2015-07-08 | 1 | -0/+1 |
| | | |||||
* | | Use uint64 on ts in chain_manager, block_processor | Gustav Simonsson | 2015-07-08 | 1 | -1/+1 |
|/ | |||||
* | all: add some godoc synopsis comments | Felix Lange | 2015-07-07 | 1 | -0/+1 |
| | |||||
* | all: update license information | Felix Lange | 2015-07-07 | 4 | -0/+64 |
| | |||||
* | eth,miner,rpc: set coinbase | Jeffrey Wilcke | 2015-07-07 | 2 | -0/+11 |
| | |||||
* | core, miner: removed vm errors from consensus err checking | Jeffrey Wilcke | 2015-07-06 | 1 | -7/+7 |
| | | | | | Removed VM errors from the consensus errors. They now used for output only. | ||||
* | core, miner, tests: added test, implemented bad block reporting | Jeffrey Wilcke | 2015-07-05 | 1 | -2/+0 |
| | |||||
* | core, miner, tests: renamed state methods | Jeffrey Wilcke | 2015-07-04 | 1 | -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 fix | Jeffrey Wilcke | 2015-07-04 | 1 | -1/+1 |
| | | | | | * Added GetReceiptsFromBlock, GetReceipt, PutReceipts * Added ContractAddress to receipt. See #1042 | ||||
* | miner: ignore future errors | Jeffrey Wilcke | 2015-07-03 | 1 | -1/+1 |
| | |||||
* | core, miner: miner header validation, transaction & receipt writing | Jeffrey Wilcke | 2015-07-03 | 1 | -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 timestamp | Gustav Simonsson | 2015-06-30 | 1 | -3/+3 |
| | |||||
* | core, miner: added queued write to WriteBlock | Jeffrey Wilcke | 2015-06-30 | 1 | -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-2 | Jeffrey Wilcke | 2015-06-30 | 1 | -23/+34 |
|\ | | | | | | | | | | | Conflicts: core/chain_manager.go miner/worker.go | ||||
| * | core, miner: implemented canary | Jeffrey Wilcke | 2015-06-29 | 1 | -0/+6 |
| | | |||||
| * | core, miner: added write block method & changed mining propagation | Jeffrey Wilcke | 2015-06-29 | 1 | -28/+28 |
| | | |||||
| * | miner: broadcast block before insertion/validation | Jeffrey Wilcke | 2015-06-29 | 1 | -1/+6 |
| | | |||||
* | | miner: update root only when mining | Jeffrey Wilcke | 2015-06-30 | 1 | -4/+6 |
| | | |||||
* | | core/types: make blocks immutable | Felix Lange | 2015-06-30 | 3 | -105/+89 |
|/ | |||||
* | core, miner, xeth: renamed gas methods | obscuren | 2015-06-21 | 1 | -1/+1 |
| | | | | | | * BuyGas => SubGas * RefundGas => AddGas * SetGasPool => SetGasLimit | ||||
* | core, miner: tx pool drops txs below ask price | obscuren | 2015-06-15 | 2 | -3/+6 |
| | |||||
* | miner: update gas used after tx proc for pending block | obscuren | 2015-06-10 | 1 | -1/+2 |
| | |||||
* | crash fix: skip deep log if self.chain is not caught up | Jason Carver | 2015-06-09 | 1 | -1/+1 |
| | | | | @see trace https://gist.github.com/eupraxic/87fdfefe702c51d5944d | ||||
* | core, eth, miner: moved nonce management to tx pool. | obscuren | 2015-06-04 | 1 | -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 fix | obscuren | 2015-05-28 | 1 | -0/+4 |
| | |||||
* | miner: Added 5 blocks wait in prep for #1067 | obscuren | 2015-05-27 | 1 | -4/+5 |
| | |||||
* | core, miner: fixed miner time issue and removed future blocks | obscuren | 2015-05-27 | 1 | -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 case | Jason Carver | 2015-05-27 | 1 | -1/+1 |
| | |||||
* | deep-mining-log: only track non-stale blocks | Jason Carver | 2015-05-27 | 1 | -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 struct | Jason Carver | 2015-05-24 | 1 | -4/+4 |
| | |||||
* | do not export constant for when to log a deep block you mined | Jason Carver | 2015-05-24 | 1 | -4/+4 |
| | |||||
* | Log locally mined blocks, after they are 5-deep in the chain | Jason Carver | 2015-05-23 | 1 | -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. | ||||
* | miner: moved break INSIDE the switch ... | obscuren | 2015-05-22 | 1 | -4/+5 |
| | |||||
* | miner: on downloader.Done/Fail stop immediately. Ignore pending evs | obscuren | 2015-05-22 | 1 | -0/+2 |
| | |||||
* | miner: one-shot update loop | obscuren | 2015-05-21 | 1 | -0/+6 |
| | |||||
* | fix solc tests unskip | zelig | 2015-05-20 | 1 | -0/+1 |
| | |||||
* | Merge pull request #1022 from obscuren/parallel_nonce_checks | Jeffrey Wilcke | 2015-05-19 | 1 | -1/+7 |
|\ | | | | | Parallelise nonce checks | ||||
| * | miner: stale block notification | obscuren | 2015-05-19 | 1 | -1/+7 |
| | | |||||
* | | fixed issue when miner is not stopping af stop command | Bas van Kervel | 2015-05-18 | 1 | -0/+6 |
| | | |||||
* | | fixed race condition in miner | Bas van Kervel | 2015-05-18 | 1 | -12/+7 |
|/ | |||||
* | eth/downloader: moved start event | obscuren | 2015-05-16 | 1 | -0/+1 |
| | | | | Start event has moved because it could possibly could stall the miner | ||||
* | Adjust miner coinbase and not just miner worker coinbase | Vitalik Buterin | 2015-05-16 | 1 | -0/+1 |
| | |||||
* | miner: mutex locks on cpu agent. Closes #1007 | obscuren | 2015-05-16 | 1 | -16/+23 |
| | |||||
* | miner: properly check for mining operation on Register | obscuren | 2015-05-16 | 1 | -1/+1 |
| | |||||
* | core, miner: fork resolving and restart miner after sync op | obscuren | 2015-05-16 | 1 | -0/+1 |
| | | | | Fork resolving fixes #940 | ||||
* | eth, eth/downloader, miner: use download events to check miner start | obscuren | 2015-05-15 | 1 | -13/+55 |
| | |||||
* | Merge pull request #969 from Gustav-Simonsson/ethash_improve_hashrate_update2 | Jeffrey Wilcke | 2015-05-14 | 2 | -8/+3 |
|\ | | | | | Make read of ethash hashrate atomic and update ethash godep | ||||
| * | Make read of ethash hashrate atomic and update ethash godep | Gustav Simonsson | 2015-05-14 | 2 | -8/+3 |
| | | |||||
* | | Combined two loops | Vitalik Buterin | 2015-05-14 | 1 | -3/+1 |
| | | |||||
* | | Created separate family and ancestors environment objects | Vitalik Buterin | 2015-05-14 | 1 | -2/+10 |
|/ | |||||
* | Update key store to new spec but keep address field for now | Gustav Simonsson | 2015-05-12 | 1 | -1/+1 |
| | | | | * Also fix address types post-rebase | ||||
* | miner, cmd/geth: miner will not ignored owned account transactions | obscuren | 2015-05-12 | 1 | -25/+31 |
| | | | | Miner does not ignore low gas txs from accounts that are owned. | ||||
* | cmd/geth, miner, backend, xeth: Fixed miner threads to be settable | obscuren | 2015-05-11 | 3 | -29/+33 |
| | | | | | Miner threads are now settable through the admin interface (closes #897) and specify 0 CPU worker threads when eth_getWork is called (closes #916) | ||||
* | Return 32-byte hashes from GetWork | Taylor Gerring | 2015-05-11 | 1 | -2/+2 |
| | | | | Ensures that the Get Work results are a consistent length. Closes #917 | ||||
* | miner: added log message for mining operation. #912 | obscuren | 2015-05-11 | 1 | -0/+4 |
| | |||||
* | core: optimise pending transaction processing | obscuren | 2015-05-11 | 1 | -85/+101 |
| | |||||
* | core, eth, miner: improved tx removal & fatal error on db sync err | obscuren | 2015-05-11 | 1 | -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, tests: fixed block test | obscuren | 2015-05-09 | 1 | -0/+5 |
| | |||||
* | miner: start/stop mutex locked. Closes #887 | obscuren | 2015-05-09 | 1 | -0/+9 |
| | |||||
* | miner: moved gasprice to non-method | obscuren | 2015-05-09 | 1 | -9/+12 |
| | |||||
* | miner, cmd/geth: settable gas price from flags and console | obscuren | 2015-05-09 | 2 | -0/+32 |
| | | | | | * --gasprice "<num>" flag * admin.miner.setGasPrice( <num> ) | ||||
* | Integrate new ethash API and change geth makedag cmd | Gustav Simonsson | 2015-05-05 | 2 | -8/+1 |
| | |||||
* | core: return the index of the block that failed when inserting a chain | obscuren | 2015-04-29 | 1 | -1/+1 |
| | |||||
* | core, miner: added value check on tx validation | obscuren | 2015-04-26 | 1 | -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 account | obscuren | 2015-04-23 | 1 | -2/+2 |
| | |||||
* | xeth, miner: updated some logging | obscuren | 2015-04-23 | 1 | -2/+1 |
| | |||||
* | miner: use 32bit atomic operations | Felix Lange | 2015-04-22 | 1 | -11/+12 |
| | | | | 64bit atomic operations are not available on all 32bit platforms. | ||||
* | miner: ignore a tx's transactor after a gas limit has been returned | obscuren | 2015-04-21 | 1 | -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: go fmt | obscuren | 2015-04-20 | 1 | -8/+7 |
| | |||||
* | Switched getWork third output from difficulty to target | Vitalik Buterin | 2015-04-20 | 1 | -1/+8 |
| | |||||
* | miner: fixed remote miner current work | obscuren | 2015-04-20 | 1 | -1/+2 |
| | |||||
* | miner: removed default timer & update dag when threads > 0 | obscuren | 2015-04-20 | 2 | -16/+8 |
| | |||||
* | add extra space to miner icon | Fabian Vogelsteller | 2015-04-17 | 1 | -1/+1 |
| | |||||
* | miner: start a newly registered agent if the miner is running. Closes #681 | obscuren | 2015-04-15 | 2 | -3/+9 |
| | |||||
* | miner: moved bad uncle logging to ridiculous log level. Closes #720 | obscuren | 2015-04-15 | 1 | -2/+5 |
| | |||||
* | miner: don't break loop when encountering gas limit reach err | obscuren | 2015-04-14 | 1 | -8/+7 |
| | | | | | Processing transactions should continue when a transaction throws a gas limit reached error. Other transactions may actually succeed. | ||||
* | Improved transaction pool | obscuren | 2015-04-09 | 1 | -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 recorded | obscuren | 2015-04-08 | 1 | -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 miner | obscuren | 2015-04-08 | 1 | -14/+12 |
| | |||||
* | Updated logging | obscuren | 2015-04-07 | 1 | -6/+11 |
| | |||||
* | Fixed pending states | obscuren | 2015-04-07 | 2 | -20/+64 |
| | |||||
* | Block header changed & console miner control | obscuren | 2015-04-06 | 2 | -4/+10 |
| | | | | | | * 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 func | obscuren | 2015-04-05 | 1 | -1/+1 |
| | |||||
* | Updated logging | obscuren | 2015-04-05 | 3 | -13/+18 |
| | |||||
* | Make sure we're not mining on an invalid TS | obscuren | 2015-04-04 | 1 | -0/+3 |
| | |||||
* | Put the old hammer back in <3 | obscuren | 2015-04-02 | 1 | -1/+1 |
| | |||||
* | info => debug | obscuren | 2015-04-02 | 1 | -0/+2 |
| | |||||
* | Removed old (unused) argument | obscuren | 2015-04-02 | 1 | -1/+1 |
| | |||||
* | Fixed uncle rewards in miner | obscuren | 2015-04-02 | 2 | -5/+2 |
| | | | | | The uncle rewards were changed in the block processor. This change will reflect those changes in the miner as well. | ||||
* | Fixed miner | obscuren | 2015-03-27 | 3 | -15/+35 |
| | | | | * Miners could stall because the worker wasn't aware the miner was done | ||||
* | Moved output to debug | obscuren | 2015-03-26 | 1 | -1/+1 |
| | |||||
* | Improved miner recovery | obscuren | 2015-03-25 | 1 | -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 miner | obscuren | 2015-03-24 | 1 | -5/+3 |
| | |||||
* | Changed miner | obscuren | 2015-03-24 | 4 | -38/+48 |
| | | | | | * 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 uncles | obscuren | 2015-03-24 | 1 | -2/+11 |
| | |||||
* | moved state and vm to core | obscuren | 2015-03-23 | 1 | -1/+1 |
| | |||||
* | Fixed issues with stalled remote miner | obscuren | 2015-03-23 | 2 | -4/+9 |
| | |||||
* | logging for possible uncles | obscuren | 2015-03-23 | 1 | -10/+13 |
| | |||||
* | Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop | obscuren | 2015-03-23 | 1 | -0/+81 |
|\ | |||||
| * | Move RemoteAgent to miner pkg | Taylor Gerring | 2015-03-23 | 1 | -0/+81 |
| | | |||||
* | | finally merged *the missing* | obscuren | 2015-03-23 | 1 | -15/+43 |
|/ | |||||
* | Get work / submit work partially implemented. | obscuren | 2015-03-22 | 1 | -2/+6 |
| | | | | | * WIP missing arguments for submitting new work * GetWork **done** | ||||
* | Removed some comments | obscuren | 2015-03-21 | 1 | -1/+2 |
| | |||||
* | wip | obscuren | 2015-03-21 | 2 | -2/+6 |
| | |||||
* | conversions. -compilable- | obscuren | 2015-03-18 | 2 | -14/+16 |
| | |||||
* | Moved ethutil => common | obscuren | 2015-03-16 | 1 | -5/+5 |
| | |||||
* | POW fixes | obscuren | 2015-03-14 | 1 | -4/+0 |
| | |||||
* | Improved errors. Closes #475 | obscuren | 2015-03-14 | 1 | -5/+3 |
| | |||||
* | Return proper error | obscuren | 2015-03-14 | 1 | -0/+1 |
| | |||||
* | Removed some of that gas pre pay magic | obscuren | 2015-03-13 | 1 | -1/+0 |
| | |||||
* | miner: provide coinbase when starting the miner | Felix Lange | 2015-03-12 | 1 | -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. | ||||
* | Use the state to up the balance of the coinbase | obscuren | 2015-03-11 | 1 | -2/+6 |
| | |||||
* | Separated block db from state db. Partial fix for #416 | obscuren | 2015-03-07 | 1 | -1/+1 |
| | |||||
* | Queued approach to delivering chain events | obscuren | 2015-03-06 | 2 | -2/+3 |
| | |||||
* | debug comments & pow handling | obscuren | 2015-03-06 | 1 | -1/+5 |
| | |||||
* | Miner fixes and updates (including miner) | obscuren | 2015-03-05 | 1 | -3/+7 |
| | |||||
* | Fixed genesis | obscuren | 2015-03-04 | 1 | -1/+1 |
| | |||||
* | Changed nonce to a uint64 | obscuren | 2015-03-04 | 2 | -4/+4 |
| | |||||
* | Merge branch 'jsonlogs' of https://github.com/ethersphere/go-ethereum into ↵ | obscuren | 2015-03-04 | 1 | -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 jsonlogs | zelig | 2015-03-03 | 1 | -1/+9 |
| |\ | |||||
| | * | Implement eth.miner.new_block event | Taylor Gerring | 2015-03-01 | 1 | -1/+9 |
| | | | |||||
* | | | Fixes and debug added | obscuren | 2015-03-04 | 3 | -2/+8 |
| | | | |||||
* | | | merge | obscuren | 2015-03-04 | 2 | -6/+15 |
|\| | | |||||
| * | | Report debug hash rate | obscuren | 2015-03-01 | 2 | -6/+15 |
| |/ | |||||
* | | fixed pow stuff | obscuren | 2015-03-04 | 2 | -3/+7 |
| | | |||||
* | | Introducing ethash | Matthew Wampler-Doty | 2015-03-03 | 2 | -4/+9 |
|/ | |||||
* | Fixed consensus issue for refunding | obscuren | 2015-02-27 | 1 | -2/+2 |
| | | | | * Refund should _always_ go to the origin | ||||
* | Minor updates for release | obscuren | 2015-02-21 | 1 | -2/+0 |
| | |||||
* | fixed merge | obscuren | 2015-02-20 | 1 | -0/+2 |
|\ | |||||
* \ | Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop | obscuren | 2015-02-20 | 1 | -2/+2 |
|\ \ | |||||
| * | | Implement command line argument to set the amount of agents created by the miner | Maran | 2015-02-19 | 1 | -2/+2 |
| |/ | | | | | | | Defaults to the amount of cores available on the CPU | ||||
* / | Optimisations and fixed a couple of DDOS issues in the miner | obscuren | 2015-02-20 | 1 | -9/+13 |
|/ | |||||
* | "centralised" mining to backend. Closes #323 | obscuren | 2015-02-17 | 2 | -8/+7 |
| | |||||
* | Resolved some bugs in the miner | obscuren | 2015-02-15 | 1 | -11/+10 |
| | | | | | | * TODO nonce error sometimes persists * Fixed mining on wrong blocks * Fixed state error & receipt fail | ||||
* | Fixed mining & limited hash power | obscuren | 2015-02-14 | 2 | -19/+40 |
| | |||||
* | Update balance label when mining | obscuren | 2015-02-14 | 1 | -1/+2 |
| | |||||
* | Propagate blocks | obscuren | 2015-02-14 | 1 | -0/+1 |
| | |||||
* | Fixed a few issues in the miner and updated hash rate title | obscuren | 2015-02-14 | 3 | -28/+39 |
| | | | | | * Sometimes old nonces were set by "old" agents * Added the hash rate to the miner | ||||
* | Basic structure miner | obscuren | 2015-02-10 | 3 | -266/+153 |
| | |||||
* | merged | obscuren | 2015-02-09 | 1 | -1/+1 |
|\ | |||||
| * | Merge pull request #290 from ↵ | Jeffrey Wilcke | 2015-02-06 | 1 | -1/+1 |
| |\ | | | | | | | | | | | | | Gustav-Simonsson/correct_block_parent_timestamp_check Correct block parent timestamp check and typos | ||||
| | * | Correct block parent timestamp check and typos | Gustav Simonsson | 2015-02-04 | 1 | -1/+1 |
| | | | |||||
* | | | Merge branch 'develop' into miner | obscuren | 2015-02-06 | 1 | -6/+4 |
|\| | | |||||
| * | | set uncles regardless of empty uncle list. Fixes invalid blocks being mined | obscuren | 2015-02-05 | 1 | -3/+1 |
| | | | |||||
* | | | wip | obscuren | 2015-02-06 | 1 | -7/+35 |
|/ / | |||||
* | | Filtering | obscuren | 2015-02-05 | 1 | -4/+9 |
| | | |||||
* | | WIP miner | obscuren | 2015-02-04 | 1 | -0/+164 |
|/ | |||||
* | Refactored ethutil.Config.Db out | obscuren | 2015-01-07 | 1 | -3/+3 |
| | |||||
* | Allow extra to be set for mined blocks | obscuren | 2015-01-06 | 1 | -0/+2 |
| | |||||
* | BlockManager => BlockProcessor | obscuren | 2015-01-05 | 1 | -5/+5 |
| | |||||
* | Updated miner to new block api | obscuren | 2014-12-30 | 1 | -3/+6 |
| | |||||
* | Refactored block & Transaction | obscuren | 2014-12-23 | 1 | -5/+5 |
| | | | | * Includes new rlp decoder | ||||
* | merge | obscuren | 2014-12-19 | 1 | -3/+3 |
|\ | |||||
| * | Created generic message (easy for testing) | obscuren | 2014-12-18 | 1 | -3/+3 |
| | | |||||
* | | adapt miner to new backend. use events to broadcast new mined blocks | zelig | 2014-12-15 | 1 | -4/+3 |
|/ | |||||
* | states moved to chain | obscuren | 2014-12-11 | 1 | -1/+1 |
| | |||||
* | Moved pow | obscuren | 2014-12-10 | 1 | -3/+5 |
| | |||||
* | upped proto version and modified block pool | obscuren | 2014-12-05 | 1 | -1/+0 |
| | |||||
* | Skip mining on transactions that don't meet the min accepted gas price | obscuren | 2014-12-05 | 1 | -6/+16 |
| | |||||
* | Improved and simplified wallet functions and behaviour | obscuren | 2014-12-04 | 1 | -1/+1 |
| | |||||
* | Renamed `chain` => `core` | obscuren | 2014-12-04 | 1 | -8/+8 |
| | |||||
* | merge errors fixed | obscuren | 2014-12-02 | 1 | -8/+2 |
|\ |