Péter Szilágyi
d926bf2c7e
trie: cache collapsed tries node, not rlp blobs ( #16876 )
...
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).
2018-06-21 11:28:05 +02:00
Martin Holst Swende
4210dd1500
tracers: fix err in 4byte, add some opcode analysis tools
2018-06-20 11:42:57 +03:00
williambannas
9402f96597
eth: conform better to the golint standards ( #16783 )
...
* eth: made changes to conform better to the golint standards
* eth: fix comment nit
2018-06-14 13:14:52 +03:00
knarfeh
e75d0a6e4c
eth/filters: make filterLogs func more readable ( #16920 )
2018-06-14 12:27:02 +03:00
Wenbiao Zheng
ea89f40f0d
eth/fetcher: fix annotation ( #16969 )
2018-06-13 17:02:28 +03:00
Felföldi Zsolt
049f5b3572
core, eth, les: more efficient hash-based header chain retrieval ( #16946 )
2018-06-12 16:52:54 +03:00
Martin Holst Swende
eac16f9824
core: improve getBadBlocks to return full block rlp ( #16902 )
...
* core: improve getBadBlocks to return full block rlp
* core, eth, ethapi: changes to getBadBlocks formatting
* ethapi: address review concerns
2018-06-11 11:03:40 +03:00
Martin Holst Swende
400332b99d
eth/tracers: fix minor off-by-one error ( #16879 )
...
* tracing: fix minor off-by-one error
* tracers: go generate
2018-06-05 10:27:07 +03:00
Péter Szilágyi
143c4341d8
core, eth, trie: streaming GC for the trie cache ( #16810 )
...
* core, eth, trie: streaming GC for the trie cache
* trie: track memcache statistics
2018-06-04 10:47:43 +03:00
Wenbiao Zheng
38c7eb0f26
trie: rename TrieSync to Sync and improve hexToKeybytes ( #16804 )
...
This removes a golint warning: type name will be used as trie.TrieSync by
other packages, and that stutters; consider calling this Sync.
In hexToKeybytes len(hex) is even and (even+1)/2 == even/2, remove the +1.
2018-05-29 17:48:43 +02:00
kiel barry
84f8c0cc1f
common: improve documentation comments ( #16701 )
...
This commit adds many comments and removes unused code.
It also removes the EmptyHash function, which had some uses
but was silly.
2018-05-29 12:42:21 +02:00
Smilenator
40a2c52397
eth/fetcher: reuse variables for hash and number ( #16819 )
2018-05-29 10:57:08 +03:00
Wenbiao Zheng
d6ed2f67a8
eth, node, trie: fix minor typos ( #16802 )
2018-05-24 15:55:20 +03:00
Péter Szilágyi
d9cee2c172
eth: propagate blocks and transactions async
2018-05-21 11:32:42 +03:00
Péter Szilágyi
49719e21bc
core, eth: minor txpool event cleanups
2018-05-18 12:08:24 +03:00
rjl493456442
a2e43d28d0
all: collate new transaction events together
2018-05-18 11:46:44 +03:00
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
2018-05-09 15:24:25 +03:00
gary rong
4e7dc34ff1
eth/filter: check nil pointer when unsubscribe ( #16682 )
...
* eth/filter: check nil pointer when unsubscribe
* eth/filters, accounts, rpc: abort system if subscribe failed
* eth/filter: add crit log before exit
* eth/filter, event: minor fixes
2018-05-09 11:29:25 +03:00
kiel barry
4747aad160
eth: golint fixes to variable names ( #16711 )
2018-05-09 10:59:00 +03:00
Domino Valdano
fedae95015
eth/filters: derive FilterCriteria from ethereum.FilterQuery ( #16629 )
2018-05-08 14:39:15 +02:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
2018-05-07 14:35:06 +03:00
kiel barry
5b3af4c3d1
eth: golint updates for this or self warning ( #16632 )
...
* eth/*:golint updates for this or self warning
* eth/*: golint updates for this or self warning, pr updated per feedback
2018-05-03 15:15:33 +03:00
Péter Szilágyi
7a7428a027
core, eth: fix tracer dirty finalization
2018-04-27 14:29:18 +03:00
Domino Valdano
7cf83cee52
eth/downloader: fix for Issue #16539 ( #16546 )
2018-04-23 10:01:21 +03:00
Wuxiang
8f8774cf6d
all: fix various typos ( #16533 )
...
* fix typo
* fix typo
* fix typo
2018-04-19 16:32:02 +03:00
gary rong
de2a7bb764
eth/downloader: wait for all fetcher goroutines to exit before terminating ( #16509 )
2018-04-16 11:37:48 +03:00
Felix Lange
c7ab3e5544
common: delete StringToAddress, StringToHash ( #16436 )
...
* common: delete StringToAddress, StringToHash
These functions are confusing because they don't parse hex, but use the
bytes of the string. This change removes them, replacing all uses of
StringToAddress(s) by BytesToAddress([]byte(s)).
* eth/filters: remove incorrect use of common.BytesToAddress
2018-04-10 14:12:07 +03:00
gary rong
1100e8ba63
eth/downloader: flush state sync data before exit ( #16280 )
2018-04-09 14:46:27 +02:00
Yusup
7aad81f881
eth: fix typos ( #16414 )
2018-04-04 12:25:02 +02:00
gary rong
77da203547
eth: update higest block we know during the sync if a higher was found ( #16283 )
...
* eth: update higest block we know during the sync if a higher was found
* eth: avoid useless sync in fast sync
2018-03-09 11:51:30 +02:00
Kyuntae Ethan Kim
f6bef558aa
eth: fixed typo ( #16274 )
2018-03-07 11:15:54 +02:00
Péter Szilágyi
ca64a122d3
eth/downloader: save and load trie sync progress ( #16224 )
2018-03-03 00:52:39 +01:00
Andrey Petrov
2e9c8fd4fb
eth, les: allow exceeding maxPeers for trusted peers ( #16189 )
...
Fixes #3326 , #14472
2018-02-27 12:52:59 +02:00
Anton Evangelatov
ae9f97221a
metrics: pull library and introduce ResettingTimer and InfluxDB reporter ( #15910 )
...
* go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter.
* vendor: change nonsense/go-metrics to ethersphere/go-metrics
* go-metrics: add tests. move ResettingTimer logic from reporter to type.
* all, metrics: pull in metrics package in go-ethereum
* metrics/test: make sure metrics are enabled for tests
* metrics: apply gosimple rules
* metrics/exp, internal/debug: init expvar endpoint when starting pprof server
* internal/debug: tiny comment formatting fix
2018-02-23 11:56:08 +02:00
Péter Szilágyi
5cf1d35470
eth, les, light: filter on logs only, derive receipts on demand
2018-02-22 19:12:43 +02:00
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
2018-02-14 13:49:11 +01:00
Péter Szilágyi
57fd2da0fe
eth: only disable fast sync after success
2018-02-11 17:25:00 +02:00
Péter Szilágyi
96dad6b6f6
eth/downloader: don't require state for ancestor lookups
2018-02-11 14:43:56 +02:00
Péter Szilágyi
eb07dbb079
eth, light: minor light client startup cleanups
2018-02-08 07:49:23 +02:00
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
2018-02-05 17:40:32 +01:00
Felföldi Zsolt
c3f238dd53
les: limit LES peer count and improve peer configuration logic ( #16010 )
...
* les: limit number of LES connections
* eth, cmd/utils: light vs max peer configuration logic
2018-02-05 15:41:53 +02:00
Martin Holst Swende
bc0666fb27
eth/downloader: fix #15858 by checking if downloader dropPeer function is set ( #15992 )
2018-02-05 15:38:06 +02:00
Péter Szilágyi
566d5c0777
core, eth, les, light: get rid of redundant methods
2018-01-30 18:42:00 +02:00
Péter Szilágyi
1bf508b449
accounts/abi/bind: support event filtering in abigen
2018-01-24 10:54:13 +02:00
Nick Johnson
b06e20bc7c
eth/gasprice: set default percentile to 60%, count blocks instead of transactions ( #15828 )
...
The first should address a long term issue where we recommend a gas
price that is greater than that required for 50% of transactions in
recent blocks, which can lead to gas price inflation as people take
this figure and add a margin to it, resulting in a positive feedback
loop.
2018-01-10 13:57:36 +01:00
Felix Lange
9d06026c19
all: regenerate codecs with gencodec commit 90983d99de ( #15830 )
...
Fixes #15777 because null is now allowed for hexutil.Bytes.
2018-01-08 15:13:22 +02:00
Felix Lange
5c2f1e0014
all: update generated code ( #15808 )
...
* core/types, core/vm, eth, tests: regenerate gencodec files
* Makefile: update devtools target
Install protoc-gen-go and print reminders about npm, solc and protoc.
Also switch to github.com/kevinburke/go-bindata because it's more
maintained.
* contracts/ens: update contracts and regenerate with solidity v0.4.19
The newer upstream version of the FIFSRegistrar contract doesn't set the
resolver anymore. The resolver is now deployed separately.
* contracts/release: regenerate with solidity v0.4.19
* contracts/chequebook: fix fallback and regenerate with solidity v0.4.19
The contract didn't have a fallback function, payments would be rejected
when compiled with newer solidity. References to 'mortal' and 'owned'
use the local file system so we can compile without network access.
* p2p/discv5: regenerate with recent stringer
* cmd/faucet: regenerate
* dashboard: regenerate
* eth/tracers: regenerate
* internal/jsre/deps: regenerate
* dashboard: avoid sed -i because it's not portable
* accounts/usbwallet/internal/trezor: fix go generate warnings
2018-01-08 14:15:57 +02:00
Péter Szilágyi
ae71da1b03
eth: fix tracer panic when running without configs + reexec ( #15799 )
2018-01-04 12:58:11 +01:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
2018-01-03 14:45:35 +02:00
Furkan KAMACI
b8caba9709
various: remove redundant parentheses ( #15793 )
2018-01-03 14:14:47 +02:00