Commit Graph

1099 Commits

Author SHA1 Message Date
Péter Szilágyi
1e50f5dd28 Merge pull request #2159 from zsfelfoldi/light-backend
eth: separate common and full node-specific API and backend service
2016-06-30 12:57:50 +03:00
Péter Szilágyi
f127799d79 Merge pull request #2750 from sybiload/develop
cmd/geth: fix the import error message
2016-06-29 14:12:46 +03:00
Yohann LEON
6b1d73446d cmd/geth: fix the import error message
cmd/geth: include the error message on import failure
2016-06-29 13:08:32 +02:00
Péter Szilágyi
6362a9d610 Revert "test, cmd/evm, core, core/vm: illegal code hash implementation"
This reverts commit 7a5b571c671e70e0e4807cf971c15e2d1e09d33d.
2016-06-29 11:44:51 +03:00
Péter Szilágyi
d55fc35df1 Revert "core: add voting and result tracking for the dao soft-fork"
This reverts commit c4de28938ff8c688c4444c8b3e8e28a52cbc62ff.
2016-06-29 11:44:40 +03:00
Péter Szilágyi
67e9d33486 Revert "core: update DAO soft-fork number, clean up the code"
This reverts commit ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.
2016-06-29 11:44:29 +03:00
Péter Szilágyi
ba784bdf36 core: update DAO soft-fork number, clean up the code 2016-06-23 17:16:43 +03:00
Péter Szilágyi
c4de28938f core: add voting and result tracking for the dao soft-fork 2016-06-23 16:43:35 +03:00
Jeffrey Wilcke
7a5b571c67 test, cmd/evm, core, core/vm: illegal code hash implementation
This implements a generic approach to enabling soft forks by allowing
anyone to put in hashes of contracts that should not be interacted from.
This will help "The DAO" in their endevour to stop any whithdrawals from
any DAO contract by convincing the mining community to accept their code
hash.
2016-06-22 11:38:25 +03:00
zsfelfoldi
3a97280ae8 eth: separate common and full node-specific API and backend service 2016-06-16 17:36:38 +02:00
Péter Szilágyi
79ada05756 Merge pull request #2693 from obscuren/evm-bin-create
cmd/evm: added --create flag indicating the exec code is to be created
2016-06-15 11:35:34 +03:00
Tosh Camille
ac66d96c5a cmd/utils: add space between "to" and filename 2016-06-15 11:02:22 +03:00
Jeffrey Wilcke
e5165aeb27 cmd/evm: added --create flag indicating the exec code is to be created
This fixes an issue if you wanted to test out code deployment rather
than running a piece of code with an argument. This solves it by adding
a --create flag that indicates the Create function should be used rather
than the Call function.

This also adds a statedb.commit call so that the proper state can be
dumped when requested using the --dump flag.
2016-06-14 17:11:33 +02:00
Jeffrey Wilcke
a38be3eb48 Merge pull request #2455 from zsfelfoldi/chaindb
core: improved chain db performance by using sequential keys
2016-06-13 15:16:09 +02:00
Péter Szilágyi
90e07b19ab cmd: fix CLI package deprecation warnings 2016-06-10 11:23:00 +03:00
Bas van Kervel
861add3d72 cmd/geth: codegansta/cli package renamed to urfave/cli 2016-06-09 15:37:13 +02:00
Péter Szilágyi
7c0eb47dfb cmd/geth: fix the keystore path in the accounts help text 2016-06-08 17:00:18 +03:00
Péter Szilágyi
32258af87b cmd/geth: truly randomize console test RPC endpoints 2016-06-08 13:53:07 +03:00
zsfelfoldi
f9917c8c7b core: improved chainDb using sequential keys 2016-06-07 16:38:56 +02:00
Felix Lange
b57b6e341e cmd/geth: make console tests more robust
* use --port 0 to avoid p2p port conflicts
* use --maxpeers 0 so it doesn't connect to bootstrap nodes
* use geth.expectExit() to wait for termination
2016-06-03 11:08:55 +02:00
Péter Szilágyi
da729e5b38 cmd/geth, console: fix reviewer issues 2016-05-31 10:59:38 +03:00
Péter Szilágyi
ffaf58f0a9 cmd, console: split off the console into a reusable package 2016-05-30 17:25:23 +03:00
Felix Lange
ca18202eb9 eth: enable bad block reports
We used to have reporting of bad blocks, but it was disabled
before the Frontier release. We need it back because users
are usually unable to provide the full RLP data of a bad
block when it occurs.

A shortcoming of this particular implementation is that the
origin peer is not tracked for blocks received during eth/63
sync. No origin peer info is still better than no report at
all though.
2016-05-25 02:02:51 +02:00
Bas van Kervel
64a6c2c1b6 eth: add new RPC method (personal.) SignAndSendTransaction 2016-05-20 15:54:18 +02:00
Felix Lange
86da6feb40 cmd/geth: fix console history exclusion
Calls to 'personal' API should be excluded from console history because
they can be called with an account passphrase as argument. The check for
such calls was inverted and didn't work.
2016-05-14 00:10:41 +02:00
Péter Szilágyi
d89e57ea8d Merge pull request #2549 from karalabe/geth-tester-text-templates
cmd/geth: use text/templates in the tester, not html
2016-05-11 13:51:11 +03:00
Péter Szilágyi
284f1d6beb cmd/geth: use text/templates in the tester, not html 2016-05-11 11:58:48 +03:00
Péter Szilágyi
bc6fdad786 cmd/geth, internal/web3ext, rpc: surface rpc module, fix shh, fix miner 2016-05-11 11:49:44 +03:00
Felix Lange
f61e203c10 cmd/utils: fix build on *BSD 2016-05-09 13:13:44 +02:00
Felix Lange
130bccc763 cmd/utils: flush trace and CPU profile data when force-qutting
Also reduce log messages a little bit.
2016-05-06 11:16:47 +02:00
Jeffrey Wilcke
14d5033c9d cmd/geth: fixed to use proper version string for output 2016-05-03 14:01:37 +02:00
Péter Szilágyi
4536b993ff cmd/geth, release: polish and deploy live release contract 2016-05-02 16:20:58 +03:00
Péter Szilágyi
586eddfd09 release, all: integrate the release service into geth 2016-05-02 16:20:21 +03:00
Gustav Simonsson
ecd7199c43 common/versions, cmd/utils: add geth version contract 2016-05-02 10:31:54 +03:00
Péter Szilágyi
9672a62a38 Merge pull request #2485 from karalabe/fakepow
cmd: add a `--fakepow` flag to help benchmarking database changes
2016-04-29 14:19:38 +03:00
Felix Lange
3d6d828caf Merge pull request #2478 from fjl/geth-js-tweak
cmd/geth, jsre: improve the js command
2016-04-26 10:39:19 +02:00
Felix Lange
70b8b54cd2 Merge pull request #2481 from fjl/bootnode-fixup
cmd/bootnode: fix -genkey, add logging options
2016-04-25 12:42:28 +02:00
Felix Lange
c88c89fd9e cmd/bootnode: fix -genkey, add logging options 2016-04-22 13:35:40 +02:00
Péter Szilágyi
b06f44ecc2 cmd: add a --fakepow flag to help benchmarking database changes 2016-04-21 12:14:57 +03:00
Felix Lange
87ae0df476 cmd/geth, jsre: improve the js command
geth js stopped the JS runtime after running the first input file
and blocked for pending callbacks. This commit makes it process
all files and enables quitting with Ctrl-C regardless of callbacks.

Error reporting is also improved. If a script fails to load, the error
is printed and includes the backtrace. package jsre now ensures that
otto is aware of the filename, the backtrace will contain them.

Before:

$ geth js bad.js; echo "exit $?"
... log messages ...
exit 0

After:

$ geth js bad.js; echo "exit $?"
... log messages ...
Fatal: JavaScript Error: Invalid number of input parameters
    at web3.js:3109:20
    at web3.js:4917:15
    at web3.js:4960:5
    at web3.js:4984:23
    at checkWork (bad.js:11:9)
    at bad.js:19:1

exit 1
2016-04-20 23:33:43 +02:00
Jeffrey Wilcke
18580e152c VERSION, cmd/geth: bumped version 2016-04-19 18:17:44 +02:00
Felix Lange
e728aaca72 rpc: move web3.js extensions to internal/web3ext 2016-04-15 17:36:01 +02:00
Felix Lange
6fdd0893c3 all: fix go vet warnings 2016-04-15 11:17:27 +02:00
Felix Lange
d04a2e7557 all: update license information 2016-04-15 09:48:05 +02:00
Bas van Kervel
529897ea2b cmd/utils: strip excessive whitespace from api command line arguments 2016-04-14 16:23:43 +02:00
Péter Szilágyi
a1f1c404c3 cmd/utils: fix accounts merge error on console unlock 2016-04-12 18:01:37 +03: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
91aaddaeb3 cmd/geth: add recovery procedure for AmbiguousAddrError 2016-04-12 15:59:18 +02:00
Felix Lange
ea005a0295 cmd/utils: fix --password on Windows
Text files created on Windows typically have \r\n line endings.
Trim them when reading password files.
2016-04-12 15:59:18 +02:00
Felix Lange
aca9d6a1fb cmd/geth: print actual error when --unlock fails 2016-04-12 15:59:17 +02:00
Felix Lange
6f1ca0bc91 accounts: add ErrDecrypt 2016-04-12 15:58:07 +02:00
Felix Lange
a9f26dcd0d accounts: cache key addresses
In order to avoid disk thrashing for Accounts and HasAccount,
address->key file mappings are now cached in memory. This makes it no
longer necessary to keep the key address in the file name. The address
of each key is derived from file content instead.

There are minor user-visible changes:

- "geth account list" now reports key file paths alongside the address.
- If multiple keys are present for an address, unlocking by address is
  not possible. Users are directed to remove the duplicate files
  instead. Unlocking by index is still possible.
- Key files are overwritten written in place when updating the password.
2016-04-12 15:58:07 +02:00
Felix Lange
ee1682ffe6 cmd/geth: add tests for account commands 2016-04-12 15:58:07 +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
2dc20963e7 cmd/geth: move account commands to accountcmd.go 2016-04-12 15:56:49 +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
Felix Lange
dff9b4246f cmd/geth, cmd/utils: improve input handling
These changes make prompting behave consistently on all platforms:

* The input buffer is now global.
  Buffering was previously set up for each prompt, which can cause weird
  behaviour, e.g. when running "geth account update <input.txt" where
  input.txt contains three lines. In this case, the first password
  prompt would fill up the buffer with all lines and then use only the
  first one.

* Print the "unsupported terminal" warning only once.
  Now that stdin prompting has global state, we can use it to track
  the warning there.

* Work around small liner issues, particularly on Windows.
  Prompting didn't work under most of the third-party terminal emulators
  on Windows because liner assumes line editing is always available.
2016-04-12 15:56:49 +02:00
Péter Szilágyi
9027981280 cmd/gethrpctest: add missing chain configuration config field 2016-04-12 16:44:42 +03:00
Felix Lange
83877a0f9d tests: remove eth, node, accounts dependencies
Unlocking the accounts in the test doesn't help with anything.
2016-04-12 15:34:39 +02: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
Jeffrey Wilcke
934f587bd5 Merge pull request #2431 from bas-vk/js-preload
cmd/geth: add JS preload parameter
2016-04-12 11:00:42 +02:00
Bas van Kervel
3c5329599c cmd/geth: add JS preload parameter 2016-04-11 13:32:26 +02:00
Bas van Kervel
4081868452 cmd/utils: bugfix where database is opened multiple times 2016-04-07 12:49:00 +02:00
Jeffrey Wilcke
52dc7cb452 Merge pull request #2378 from obscuren/enable-jit-a-b
cmd/utils, miner: A/B testing JIT VM. Disabled for miners
2016-04-04 11:15:23 +02:00
Péter Szilágyi
c90fc3503d cmd/geth: add missing gas target flag (fixing 0 convergence issue) 2016-04-04 12:04:04 +03: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
Felix Lange
78b70d79ec cmd/utils: fix geth startup with empty database 2016-04-01 21:59:23 +02:00
Jeffrey Wilcke
bbeaab7e64 cmd/utils, miner: A/B testing JIT VM. Disabled for miners
This PR introduces a 10% probability that you'll run the client with the
JIT enabled testing the new client and helps us potentially catch
errors when reported.

This feature is **disabled** for miners (disabling the JIT completely).
The JIT can however be force for miners if they enable both --jitvm and
--forcejit.
2016-04-01 13:44:58 +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
Péter Szilágyi
b813e4d411 accounts/abi/bind, cmd/abigen: dedup structs, exclude patterns 2016-03-26 11:43:09 +02:00
Péter Szilágyi
73308dbe0e accounts/abi/bind, cmd/abigen: port to templates, bind to solidity 2016-03-24 17:09:45 +02:00
Péter Szilágyi
86cfc22c79 accounts/abi/bind: constructor, auth utils and various backends 2016-03-24 14:15:32 +02: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
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
Jeffrey Wilcke
9866f19d6a Merge pull request #2371 from hiddentao/fix_prompt_passwd_input
Strip extraneous carriage return from end of entered password
2016-03-23 18:06:27 +01:00
Ramesh Nair
6f30034413 cmd/utils: removed password line endings when not using liner. 2016-03-23 22:53:20 +08:00
Jeffrey Wilcke
77d21e472d Merge pull request #2259 from bas-vk/http
rpc/http: improve request handling
2016-03-23 13:01:22 +01:00
Bas van Kervel
a7bae3b2a6 rpc/http: improve request handling 2016-03-23 11:27:08 +01:00
Jeffrey Wilcke
342ae7ce7d core, core/vm, tests: changed the initialisation behaviour of the EVM
The EVM was previously initialised and created for every CALL, CALLCODE,
DELEGATECALL and CREATE. This PR changes this behaviour so that the same
EVM can be used through the session and beyond as long as the
Environment sticks around.
2016-03-23 00:04:00 +01:00
Felix Lange
c1343c8872 cmd/utils, internal/debug: show all stacks for 10x Ctrl-C induced panic
Go 1.6 only prints stacks for the current goroutine by default,
but for this panic we want to see all of them.
2016-03-12 00:59:37 +01:00
Péter Szilágyi
e90958cd29 cmd, eth, ethdb, node: prioritise chaindata for resources, bump cache 2016-03-09 10:33:39 +02:00
Bas van Kervel
0fd251c7f7 console: allow optional password on the command line 2016-03-08 15:02:21 +01:00
Kobi Gurkan
627c2311fb cmd/utils: add --keystore 2016-03-07 14:38:56 -08:00
Jeffrey Wilcke
0d89e6c2f1 cmd/utils, params: homestead block 2016-02-29 15:04:55 +01:00
Jeffrey Wilcke
7cbcae3fac Merge pull request #2269 from obscuren/repl-multi-line
cmd/geth: removed multiline support
2016-02-29 15:04:33 +01:00
Jeffrey Wilcke
ab92678fb3 cmd/utils: lower the min accepted gas price for relay and GPO to 20 shannon 2016-02-29 14:45:47 +01:00
Jeffrey Wilcke
cec92f5940 cmd/geth: removed multiline support
When attempting to paste very long lines of text the REPL goes
completely fubar, never completing the paste. Removing the multiline
support "fixes" this.

Long lines of text are usually pasted when deploying contracts and as it
stands right now makes creating new contracts from the REPL impossible.
2016-02-27 16:58:27 +01: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
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
Jeffrey Wilcke
aa36a6ae4f Merge pull request #2206 from fjl/update-deps
Godeps: update all dependencies
2016-02-17 13:46:30 +01:00
Felix Lange
ae5bc89cad cmd/geth, jsre: improve auto-completion 2016-02-15 15:03:26 +01:00
Péter Szilágyi
770b29fd80 Merge pull request #2175 from karalabe/refactor-http-rpc
cmd, common, node, rpc: move HTTP RPC into node, drop singleton aspect
2016-02-13 14:53:48 +02:00
Felix Lange
2abf1a36b9 cmd/geth: enable multi-line mode
This was requested by some users earlier but liner didn't support
it at the time. It does now.
2016-02-12 02:41:29 +01:00
Felix Lange
4063d30b5e cmd/geth: gofmt js.go and rename ethereum.js to web3.js
Fixing the filename matters now because it will actually show
up in JS backtraces.
2016-02-12 02:20:18 +01:00
Péter Szilágyi
d6c6bcc9f3 cmd/geth: update monitor to new termui code 2016-02-11 16:46:28 +02:00
Péter Szilágyi
df75dbfd68 cmd, node, rpc: readd inproc RPC client, expose via node 2016-02-09 14:10:40 +02:00