- Nov 12, 2019
-
-
Jaynti Kanani authored
-
- Jul 14, 2019
-
-
Jaynti Kanani authored
-
- May 13, 2019
-
-
Péter Szilágyi authored
* core, eth, trie: bloom filter for trie node dedup during fast sync * eth/downloader, trie: address review comments * core, ethdb, trie: restart fast-sync bloom construction now and again * eth/downloader: initialize fast sync bloom on startup * eth: reenable eth/62 until we properly remove it
-
- Apr 17, 2019
-
-
Péter Szilágyi authored
-
- Mar 06, 2019
-
-
Péter Szilágyi authored
-
- Dec 10, 2018
-
-
Ryan Schneider authored
* Rejects peers that respond with a different hash for any of the passed in block numbers. * Meant for emergency situations when the network forks unexpectedly.
-
- Nov 23, 2018
-
-
Felix Lange authored
-
- Sep 29, 2018
-
-
ledgerwatch authored
-
- Sep 20, 2018
-
-
Gary Rong authored
-
- Sep 19, 2018
-
-
Péter Szilágyi authored
-
- May 09, 2018
-
-
Gary Rong authored
* all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
-
- Feb 05, 2018
-
-
Péter Szilágyi authored
This commit reduces database I/O by not writing every state trie to disk.
-
- Jan 03, 2018
-
-
Péter Szilágyi authored
-
- Dec 22, 2017
-
-
Gary Rong authored
* 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
-
- Sep 05, 2017
-
-
Péter Szilágyi authored
-
- Aug 18, 2017
-
-
Miya Chen authored
-
- Jun 27, 2017
-
-
Felix Lange authored
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).
-
- Apr 12, 2017
-
-
Felix Lange authored
* 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
-
- Apr 04, 2017
-
-
Péter Szilágyi authored
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.
-
- Mar 23, 2017
-
-
Felix Lange authored
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.
-
- Mar 09, 2017
-
-
Péter Szilágyi authored
-
- Feb 13, 2017
-
-
Jeffrey Wilcke authored
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
-
Jeffrey Wilcke authored
This reverts commit 8b57c494.
-
- Feb 02, 2017
-
-
Jeffrey Wilcke authored
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
-
- Jan 17, 2017
-
-
Nick Johnson authored
-
- Jan 06, 2017
-
-
Péter Szilágyi authored
-
Felix Lange authored
-
- Jan 05, 2017
-
-
Felix Lange authored
-
- Nov 13, 2016
-
-
Jeffrey Wilcke authored
-
Jeffrey Wilcke authored
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>
-
- Nov 09, 2016
-
-
Zsolt Felföldi authored
-
- Oct 05, 2016
-
-
Péter Szilágyi authored
-
- Jul 22, 2016
-
-
Felix Lange authored
The eth/61 protocol was disabled in #2776, this commit removes its message handlers and hash-chain sync logic.
-
- Jul 16, 2016
-
-
Péter Szilágyi authored
-
- Jul 15, 2016
-
-
Péter Szilágyi authored
-
Péter Szilágyi authored
-
- Jun 07, 2016
-
-
Zsolt Felföldi authored
-
- Apr 15, 2016
-
-
Felix Lange authored
-
Felix Lange authored
-
- Mar 15, 2016
-
-
Leif Jurvetson authored
-