Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | accounts/a/b/backends, core: chain maker homestead block set to 0 | Jeffrey Wilcke | 2016-04-01 | 1 | -15/+6 |
| | | | | | | | The chain maker and the simulated backend now run with a homestead phase beginning at block 0 (i.e. there's no frontier). This commit also fixes up #2388 | ||||
* | core: added basic chain configuration | Jeffrey Wilcke | 2016-04-01 | 1 | -4/+23 |
| | | | | | | | | | 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. | ||||
* | 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. | ||||
* | core: various typos | Leif Jurvetson | 2016-03-16 | 1 | -2/+2 |
| | |||||
* | core: fix invalid state reuse in chain maker based tests | Péter Szilágyi | 2016-01-11 | 1 | -12/+7 |
| | |||||
* | eth/downloader: fix negative balance issue in tests | Felix Lange | 2015-12-18 | 1 | -0/+5 |
| | | | | | | | | | | The test chain generated by makeChainFork included invalid uncle headers, crashing the generator during the state commit. The headers were invalid because they used the iteration counter as the block number, even though makeChainFork uses a block with number > 0 as the parent. Fix this by introducing BlockGen.Number, which allows accessing the actual number of the block being generated. | ||||
* | core: added a new RemovedLogEvent | Jeffrey Wilcke | 2015-12-01 | 1 | -2/+2 |
| | | | | | | When a chain reorganisation occurs we collect the logs that were deleted during the chain reorganisation. The removed logs are posted to the event mux indicating that those were deleted during the reorg. | ||||
* | cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks | Péter Szilágyi | 2015-11-27 | 1 | -1/+1 |
| | |||||
* | core, eth, rpc: split out block validator and state processor | Jeffrey Wilcke | 2015-11-18 | 1 | -7/+4 |
| | | | | | | | | | | | | 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). | ||||
* | Merge pull request #1889 from karalabe/fast-sync-rebase | Jeffrey Wilcke | 2015-10-22 | 1 | -21/+47 |
|\ | | | | | eth/63 fast synchronization algorithm | ||||
| * | eth/downloader: concurrent receipt and state processing | Péter Szilágyi | 2015-10-19 | 1 | -1/+1 |
| | | |||||
| * | core, eth: receipt chain reconstruction | Péter Szilágyi | 2015-10-19 | 1 | -7/+9 |
| | | |||||
| * | core: differentiate receipt concensus and storage decoding | Péter Szilágyi | 2015-10-19 | 1 | -1/+1 |
| | | |||||
| * | core: support inserting pure header chains | Péter Szilágyi | 2015-10-19 | 1 | -13/+37 |
| | | |||||
* | | core, core/state: move gas tracking out of core/state | Felix Lange | 2015-10-17 | 1 | -6/+5 |
|/ | | | | | | | 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/+9 |
|\ | | | | | core, eth/filters, miner, xeth: Optimised log filtering | ||||
| * | core, eth/filters, miner, xeth: Optimised log filtering | Jeffrey Wilcke | 2015-10-17 | 1 | -1/+6 |
| | | | | | | | | | | | | | | 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. | ||||
| * | eth/filters: added benchmark | Jeffrey Wilcke | 2015-10-16 | 1 | -0/+4 |
| | | |||||
* | | 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 | -1/+4 |
| |/ |/| | |||||
* | | 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. | ||||
* | core, core/state: batch-based state sync | Felix Lange | 2015-09-23 | 1 | -5/+9 |
| | |||||
* | core: allow modifying test-chain block times | Péter Szilágyi | 2015-09-17 | 1 | -0/+11 |
| | |||||
* | all: move common.Database to package ethdb | Felix Lange | 2015-09-15 | 1 | -3/+4 |
| | |||||
* | core: split out TD from database and all internals | Péter Szilágyi | 2015-09-11 | 1 | -1/+0 |
| | |||||
* | Add tests for uncle timestamps and refactor timestamp type | Gustav Simonsson | 2015-08-25 | 1 | -3/+8 |
| | |||||
* | core, eth, trie, xeth: merged state, chain, extra databases in one | Jeffrey Wilcke | 2015-08-08 | 1 | -3/+3 |
| | |||||
* | core, miner: added difficulty bomb | Jeffrey Wilcke | 2015-08-05 | 1 | -1/+1 |
| | |||||
* | all: fix license headers one more time | Felix Lange | 2015-07-24 | 1 | -1/+1 |
| | | | | 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 | 1 | -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". | ||||
* | cmd, core, eth, common: genesis preparation | Jeffrey Wilcke | 2015-07-10 | 1 | -1/+3 |
| | | | | | Implemented the --genesis flag thru which we can set a custom genesis block, including the official Ethereum genesis block. | ||||
* | Use uint64 on ts in chain_manager, block_processor | Gustav Simonsson | 2015-07-08 | 1 | -1/+1 |
| | |||||
* | all: update license information | Felix Lange | 2015-07-07 | 1 | -0/+16 |
| | |||||
* | core, miner, tests: renamed state methods | Jeffrey Wilcke | 2015-07-04 | 1 | -2/+2 |
| | | | | | | | | | | | | * 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, miner: miner header validation, transaction & receipt writing | Jeffrey Wilcke | 2015-07-03 | 1 | -1/+1 |
| | | | | | | | | * 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 | -1/+1 |
| | |||||
* | core: add GenerateChain, GenesisBlockForTesting | Felix Lange | 2015-06-30 | 1 | -74/+127 |
| | |||||
* | core/types: make blocks immutable | Felix Lange | 2015-06-30 | 1 | -35/+23 |
| | |||||
* | core, miner, xeth: renamed gas methods | obscuren | 2015-06-21 | 1 | -1/+1 |
| | | | | | | * BuyGas => SubGas * RefundGas => AddGas * SetGasPool => SetGasLimit | ||||
* | core: settable genesis nonce | obscuren | 2015-06-09 | 1 | -1/+1 |
| | | | | | | | You can set the nonce of the block with `--genesisnonce`. When the genesis nonce changes and it doesn't match with the first block in your database it will fail. A new `datadir` must be given if the nonce of the genesis block changes. | ||||
* | core: don't remove transactions after block processing | Felix Lange | 2015-06-04 | 1 | -2/+1 |
| | | | | | The transaction pool drops processed transactions on its own during pool maintenance. | ||||
* | core: fixed tests | obscuren | 2015-05-19 | 1 | -1/+1 |
| | |||||
* | core: fixed mining strategy | obscuren | 2015-05-15 | 1 | -1/+1 |
| | |||||
* | Integrate new ethash API and change geth makedag cmd | Gustav Simonsson | 2015-05-05 | 1 | -2/+2 |
| | |||||
* | 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 | -2/+2 |
| | | | | | | * 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 | ||||
* | xeth, core, cmd/utils: Transaction can not be over block gas limit | obscuren | 2015-04-24 | 1 | -1/+1 |
| | | | | Transactions will be invalidated when the tx.gas_limit > block.gas_limit | ||||
* | core: fixed test | obscuren | 2015-04-23 | 1 | -1/+3 |
| | |||||
* | core: moved TD calculation from proc to chain | obscuren | 2015-04-20 | 1 | -2/+2 |
| | |||||
* | Improved transaction pool | obscuren | 2015-04-09 | 1 | -6/+7 |
| | | | | | | | | | | 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 | ||||
* | Block header changed & console miner control | obscuren | 2015-04-06 | 1 | -1/+1 |
| | | | | | | * miner control moved to `admin.miner` * miner option to set extra data * block extra now bytes | ||||
* | Improved chain manager, improved block processor, fixed tests | obscuren | 2015-04-04 | 1 | -0/+1 |
| | | | | | | * ChainManager allows cached future blocks for later processing * BlockProcessor allows a 4 second window on future blocks * Fixed tests | ||||
* | Removed old (unused) argument | obscuren | 2015-04-02 | 1 | -2/+2 |
| | |||||
* | moved state and vm to core | obscuren | 2015-03-23 | 1 | -1/+1 |
| | |||||
* | merge | obscuren | 2015-03-19 | 1 | -1/+1 |
|\ | |||||
| * | fixed chain event. Closes #529 | obscuren | 2015-03-19 | 1 | -2/+2 |
| | | |||||
* | | converted chain manager | obscuren | 2015-03-17 | 1 | -5/+5 |
|/ | |||||
* | Moved ethutil => common | obscuren | 2015-03-16 | 1 | -15/+15 |
| | |||||
* | Add additional extra database for non-protocol related data | obscuren | 2015-03-12 | 1 | -1/+1 |
| | | | | * Add transaction to extra database after a successful block process | ||||
* | Separated block db from state db. Partial fix for #416 | obscuren | 2015-03-07 | 1 | -1/+1 |
| | |||||
* | uncle validation | obscuren | 2015-03-04 | 1 | -1/+1 |
| | |||||
* | Changed nonce to a uint64 | obscuren | 2015-03-04 | 1 | -3/+3 |
| | |||||
* | fixed pow stuff | obscuren | 2015-03-04 | 1 | -3/+3 |
| | |||||
* | Introducing ethash | Matthew Wampler-Doty | 2015-03-03 | 1 | -18/+29 |
| | |||||
* | public functions for making chains on the fly | Ethan Buchman | 2015-02-28 | 1 | -0/+131 |