Felix Lange
1f1ea18b54
core/state: implement reverts by journaling all changes
...
This commit replaces the deep-copy based state revert mechanism with a
linear complexity journal. This commit also hides several internal
StateDB methods to limit the number of ways in which calling code can
use the journal incorrectly.
As usual consultation and bug fixes to the initial implementation were
provided by @karalabe, @obscuren and @Arachnid. Thank you!
2016-10-06 15:32:16 +02:00
Péter Szilágyi
ab7adb0027
Merge pull request #3073 from fjl/build-git17
...
internal/build: use less edgy command to get the branch name
2016-10-03 11:34:28 +03:00
Felix Lange
b4b5921dd0
internal/build: use less edgy command to get the branch name
2016-10-03 10:22:14 +02:00
Péter Szilágyi
c683e4aaa2
Merge pull request #3072 from karalabe/state-storage-dirty
...
core/state: track dirty state entries for each object
2016-10-03 11:15:48 +03:00
Péter Szilágyi
b7159818f9
core/state: track dirty state entries for each object
2016-10-03 10:48:01 +03:00
Péter Szilágyi
d4b55fc5b2
Merge pull request #3066 from fjl/build-env
...
build: improve debian packaging
2016-10-02 14:44:30 +03:00
Felix Lange
4f7627972e
build: improve debian packaging
...
This commit tweaks the debian packaging tool:
* All build environment metadata can now be overriden on the command
line. This allows testing the CI build behaviour locally.
* -unstable packages now actually contain the binaries (oops)
* packages use Go 1.7 to build
* archiving is skipped for PR builds
2016-10-02 13:08:56 +02:00
Felix Lange
920e1ccfe0
Merge pull request #3068 from fjl/update-sha3
...
crypto/sha3: update from golang.org/x/crypto/sha3 a 80b25ed4
2016-10-01 21:45:29 +02:00
Felix Lange
54ea317375
crypto/sha3: update from golang.org/x/crypto/sha3 a 80b25ed4
...
This pulls in the assembly implementation of keccakf1600 for amd64.
2016-10-01 21:26:43 +02:00
Péter Szilágyi
0731b44809
Merge pull request #3067 from karalabe/vm-avoid-hashing
...
cmd, core, internal, light, tests: avoid hashing the code in the VM
2016-10-01 16:58:49 +03:00
Péter Szilágyi
cb84e3f029
cmd, core, internal, light, tests: avoid hashing the code in the VM
2016-10-01 16:01:58 +03:00
Péter Szilágyi
d8715fba1a
Merge pull request #3062 from fjl/trie-delete-bug
...
trie: fix delete bug for values contained in fullNode
2016-09-30 16:44:00 +03:00
Felix Lange
b4cc8cbac4
Merge pull request #3032 from Gustav-Simonsson/keystore_padding
...
accounts: left pad keybytes-to-encrypt
2016-09-30 11:30:54 +02:00
Felix Lange
c3a77d6268
trie: fix delete bug for values contained in fullNode
...
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.
2016-09-29 22:53:59 +02:00
Felix Lange
ba8c4c6b1a
trie: remove dependency on package crypto
...
Package crypto needs cgo, which is inconvenient for some build
configurations.
2016-09-29 22:23:24 +02:00
Felix Lange
44bc2e80dd
Merge pull request #2914 from fjl/node-coinhabit
...
cmd/utils, node: make datadir reusable for bzzd
2016-09-29 14:24:37 +02:00
Péter Szilágyi
4e8cec05ab
Merge pull request #3048 from sandakersmann/patch-2
...
README: Changed http:// to https:// on some links
2016-09-29 10:29:53 +03:00
ken10100147
afecb93e2e
p2p/nat: fix parameter order for AddMapping
2016-09-28 12:11:58 +02:00
Péter Szilágyi
437c3863f1
Merge pull request #3053 from karalabe/fjl-state-trie-journal
...
core, trie: replace state caches with trie journal
2016-09-28 12:53:54 +03:00
Péter Szilágyi
710435b51b
core, eth, trie: reuse trie journals in all our code
2016-09-28 11:27:31 +03:00
Felix Lange
cd791bd855
core, trie: replace state caches with trie journal
2016-09-28 11:27:28 +03:00
Gustav Simonsson
7cc6b801e0
accounts: left pad keybytes-to-encrypt, add 30/31 byte keys tests
2016-09-27 13:07:33 -04:00
sandakersmann
5a3844981b
README: Changed http:// to https:// on some links
...
Changed http:// to https:// on some links in README.md
2016-09-27 08:48:55 +02:00
Felix Lange
863d166c7b
Merge pull request #3043 from fjl/windows-fix-fatalf
...
cmd/utils: don't check for stderr redirect on windows
2016-09-26 18:29:56 +02:00
Felix Lange
b04219fdbb
cmd/utils: don't check for stderr redirect on windows
...
The redirect check did not work on Go 1.6 and below because Stat
returned an error for stdout and stderr. In Go 1.7 Stat works on stdout
but doesn't return anything meaningful, causing cmd/geth test failures
because the message is printed to stderr only. Fix it by printing to
stdout only.
2016-09-26 17:35:19 +02:00
Péter Szilágyi
61734cc7ae
Merge pull request #3041 from fjl/build-less-parallel
...
build: limit test concurrency
2016-09-26 16:31:10 +03:00
Felix Lange
0951524ca2
travis.yml: remove go 1.4 builder
2016-09-26 13:48:15 +02:00
Felix Lange
b0a6b979a3
build: limit test concurrency
...
TravisCI and AppVeyor run the tests in very slow VMs.
Some of our tests can't cope with that. Running less tests
in parallel should make them somewhat less flakey.
2016-09-26 13:41:18 +02:00
Péter Szilágyi
7f2b077da4
Merge pull request #3040 from karalabe/dummy
...
accounts/abi: fix typo in the comment (dummy commit)
2016-09-26 13:42:15 +03:00
Péter Szilágyi
06ac31cf1a
accounts/abi: fix typo in the comment (dummy commit)
2016-09-26 13:40:28 +03:00
Péter Szilágyi
2e14aff80f
Merge pull request #3037 from karalabe/state-caching
...
State caching
2016-09-26 11:20:47 +03:00
Felix Lange
a59a93f476
core/state: track all accounts in canon state
...
This change introduces a global, per-state cache that keeps account data
in the canon state. Thanks to @karalabe for lots of fixes.
2016-09-26 10:09:52 +02:00
Péter Szilágyi
e859f36967
Merge pull request #3035 from Gustav-Simonsson/zero_value_transfer_noop
...
core/state: short-circuit balance change if zero value
2016-09-26 08:47:20 +03:00
Gustav Simonsson
25ed5fedda
core/state: short-circuit balance change if zero value
2016-09-26 01:26:54 -04:00
Felix Lange
3778f1bf77
Merge pull request #3009 from Gustav-Simonsson/fix_oom_in_light
...
light: fix memory expansion bug (same as fix for core/state)
2016-09-22 13:11:59 +02:00
Felix Lange
f85f46461f
Merge pull request #3021 from bas-vk/ethclient-logs
...
ethclient: bugfix retrieving logs
2016-09-21 15:08:14 +02:00
Bas van Kervel
5bb517355e
ethclient: bugfix retrieving logs
2016-09-21 14:10:11 +02:00
Gustav Simonsson
22eea17b06
light: fix memory expansion bug (same as fix for core/state)
2016-09-19 15:26:55 -04:00
Felix Lange
c8d6efd602
Merge pull request #3010 from Gustav-Simonsson/remove_unused_initcode_field
...
core/state, light: remove unused StateObject.initCode
2016-09-19 09:58:14 +02:00
Gustav Simonsson
b6b17e5648
core/state, light: remove unused StateObject.initCode
2016-09-19 02:16:58 -04:00
Péter Szilágyi
88b012ad3b
Merge pull request #3006 from Arachnid/patch
...
core/state: Fix memory expansion bug by not copying clean objects
2016-09-19 04:20:14 +03:00
Nick Johnson
581b320b9d
core/state: Fix memory expansion bug by not copying clean objects
2016-09-19 08:57:08 +08:00
Felix Lange
b42a5b118f
common, node: move datadir defaults into package node
2016-09-16 15:24:31 +02:00
Felix Lange
eeb322ae64
node: ensure datadir can be co-inhabited by different instances
...
This change ensures that nodes started with different Name but same
DataDir values don't use the same nodekey and IPC socket.
2016-09-16 15:24:31 +02:00
Felix Lange
52ede09b17
ethdb: add accessor for database directory
2016-09-16 15:24:31 +02:00
Felix Lange
f5c432bcab
p2p/nat: delay auto discovery until first use
...
Port mapper auto discovery used to run immediately after parsing the
--nat flag, giving it a slight performance boost. But this is becoming
inconvenient because we create node.Node for all geth operations
including account management and bare chain interaction. Delay
autodiscovery until the first use instead, which avoids any network
interaction until the node is actually started.
2016-09-16 11:06:52 +02:00
Péter Szilágyi
7c12e8ea44
Merge pull request #2999 from karalabe/bury-blockchain-version
...
cmd, eth: drop the blockchain version from cli/eth configs
2016-09-15 14:41:10 +03:00
Péter Szilágyi
30860491ba
cmd, eth: drop the blockchain version from cli/eth configs
2016-09-15 14:09:47 +03:00
Felix Lange
0f6f83a709
Merge pull request #2983 from bas-vk/txindex
...
miner: set tx index logs
2016-09-14 21:05:17 +02:00
Bas van Kervel
e3fe634f99
miner: set tx index logs
2016-09-12 11:33:25 +02:00