aboutsummaryrefslogtreecommitdiffstats
path: root/eth/handler_test.go
Commit message (Collapse)AuthorAgeFilesLines
* all: protect self-mined block during reorg (#17656)gary rong2018-09-201-1/+1
|
* core, eth: fix goimports for Go 1.11Péter Szilágyi2018-09-191-4/+4
|
* all: get rid of error when creating memory database (#16716)gary rong2018-05-091-2/+2
| | | | | | | | * all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
* core, trie: intermediate mempool between trie and database (#15857)Péter Szilágyi2018-02-061-8/+8
| | | This commit reduces database I/O by not writing every state trie to disk.
* all: switch gas limits from big.Int to uint64Péter Szilágyi2018-01-031-8/+6
|
* accounts, consensus, core, eth: make chain maker consensus agnostic (#15497)gary rong2017-12-221-1/+1
| | | | | | | | | | * accounts, consensus, core, eth: make chain maker consensus agnostic * consensus, core: move CalcDifficulty to Engine interface * consensus: add docs for calcDifficulty function * consensus, core: minor comment fixups
* eth: use maxpeers from p2p layer instead of extra configPéter Szilágyi2017-09-061-2/+2
|
* core, light: send chain events using event.Feed (#14865)Miya Chen2017-08-181-1/+1
|
* core/state: access trie through Database interface, track errors (#14589)Felix Lange2017-06-271-1/+1
| | | | | | | | | With this commit, core/state's access to the underlying key/value database is mediated through an interface. Database errors are tracked in StateDB and returned by CommitTo or the new Error method. Motivation for this change: We can remove the light client's duplicated copy of core/state. The light client now supports node iteration, so tracing and storage enumeration can work with the light client (not implemented in this commit).
* cmd/geth: add --config file flag (#13875)Felix Lange2017-04-121-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * p2p/discover, p2p/discv5: add marshaling methods to Node * p2p/netutil: make Netlist decodable from TOML * common/math: encode nil HexOrDecimal256 as 0x0 * cmd/geth: add --config file flag * cmd/geth: add missing license header * eth: prettify Config again, fix tests * eth: use gasprice.Config instead of duplicating its fields * eth/gasprice: hide nil default from dumpconfig output * cmd/geth: hide genesis block in dumpconfig output * node: make tests compile * console: fix tests * cmd/geth: make TOML keys look exactly like Go struct fields * p2p: use discovery by default This makes the zero Config slightly more useful. It also fixes package node tests because Node detects reuse of the datadir through the NodeDatabase. * cmd/geth: make ethstats URL settable through config file * cmd/faucet: fix configuration * cmd/geth: dedup attach tests * eth: add comment for DefaultConfig * eth: pass downloader.SyncMode in Config This removes the FastSync, LightSync flags in favour of a more general SyncMode flag. * cmd/utils: remove jitvm flags * cmd/utils: make mutually exclusive flag error prettier It now reads: Fatal: flags --dev, --testnet can't be used at the same time * p2p: fix typo * node: add DefaultConfig, use it for geth * mobile: add missing NoDiscovery option * cmd/utils: drop MakeNode This exposed a couple of places that needed to be updated to use node.DefaultConfig. * node: fix typo * eth: make fast sync the default mode * cmd/utils: remove IPCApiFlag (unused) * node: remove default IPC path Set it in the frontends instead. * cmd/geth: add --syncmode * cmd/utils: make --ipcdisable and --ipcpath mutually exclusive * cmd/utils: don't enable WS, HTTP when setting addr * cmd/utils: fix --identity
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-051-2/+2
| | | | | 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.
* core: refactor genesis handlingFelix Lange2017-03-231-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | This commit solves several issues concerning the genesis block: * Genesis/ChainConfig loading was handled by cmd/geth code. This left library users in the cold. They could specify a JSON-encoded string and overwrite the config, but didn't get any of the additional checks performed by geth. * Decoding and writing of genesis JSON was conflated in WriteGenesisBlock. This made it a lot harder to embed the genesis block into the forthcoming config file loader. This commit changes things so there is a single Genesis type that represents genesis blocks. All uses of Write*Genesis* are changed to use the new type instead. * If the chain config supplied by the user was incompatible with the current chain (i.e. the chain had already advanced beyond a scheduled fork), it got overwritten. This is not an issue in practice because previous forks have always had the highest total difficulty. It might matter in the future though. The new code reverts the local chain to the point of the fork when upgrading configuration. The change to genesis block data removes compression library dependencies from package core.
* all: swap out the C++ ethash to the pure Go one (mining todo)Péter Szilágyi2017-03-091-1/+2
|
* params: core, core/vm, miner: 64bit gas instructionsJeffrey Wilcke2017-02-141-6/+8
| | | | | | | | | | | | | | | | | 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-8/+6
| | | | This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
* params: core, core/vm, miner: 64bit gas instructions (#3514)Jeffrey Wilcke2017-02-021-6/+8
| | | | | | | | | | | | | | | | 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
* cmd/geth, core: add support for recording SHA3 preimages (#3543)Nick Johnson2017-01-171-1/+2
|
* all: fix spelling errorsPéter Szilágyi2017-01-071-1/+1
|
* all: gofmt -w -sFelix Lange2017-01-061-6/+6
|
* core/types: remove redundant SignECDSA wrappers, rename to SignTxFelix Lange2017-01-051-6/+6
|
* core/types, params: EIP#155Jeffrey Wilcke2016-11-131-6/+8
|
* core, core/state, trie: EIP158, reprice & skip empty account writeJeffrey Wilcke2016-11-131-2/+2
| | | | | | | | | | | | | | | 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>
* cmd, eth: added light client and light server modeszsfelfoldi2016-11-091-1/+1
|
* eth: monitor malicious header retrieval requestsPéter Szilágyi2016-10-051-0/+15
|
* eth, eth/downloader, eth/fetcher: delete eth/61 codeFelix Lange2016-07-221-154/+0
| | | | | The eth/61 protocol was disabled in #2776, this commit removes its message handlers and hash-chain sync logic.
* cmd/utils, eth: display the user's current fork, minor text tweakPéter Szilágyi2016-07-161-0/+1
|
* accounts, core, eth: pass chain config for chain maker to test DAOPéter Szilágyi2016-07-151-1/+1
|
* core, eth: enforce network split post DAO hard-forkPéter Szilágyi2016-07-151-0/+73
|
* core: improved chainDb using sequential keyszsfelfoldi2016-06-071-5/+5
|
* all: fix go vet warningsFelix Lange2016-04-151-7/+6
|
* all: update license informationFelix Lange2016-04-151-0/+16
|
* eth: various typosLeif Jurvetson2016-03-161-2/+2
|
* all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()Ricardo Catalinas Jiménez2016-02-221-1/+1
| | | | As we aren't really using the standarized SHA-3
* eth: fix #2076, where end of hash query was interpreted number queryPéter Szilágyi2015-12-161-0/+20
|
* core, eth, trie: fix data races and merge/review issuesPéter Szilágyi2015-10-211-1/+3
|
* eth: clean out light node notions from ethPéter Szilágyi2015-10-191-16/+11
|
* eth/downloader: add fast and light sync strategiesPéter Szilágyi2015-10-191-8/+5
|
* cmd, eth: support switching client modes of operationPéter Szilágyi2015-10-191-7/+37
|
* core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-2/+3
|
* cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-79/+79
| | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* eth: kill off protocol eth/60 in preparation for eth/62Péter Szilágyi2015-08-241-3/+0
|
* eth, eth/downloader: handle header requests, table driven proto testsPéter Szilágyi2015-08-241-0/+525