Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | trie: implement unionIterator (#14312) | Nick Johnson | 2017-04-13 | 2 | -36/+199 |
| | |||||
* | core, consensus: pluggable consensus engines (#3817) | Péter Szilágyi | 2017-04-05 | 1 | -0/+1 |
| | | | | | 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. | ||||
* | trie, whisper/whisperv5: use math/rand Read function | Felix Lange | 2017-03-23 | 1 | -17/+1 |
| | |||||
* | all: blidly swap out glog to our log15, logs need rework | Péter Szilágyi | 2017-02-23 | 3 | -21/+18 |
| | |||||
* | trie: add difference iterator (#3637) | Nick Johnson | 2017-02-23 | 4 | -113/+311 |
| | | | | | This PR implements a differenceIterator, which allows iterating over trie nodes that exist in one trie but not in another. This is a prerequisite for most GC strategies, in order to find obsolete nodes. | ||||
* | all: fix ineffectual assignments and remove uses of crypto.Sha3 | Felix Lange | 2017-01-09 | 1 | -2/+4 |
| | | | | | go get github.com/gordonklaus/ineffassign ineffassign . | ||||
* | all: fix spelling errors | Péter Szilágyi | 2017-01-07 | 1 | -1/+1 |
| | |||||
* | all: fix issues reported by honnef.co/go/simple/cmd/gosimple | Felix Lange | 2017-01-07 | 1 | -1/+1 |
| | |||||
* | all: gofmt -w -s | Felix Lange | 2017-01-06 | 3 | -4/+4 |
| | |||||
* | trie: remove dependency on ethdb | Felix Lange | 2017-01-06 | 3 | -23/+19 |
| | | | | This removes the core/types -> leveldb dependency. | ||||
* | core/state, eth/downloader, trie: reset fast-failure on progress | Péter Szilágyi | 2016-10-31 | 2 | -12/+18 |
| | |||||
* | trie: while fast syncing, don't keep trie nodes in memory (#3186) | Péter Szilágyi | 2016-10-21 | 1 | -19/+13 |
| | |||||
* | cmd/geth, trie: report on trie cache unloads, also add debug log | Péter Szilágyi | 2016-10-19 | 1 | -0/+7 |
| | |||||
* | trie: add metric to track cache unloading (#3175) | Felix Lange | 2016-10-19 | 2 | -1/+5 |
| | |||||
* | trie: make the cache miss counter a real metric | Felix Lange | 2016-10-19 | 1 | -7/+5 |
| | |||||
* | Merge pull request #3153 from fjl/trie-unload-fix | Jeffrey Wilcke | 2016-10-19 | 6 | -66/+126 |
|\ | | | | | trie: improve cache unloading mechanism | ||||
| * | trie: ensure dirty flag is unset for embedded child nodes | Felix Lange | 2016-10-18 | 2 | -32/+42 |
| | | | | | | | | This was caught by the new invariant check. | ||||
| * | trie: ensure resolved nodes stay loaded | Felix Lange | 2016-10-18 | 6 | -43/+95 |
| | | | | | | | | | | | | | | | | Commit 40cdcf1183 broke the optimisation which kept nodes resolved during Get in the trie. The decoder assigned cache generation 0 unconditionally, causing resolved nodes to get flushed on Commit. This commit fixes it and adds two tests. | ||||
| * | trie: avoid loading the root node twice | Felix Lange | 2016-10-18 | 1 | -6/+4 |
| | | | | | | | | | | New checks whether the root node is present by loading it from the database. Keep the node around instead of discarding it. | ||||
* | | cmd/geth, trie: track and report trie cache misses | Péter Szilágyi | 2016-10-19 | 1 | -0/+14 |
|/ | |||||
* | trie: fix regression that linked all downloaded nodes together | Felix Lange | 2016-10-15 | 1 | -0/+2 |
| | | | | | | | The trie sync code links subtries using pointers into node structs. Since commit 40cdcf1183 nodes are no longer copied when unpacking from an interface value, causing all nodes to get linked up as the sync progresses. Fix it by breaking the pointer chain with an explicit copy. | ||||
* | trie, core/state: improve memory usage and performance (#3135) | Felix Lange | 2016-10-15 | 10 | -131/+235 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * trie: store nodes as pointers This avoids memory copies when unwrapping node interface values. name old time/op new time/op delta Get 388ns ± 8% 215ns ± 2% -44.56% (p=0.000 n=15+15) GetDB 363ns ± 3% 202ns ± 2% -44.21% (p=0.000 n=15+15) UpdateBE 1.57µs ± 2% 1.29µs ± 3% -17.80% (p=0.000 n=13+15) UpdateLE 1.92µs ± 2% 1.61µs ± 2% -16.25% (p=0.000 n=14+14) HashBE 2.16µs ± 6% 2.18µs ± 6% ~ (p=0.436 n=15+15) HashLE 7.43µs ± 3% 7.21µs ± 3% -2.96% (p=0.000 n=15+13) * trie: close temporary databases in GetDB benchmark * trie: don't keep []byte from DB load around Nodes decoded from a DB load kept hashes and values as sub-slices of the DB value. This can be a problem because loading from leveldb often returns []byte with a cap that's larger than necessary, increasing memory usage. * trie: unload old cached nodes * trie, core/state: use cache unloading for account trie * trie: use explicit private flags (fixes Go 1.5 reflection issue). * trie: fixup cachegen overflow at request of nick * core/state: rename journal size constant | ||||
* | trie: fix delete bug for values contained in fullNode | Felix Lange | 2016-09-30 | 2 | -35/+127 |
| | | | | | | | | | Delete crashed if a fullNode contained a valueNode directly. This bug is very unlikely to occur with SecureTrie, but can happen with regular tries. This commit also introduces a randomised test which triggers all trie operations, which should prevent such bugs in the future. Credit for finding this bug goes to Github user @rjl493456442. | ||||
* | trie: remove dependency on package crypto | Felix Lange | 2016-09-30 | 1 | -3/+6 |
| | | | | | Package crypto needs cgo, which is inconvenient for some build configurations. | ||||
* | core, eth, trie: reuse trie journals in all our code | Péter Szilágyi | 2016-09-28 | 2 | -10/+94 |
| | |||||
* | core, trie: replace state caches with trie journal | Felix Lange | 2016-09-28 | 9 | -586/+350 |
| | |||||
* | Merge pull request #2627 from karalabe/concurrent-head-sync | Péter Szilágyi | 2016-05-31 | 1 | -1/+6 |
|\ | | | | | eth/downloader, trie: pull head state concurrently with chain | ||||
| * | eth/downloader, trie: pull head state concurrently with chain | Péter Szilágyi | 2016-05-27 | 1 | -1/+6 |
| | | |||||
* | | core, core/state, trie: enterprise hand-tuned multi-level caching | Péter Szilágyi | 2016-05-26 | 7 | -132/+216 |
|/ | |||||
* | all: fix go vet warnings | Felix Lange | 2016-04-15 | 2 | -2/+2 |
| | |||||
* | all: update license information | Felix Lange | 2016-04-15 | 3 | -1/+33 |
| | |||||
* | cmd, eth, ethdb, node: prioritise chaindata for resources, bump cache | Péter Szilágyi | 2016-03-09 | 1 | -1/+1 |
| | |||||
* | Merge pull request #2242 from jimenezrick/upstream-crypto | Jeffrey Wilcke | 2016-02-24 | 2 | -2/+2 |
|\ | | | | | Closes #2241: Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly | ||||
| * | all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}() | Ricardo Catalinas Jiménez | 2016-02-22 | 2 | -2/+2 |
| | | | | | | | | As we aren't really using the standarized SHA-3 | ||||
* | | core/state, trie: switch iterator panics to error fields | Péter Szilágyi | 2016-02-16 | 2 | -19/+25 |
| | | |||||
* | | core/state, trie: node iterator reports parent hashes too | Péter Szilágyi | 2016-02-16 | 1 | -8/+14 |
| | | |||||
* | | core/state, trie: surface iterator entry hashes | Péter Szilágyi | 2016-02-16 | 3 | -13/+47 |
| | | |||||
* | | core/state, trie: add node iterator, test state/trie sync consistency | Péter Szilágyi | 2016-02-16 | 2 | -8/+214 |
|/ | |||||
* | core/state, ethdb, trie: test intermediate secure key leak, fix memdb bug | Péter Szilágyi | 2016-01-20 | 1 | -2/+4 |
| | |||||
* | core/state, trie: don't leak database writes before commit | Péter Szilágyi | 2016-01-20 | 1 | -5/+44 |
| | |||||
* | light: implemented odr-capable trie and state structures | zsfelfoldi | 2015-12-17 | 5 | -15/+59 |
| | |||||
* | trie: added error handling | zsfelfoldi | 2015-12-01 | 7 | -68/+343 |
| | | | | Created alternate versions of Trie and SecureTrie functions that can return a MissingNodeError (used by ODR services) | ||||
* | core, eth, trie: fix data races and merge/review issues | Péter Szilágyi | 2015-10-21 | 1 | -1/+1 |
| | |||||
* | eth/downloader: concurrent receipt and state processing | Péter Szilágyi | 2015-10-19 | 2 | -8/+65 |
| | |||||
* | core, eth, trie: direct state trie synchronization | Péter Szilágyi | 2015-10-19 | 2 | -0/+490 |
| | |||||
* | trie: add merkle proof functions | Felix Lange | 2015-09-23 | 2 | -0/+261 |
| | |||||
* | core, trie: new trie | Felix Lange | 2015-09-23 | 16 | -931/+1075 |
| | |||||
* | trie: improve benchmarks | Felix Lange | 2015-09-23 | 1 | -34/+72 |
| | |||||
* | eth, trie: removed key prefixing from state entries & merge db fix | Jeffrey Wilcke | 2015-08-14 | 2 | -6/+0 |
| | | | | | | | | | Fixed database merge strategy to use the correct database. Due to a copy paste fail when doing type evaluation the same database was being iterated (chain), all others were ignored. Removed state prefixing because {H(code): code} is stored in the same database as the rest of the state. | ||||
* | core, eth, trie, xeth: merged state, chain, extra databases in one | Jeffrey Wilcke | 2015-08-08 | 2 | -2/+6 |
| | |||||
* | trie: run codec tests, add benchmarks, faster | Ethan Buchman | 2015-08-07 | 2 | -24/+70 |
| | |||||
* | faster hex-prefix codec and string -> []byte | Ethan Buchman | 2015-08-06 | 5 | -39/+30 |
| | |||||
* | Merge pull request #1515 from fjl/license-fixes | Jeffrey Wilcke | 2015-07-28 | 14 | -14/+14 |
|\ | | | | | all: fix license headers one more time | ||||
| * | all: fix license headers one more time | Felix Lange | 2015-07-24 | 14 | -14/+14 |
| | | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a. | ||||
* | | ethdb, trie: removed RLE compression | Jeffrey Wilcke | 2015-07-23 | 1 | -2/+2 |
|/ | |||||
* | all: update license headers to distiguish GPL/LGPL | Felix Lange | 2015-07-23 | 14 | -56/+56 |
| | | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library". | ||||
* | all: add some godoc synopsis comments | Felix Lange | 2015-07-07 | 1 | -0/+1 |
| | |||||
* | all: update license information | Felix Lange | 2015-07-07 | 14 | -0/+224 |
| | |||||
* | trie: removed shallow copies (thanks to @fjl) | Jeffrey Wilcke | 2015-07-04 | 1 | -1/+1 |
| | |||||
* | trie: dirty tracking | Jeffrey Wilcke | 2015-07-04 | 7 | -28/+73 |
| | |||||
* | trie: Implemented a batch write approach for flushing | obscuren | 2015-06-30 | 1 | -8/+18 |
| | |||||
* | trie: fixed tests | obscuren | 2015-06-21 | 1 | -1/+1 |
| | |||||
* | core, ethdb, trie: validate database errors | obscuren | 2015-06-21 | 1 | -2/+6 |
| | |||||
* | Secure trie shakey / key matching | obscuren | 2015-03-24 | 1 | -1/+10 |
| | |||||
* | fixed tests | obscuren | 2015-03-19 | 1 | -2/+7 |
| | |||||
* | Fixed mkdnode & added some tests | obscuren | 2015-03-19 | 2 | -6/+17 |
| | |||||
* | Moved ethutil => common | obscuren | 2015-03-16 | 5 | -25/+25 |
| | |||||
* | Merge branch 'develop' into poc-9 | obscuren | 2015-03-06 | 2 | -8/+22 |
|\ | |||||
| * | Start at 0 | obscuren | 2015-03-06 | 1 | -2/+1 |
| | | |||||
| * | Fixed iterator bug which skips the 0x000...000 key | = | 2015-03-05 | 1 | -7/+21 |
| | | |||||
* | | Trie => SecureTrie | obscuren | 2015-03-03 | 1 | -0/+4 |
| | | |||||
* | | Delet => Delete | obscuren | 2015-03-03 | 2 | -1/+33 |
| | | |||||
* | | Secure trie | obscuren | 2015-03-01 | 2 | -1/+32 |
|/ | |||||
* | Fixed iterator | obscuren | 2015-02-08 | 2 | -2/+40 |
| | |||||
* | Fixed a copy issue in the trie which could cause a consensus failure | obscuren | 2015-02-03 | 7 | -19/+53 |
| | |||||
* | debug err removed | obscuren | 2015-01-30 | 1 | -1/+1 |
| | |||||
* | default values removed | obscuren | 2015-01-30 | 2 | -4/+4 |
| | |||||
* | Moved ptrie => trie. Removed old trie | obscuren | 2015-01-08 | 11 | -909/+692 |
| | |||||
* | Refactored ethutil.Config.Db out | obscuren | 2015-01-07 | 3 | -62/+9 |
| | |||||
* | Fixed tests for 'types' | obscuren | 2014-11-19 | 1 | -0/+2 |
| | |||||
* | Merge branch 'tests' into poc8 | obscuren | 2014-11-19 | 3 | -211/+154 |
|\ | |||||
| * | update imports order per goimports | Taylor Gerring | 2014-11-16 | 2 | -2/+4 |
| | | |||||
| * | Merge branch 'develop' of https://github.com/tgerring/go-ethereum into tests | Taylor Gerring | 2014-11-15 | 1 | -7/+4 |
| |\ | | | | | | | | | | | | | | | | Conflicts: p2p/messenger_test.go trie/trie_test.go | ||||
| | * | convert trie encoding tests to checker | Taylor Gerring | 2014-11-13 | 1 | -38/+29 |
| | | | |||||
| | * | Convert trie tests to gocheck | Taylor Gerring | 2014-11-13 | 2 | -164/+119 |
| | | | |||||
| * | | Merge branch 'develop' of https://github.com/tgerring/go-ethereum | Taylor Gerring | 2014-11-15 | 3 | -204/+148 |
| | | | |||||
* | | | j => i | obscuren | 2014-11-18 | 1 | -1/+0 |
| | | | |||||
* | | | added output test | obscuren | 2014-11-18 | 1 | -1/+2 |
| | | | |||||
* | | | Added some comparison tests for the new ptrie | obscuren | 2014-11-18 | 2 | -1/+62 |
|/ / | |||||
* / | Transaction execution fixes | obscuren | 2014-11-12 | 2 | -14/+32 |
|/ | |||||
* | Added storage root to dump | obscuren | 2014-11-04 | 1 | -1/+1 |
| | |||||
* | ethtrie => trie | obscuren | 2014-10-31 | 6 | -0/+1394 |