- 21 6月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
The current trie memory database/cache that we do pruning on stores trie nodes as binary rlp encoded blobs, and also stores the node relationships/references for GC purposes. However, most of the trie nodes (everything apart from a value node) is in essence just a collection of references. This PR switches out the RLP encoded trie blobs with the collapsed-but-not-serialized trie nodes. This permits most of the references to be recovered from within the node data structure, avoiding the need to track them a second time (expensive memory wise).
-
- 19 6月, 2018 1 次提交
-
-
由 Wenbiao Zheng 提交于
* core: move test util var/func to test file * core: remove useless func
-
- 05 6月, 2018 1 次提交
-
-
由 kiel barry 提交于
params: fix golint warnings
-
- 09 5月, 2018 1 次提交
-
-
由 gary rong 提交于
* all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
-
- 07 5月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 10 4月, 2018 1 次提交
-
-
由 Martin Holst Swende 提交于
-
- 23 2月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
* core: flush out trie cache more meaningfully on stop * core: upgrade legacy tests to chain maker
-
- 06 2月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
This commit reduces database I/O by not writing every state trie to disk.
-
- 22 1月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 03 1月, 2018 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 22 12月, 2017 1 次提交
-
-
由 gary rong 提交于
* 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
-
- 14 9月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 11 9月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
* core: only fire one chain head per batch * miner: announce chan events synchronously
-
- 18 8月, 2017 1 次提交
-
-
由 Miya Chen 提交于
-
- 07 8月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 15 7月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
* core: remove redundant storage of transactions and receipts * core, eth, internal: new transaction schema usage polishes * eth: implement upgrade mechanism for db deduplication * core, eth: drop old sequential key db upgrader * eth: close last iterator on successful db upgrage * core: prefix the lookup entries to make their purpose clearer
-
- 27 6月, 2017 1 次提交
-
-
由 Felix Lange 提交于
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).
-
- 10 4月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
This PR is a prototype implementation of plugable consensus engines and the Clique PoA protocol ethereum/EIPs#225
-
- 06 4月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 05 4月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
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.
-
- 23 3月, 2017 1 次提交
-
-
由 Felix Lange 提交于
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.
-
- 09 3月, 2017 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 14 2月, 2017 2 次提交
-
-
由 Jeffrey Wilcke 提交于
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
-
由 Martin Holst Swende 提交于
* core,eth,internal: Added `debug_getBadBlocks()` method When bad blocks are discovered, these are stored within geth. An RPC-endpoint makes them availablewithin the `debug` namespace. This feature makes it easier to discover network forks. ``` * core, api: go format + docs * core/blockchain: Documentation, fix minor nitpick * core: fix failing blockchain test
-
- 13 2月, 2017 1 次提交
-
-
由 Jeffrey Wilcke 提交于
This reverts commit 8b57c494.
-
- 02 2月, 2017 1 次提交
-
-
由 Jeffrey Wilcke 提交于
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
-
- 17 1月, 2017 1 次提交
-
-
由 Nick Johnson 提交于
-
- 06 1月, 2017 2 次提交
-
-
由 Felix Lange 提交于
-
由 Felix Lange 提交于
This significantly reduces the dependency closure of ethclient, which no longer depends on core/vm as of this change. All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too, the constructor simply returned a literal.
-
- 05 1月, 2017 1 次提交
-
-
由 Felix Lange 提交于
-
- 28 11月, 2016 1 次提交
-
-
由 Jeffrey Wilcke 提交于
-
- 23 11月, 2016 1 次提交
-
-
由 Jeffrey Wilcke 提交于
-
- 14 11月, 2016 1 次提交
-
-
由 Jeffrey Wilcke 提交于
Refactored explicit chain id checking in to the Sender deriviation method
-
- 13 11月, 2016 2 次提交
-
-
由 Jeffrey Wilcke 提交于
-
由 Jeffrey Wilcke 提交于
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: NJeffrey Wilcke <jeffrey@ethereum.org>
-
- 21 10月, 2016 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 16 8月, 2016 1 次提交
-
-
由 Bas van Kervel 提交于
-
- 15 7月, 2016 1 次提交
-
-
由 Péter Szilágyi 提交于
-
- 07 6月, 2016 1 次提交
-
-
由 zsfelfoldi 提交于
-
- 01 4月, 2016 1 次提交
-
-
由 Jeffrey Wilcke 提交于
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
-