Péter Szilágyi
d87f7a1e81
eth: skip transaction handling during fast sync
2016-05-17 14:17:20 +03:00
Péter Szilágyi
e86619e75d
eth/downloader: stream partial skeleton filling to processor
2016-05-17 10:03:34 +03:00
Péter Szilágyi
b40dc8a1da
eth/downloader: implement concurrent header downloads
2016-05-17 10:03:34 +03:00
Péter Szilágyi
39ce85cf5d
eth/downloader: bound fork ancestry and allow heavy short forks
2016-05-13 12:12:13 +02:00
Péter Szilágyi
756b62988c
Merge pull request #2523 from fjl/shutdown
...
core, eth, miner: improve shutdown synchronisation
2016-05-09 15:59:41 +03:00
Felix Lange
56ed6152a1
core, eth, miner: improve shutdown synchronisation
...
Shutting down geth prints hundreds of annoying error messages in some
cases. The errors appear because the Stop method of eth.ProtocolManager,
miner.Miner and core.TxPool is asynchronous. Left over peer sessions
generate events which are processed after Stop even though the database
has already been closed.
The fix is to make Stop synchronous using sync.WaitGroup.
For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
a way to stop new peer sessions from being added while waiting on the
WaitGroup. The eth protocol Run function now selects on a signaling
channel and adds to the WaitGroup only if ProtocolManager is not
shutting down.
For miner.worker and core.TxPool the number of goroutines is static,
WaitGroup can be used in the usual way without additional
synchronisation.
2016-05-09 13:03:08 +02:00
Jeffrey Wilcke
7d59c5c58d
eth: fixed tracing functions using the current header instead of parent
...
Fixes #2525
2016-05-09 10:24:31 +02:00
Péter Szilágyi
586eddfd09
release, all: integrate the release service into geth
2016-05-02 16:20:21 +03:00
Felix Lange
1c20313a6a
Merge pull request #2493 from almindor/develop
...
eth: add personal_importRawKey
2016-04-29 23:09:37 +02:00
Ales Katona
572da73d4d
eth: add personal_importRawKey for runtime private key import
2016-04-28 09:11:40 -06:00
Bas van Kervel
48cc36ce83
eth/filters: ignore logs that don't match filter criteria on chain reorg
2016-04-28 12:33:42 +02:00
Péter Szilágyi
cdcbb2f160
accounts/abi/bind, eth: add contract non-existent error
2016-04-27 17:15:23 +03:00
Felix Lange
a40e61b4ac
rpc: remove NotifierContextKey
...
Context keys must have a unique type in order to prevent
any unintented clashes. The code used int(1) as key.
Fix it by implementing the pattern recommended by package context.
2016-04-15 18:10:52 +02:00
Felix Lange
6fdd0893c3
all: fix go vet warnings
2016-04-15 11:17:27 +02:00
Felix Lange
24cdac41f3
core, core/types, eth: add and use Block.Body
...
This fixes a few uses of unkeyed Body literals which go vet was
complaining about.
2016-04-15 10:57:37 +02:00
Felix Lange
d04a2e7557
all: update license information
2016-04-15 09:48:05 +02:00
Péter Szilágyi
53016c1225
eth, rpc: make trace configs optional
2016-04-14 15:10:29 +03:00
Péter Szilágyi
bbc77f488e
eth: fix single transaction tracing (run prev mutations)
2016-04-14 14:29:47 +03:00
Felix Lange
bcd8aeefdd
eth: add chaindbProperty to debug API
2016-04-13 12:08:07 +02:00
Péter Szilágyi
1e9b504ee7
Merge pull request #2284 from fjl/accounts-addr-cache
...
accounts: cache key addresses
2016-04-12 17:51:09 +03:00
Felix Lange
46df50be18
accounts: improve API and add documentation
...
- Sign takes common.Address, not Account
- Import/Export methods work with encrypted JSON keys
2016-04-12 15:59:18 +02:00
Felix Lange
549f1add29
eth: report unlock errors to RPC clients
2016-04-12 15:59:12 +02:00
Felix Lange
46e8940b19
accounts: streamline API
...
- Manager.Accounts no longer returns an error.
- Manager methods take Account instead of common.Address.
- All uses of Account with unkeyed fields are converted.
2016-04-12 15:58:01 +02:00
Felix Lange
85e6c40c00
accounts, crypto: move keystore to package accounts
...
The account management API was originally implemented as a thin layer
around crypto.KeyStore, on the grounds that several kinds of key stores
would be implemented later on. It turns out that this won't happen so
KeyStore is a superflous abstraction.
In this commit crypto.KeyStore and everything related to it moves to
package accounts and is unexported.
2016-04-12 15:56:49 +02:00
Péter Szilágyi
aceaaa5178
eth: gracefully fail if chain config is missing
2016-04-12 16:48:43 +03:00
Jeffrey Wilcke
8627680e24
Merge pull request #2359 from bas-vk/rpc-optional-args
...
rpc: several fixes and support for optional arguments
2016-04-12 14:03:21 +02:00
Bas van Kervel
aa9fff3e68
rpc: various fixes/enhancements
...
rpc: be less restrictive on the request id
rpc: improved documentation
console: upgrade web3.js to version 0.16.0
rpc: cache http connections
rpc: rename wsDomains parameter to wsOrigins
2016-04-12 11:02:39 +02:00
Péter Szilágyi
bf1f620343
eth: fix GPU miner chain config regression
2016-04-11 17:31:00 +03:00
Jeffrey Wilcke
ed92f116f7
Merge pull request #2407 from bas-vk/rpc-notifications
...
RPC pub sub
2016-04-05 09:43:32 +02:00
Felix Lange
cf842b3fe5
cmd/geth, eth: move --genesis deprecation warning to cmd/geth
...
This prevents display of the warning for --dev and --olympic.
2016-04-01 21:59:35 +02:00
Bas van Kervel
f7328c5ecb
rpc: add pub/sub support
2016-04-01 18:26:35 +02:00
Jeffrey Wilcke
be44651523
Merge pull request #2402 from obscuren/eth-sign-fix
...
eth: enforce signing hashes using eth_sign instead of arbitrary data
2016-04-01 13:42:48 +02:00
Jeffrey Wilcke
1f3596c25a
core: transition db now also returns the required gas amount
...
Exposes some core methods to transition and compute new state
information and adds an additional return value to the transition db
method to fetch required gas for that particular message (excluding gas
refunds from any SSTORE[X] = 0 and SUICIDE.
Fixes #2395
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
9055c16efa
accounts/a/b/backends, core: chain maker homestead block set to 0
...
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
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
f0cbebb19f
core: added basic chain configuration
...
Added chain configuration options and write out during genesis database
insertion. If no "config" was found, nothing is written to the database.
Configurations are written on a per genesis base. This means
that any chain (which is identified by it's genesis hash) can have their
own chain settings.
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
916fe11241
eth: enforce signing hashes using eth_sign instead of arbitrary data
2016-04-01 00:43:14 +02:00
Péter Szilágyi
4326061e35
eth: fix accidental nil panic on nil errors
2016-03-31 18:26:25 +03:00
Péter Szilágyi
6c670eff01
eth: manually convert errors to strings on the trace API (json cannot)
2016-03-31 17:41:26 +03:00
Péter Szilágyi
72826bb5ad
accounts/abi/bind, cmd/abigen: Go API generator around an EVM ABI
2016-03-24 14:15:18 +02:00
Jeffrey Wilcke
75c86f8646
Merge pull request #2141 from obscuren/evm-init
...
core, core/vm, tests: changed the initialisation behaviour of the EVM
2016-03-23 23:20:51 +01:00
Jeffrey Wilcke
0cfa21fc7f
core, eth, cmd: temporary work around for enabling the jit
...
This commit serves as a temporary workaround for enabling the jit until
the block customisation PR is merged in.
2016-03-23 23:02:44 +01:00
Jeffrey Wilcke
5f92606be2
eth/api: added root to the receipts
2016-03-23 23:02:44 +01:00
Jeffrey Wilcke
3601320ccd
eth, rpc: implemented block debugging rpc calls
...
Implemented the following block debugging RPC calls
* Block(RLP)
* BlockByFile(fileName)
* BlockByNumber(number)
* BlockByHash(hash)
2016-03-23 23:02:44 +01:00
Jeffrey Wilcke
14013372ae
core: Added EVM configuration options
...
The EVM is now initialised with an additional configured object that
allows you to turn on debugging options.
2016-03-23 23:02:42 +01:00
Péter Szilágyi
0228fb57cd
eth, miner: fetch pending block/state in on go (data race)
2016-03-16 11:23:26 +02:00
Leif Jurvetson
434e4b31d8
core, eth: replace reorganiz with reorganis
2016-03-15 12:03:17 -07:00
Leif Jurvetson
bbbe2360d0
eth: various typos
2016-03-15 11:27:49 -07:00
Péter Szilágyi
e3f2b541f2
eth/downloader: fix a throughput estimation data race
2016-03-10 12:58:46 +02:00
Péter Szilágyi
e90958cd29
cmd, eth, ethdb, node: prioritise chaindata for resources, bump cache
2016-03-09 10:33:39 +02:00
Péter Szilágyi
ae4982a365
eth: forward empty body responses to the downlaoder
2016-03-03 13:06:23 +02:00
Péter Szilágyi
f30b809f00
Merge pull request #2215 from bas-vk/estimategas
...
core: improved check for contract creation
2016-03-01 10:59:12 +02:00
Péter Szilágyi
64ee5763ee
eth/downloader: fix premature exit before notifying all part fetchers
2016-02-29 14:22:28 +02:00
Felix Lange
26e72b2ccd
eth/downloader: fix header download limiting
...
Fixes #2201
2016-02-26 15:24:51 +01:00
Péter Szilágyi
a6903ad6a5
Merge pull request #2260 from karalabe/ethash-cache-fixes
...
Godeps, eth, tests: update ethash, used shared for testing
2016-02-24 17:58:12 +02:00
Péter Szilágyi
66b148dd8f
Merge pull request #2251 from karalabe/increase-downlaoder-queue
...
eth/downloader: bump the download queue size to prevent starvation
2016-02-24 15:55:21 +02:00
Jeffrey Wilcke
483feb0d3f
Merge pull request #2242 from jimenezrick/upstream-crypto
...
Closes #2241 : Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly
2016-02-24 12:57:57 +01:00
Péter Szilágyi
0a5ee08e2b
Godeps, eth, tests: update ethash, used shared for testing
2016-02-24 13:29:47 +02:00
Péter Szilágyi
93c0012000
eth/downloader: bump the download queue size to prevent starvation
2016-02-23 13:12:11 +02:00
Péter Szilágyi
b57a3f154f
Merge pull request #2234 from obscuren/tx-rpc-fix
...
eth: fixed homestead tx check
2016-02-23 10:29:25 +02:00
Péter Szilágyi
1f281dcaab
Merge pull request #2220 from karalabe/fix-rollback-lock
...
eth/downloader: fix partial rollback and ancestor lookup
2016-02-23 10:27:51 +02:00
Ricardo Catalinas Jiménez
436fc8d76a
all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
...
As we aren't really using the standarized SHA-3
2016-02-21 22:34:34 +00:00
Jeffrey Wilcke
c616391df2
eth: fixed homestead tx check
...
When a block is queried for retrieval we should add a check whether the
block falls within the frontier rules. If we'd always use `From`
retrieving transaction might fail. This PR temporarily changes
everything to `FromFrontier` (safe!).
2016-02-20 12:39:41 +01:00
Péter Szilágyi
216729009b
eth/downloader: fix partial rollback and ancestor lookup
2016-02-19 11:17:02 +02:00
Gustav Simonsson
371871d685
parmas, crypto, core, core/vm: homestead consensus protocol changes
...
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
2016-02-18 10:08:11 +01:00
Bas van Kervel
0ff2adb21b
core: improved check for contract creation
2016-02-16 10:52:46 +01:00
Jeffrey Wilcke
987c1a595a
eth/filters: ✨ pending logs ✨
...
Pending logs are now filterable through the Go API. Filter API changed
such that each filter type has it's own bucket and adding filter
explicitly requires you specify the bucket to put it in.
2016-02-13 13:14:02 +01:00
Péter Szilágyi
537774e049
Merge pull request #2195 from obscuren/gpo-rpc
...
eth: Added GPO to suggest default gas prices
2016-02-11 10:36:37 +02:00
Jeffrey Wilcke
725f2a4cf7
eth: Added GPO to suggest default gas prices
...
This PR fixes a regression of the RPC where the default gas price that
was being used for transaction wasn't properly using the GPO. This PR
adds the GPO back to suggest gas prices rather than the hardcoded
default of 10000000000000.
Closes #2194
2016-02-10 16:50:50 +01:00
Péter Szilágyi
59cd60b266
eth, eth/downloader, jsre: surface state sync progress through the API
2016-02-10 14:30:41 +02:00
Péter Szilágyi
dda5af0e6c
eth, miner: move the public miner api into eth to access etherbase
2016-02-09 16:03:04 +02:00
Péter Szilágyi
f1ec226d80
eth/downloader: raise pending state limit that prevented concurrency
2016-02-08 14:57:02 +02:00
Bas van Kervel
5fb68f4b39
eth: sendTransaction would not report the error when tx could not be added to tx pool
2016-02-08 11:11:07 +01:00
Jeffrey Wilcke
707ac67bab
Merge pull request #2106 from obscuren/out-of-bound-logs
...
eth/filters: added notifications for out of bound log events
2016-02-06 01:11:42 +01:00
Jeffrey Wilcke
68dda34905
eth/filters: added notifications for out of bound log events
...
Out of Bound log events are events that were removed due to a fork. When
logs are received the filtering mechanism should check for the `removed`
field on the json structure.
2016-02-05 16:55:27 +01:00
Péter Szilágyi
6b939fbeaa
rpc: add jsonrpc version to module request, use json types
2016-02-04 16:55:50 +02:00
Péter Szilágyi
5da7ec7c18
cmd, eth, rpc: fix some RPC issues with pending blocks
2016-02-03 10:35:59 +02:00
Péter Szilágyi
a8fd0de0d3
Merge pull request #2156 from ppratscher/add_replay_tx
...
core/vm, rpc/api: added debug_replayTransaction RPC call
2016-02-03 10:34:52 +02:00
Peter Pratscher
15780ead07
core/vm, rpc/api: renamed to debug.replayTransaction, migrated to new RPC, integrated feedback
...
Integrated code review suggestions
Integrated last review comments
2016-02-02 15:20:18 +01:00
Péter Szilágyi
d3642b0715
core, eth, rpc/api: rpc method to inspect the txpool queue
2016-02-01 14:58:14 +02:00
Bas van Kervel
19b2640e89
rpc: migrated the RPC insterface to a new reflection based RPC layer
2016-01-26 13:51:50 +01:00
Bas van Kervel
6e7620afe0
eth: changed NodeInfo Genesis and Head types
2016-01-18 13:28:03 +01:00
Péter Szilágyi
9e011ff1cd
core, eth/downloader: ensure state presence in ancestor lookup
2016-01-04 16:27:23 +02:00
Péter Szilágyi
1f39746886
eth/downloader: throttling tests are time-sensitive, don't run parallel
2015-12-30 14:42:21 +02:00
Felix Lange
e6fb69296e
common: remove old RLP implementation, Value and ExtPackage
...
In order to make this happen, kill all remaining trivial uses of
common/{rlp,value}.go. The non-trivial ones have been updated earlier.
2015-12-18 12:09:10 +01:00
Felix Lange
9be5d5cd90
eth/downloader: fix negative balance issue in tests
...
The test chain generated by makeChainFork included invalid uncle
headers, crashing the generator during the state commit.
The headers were invalid because they used the iteration counter as the
block number, even though makeChainFork uses a block with number > 0 as
the parent. Fix this by introducing BlockGen.Number, which allows
accessing the actual number of the block being generated.
2015-12-18 12:09:10 +01:00
Jeffrey Wilcke
82a024d425
Merge pull request #1997 from zsfelfoldi/gasprice2
...
core: tx pool skip price validation for "owned" transactions
2015-12-17 12:45:45 +01:00
Péter Szilágyi
e51eeb8104
eth: fix #2076 , where end of hash query was interpreted number query
2015-12-16 08:44:13 +02:00
zsfelfoldi
975c591261
core: tx pool skip price validation for "owned" transactions
2015-12-16 03:21:17 +01:00
Péter Szilágyi
d8370a4e15
core, eth, node, rpc: port the admin and debug API
2015-12-14 19:36:51 +02:00
Bas van Kervel
eae81465c1
rpc: new RPC implementation with pub/sub support
2015-12-14 16:34:05 +01:00
Bas van Kervel
61ca14bc44
eth: use global event mux instead
2015-12-01 11:01:40 +01:00
Péter Szilágyi
3e1000fda3
cmd, eth, node, rpc, xeth: use single-instance services
2015-11-27 11:06:12 +02:00
Péter Szilágyi
1e806c4c77
cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks
2015-11-27 11:06:12 +02:00
Péter Szilágyi
b6f5523bdc
eth/downloader: fetch data proportionally to peer capacity
2015-11-19 17:01:39 +02:00
Jeffrey Wilcke
7399b138a8
Merge pull request #1923 from karalabe/cleanup-receipt-data-access
...
core, eth, miner, xeth: clean up tx/receipt db accessors
2015-11-19 15:28:15 +01:00
Jeffrey Wilcke
65bb07fb4e
Merge pull request #1980 from fjl/downloader-deliver-hang
...
eth/downloader: don't hang for spurious deliveries
2015-11-19 15:19:21 +01:00
Péter Szilágyi
e86e0ecdc8
core, eth, miner, xeth: clean up tx/receipt db accessors
2015-11-19 16:03:32 +02:00
Felix Lange
dd09af27af
eth/downloader: run tests in parallel
2015-11-19 14:18:35 +01:00
Felix Lange
b7b62d4b3c
eth/downloader: also drain stateCh, receiptCh in eth/61 mode
...
State and receipt deliveries from a previous eth/62+ sync can hang if
the downloader has moved on to syncing with eth/61. Fix this by also
draining the eth/63 channels while waiting for eth/61 data.
A nicer solution would be to take care of the channels in a central
place, but that would involve a major rewrite.
2015-11-19 14:18:35 +01:00
Felix Lange
db52a6a0ff
eth: remove workaround for asynchronous processing in the downloader
2015-11-19 14:18:34 +01:00