Commit Graph

463 Commits

Author SHA1 Message Date
Péter Szilágyi 1e24c2e4f4 cmd/geth, miner, params: special extradata for DAO fork start 2016-07-15 16:52:55 +03:00
Péter Szilágyi 9e56811a37 core: gracefully handle missing homestead block config 2016-07-15 16:52:55 +03:00
Péter Szilágyi 6060e098c9 cmd, core, eth, params: implement flags to control dao fork blocks 2016-07-15 16:52:55 +03:00
Matthew Di Ferrante 68b48cc045 cmd/geth: print version on geth start (#2622) 2016-07-12 14:43:15 +02:00
Péter Szilágyi 96dc42d99c cmd, common, console, eth, release: drop redundant "full"s 2016-06-30 13:03:26 +03:00
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 67e9d33486 Revert "core: update DAO soft-fork number, clean up the code"
This reverts commit ba784bdf36.
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
zsfelfoldi 3a97280ae8 eth: separate common and full node-specific API and backend service 2016-06-16 17:36:38 +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
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
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
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
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 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
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
Bas van Kervel 3c5329599c cmd/geth: add JS preload parameter 2016-04-11 13:32:26 +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
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 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
Kobi Gurkan 627c2311fb cmd/utils: add --keystore 2016-03-07 14:38:56 -08: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
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
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
Péter Szilágyi 900e124bee cmd, common, node, rpc: rework naming convention to canonical one 2016-02-09 13:24:42 +02:00
Péter Szilágyi 7486904b92 cmd, node, rpc: move websockets into node, break singleton 2016-02-05 16:53:47 +02:00
Péter Szilágyi a13bc9d7a1 cmd, common, node, rpc: move HTTP RPC into node, drop singletone aspect 2016-02-05 13:45:36 +02:00
Péter Szilágyi 188ab928c3 cmd, common, node, rpc: move IPC into the node itself 2016-02-04 11:23:15 +02:00
Felix Lange 3750d835a1 internal/debug: APIs for profiling and tracing
The debug package provides an RPC wrapper for glog settings and the
debugging facilities of the Go runtime. They can be triggered through
both command line flags and the IPC listener.
2016-01-28 13:36:11 +01: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 cdd34fcb16 console: add admin.sleep and admin.sleepBlocks 2016-01-19 12:30:33 +01:00
Jeffrey Wilcke dbbcf558e2 Merge pull request #2064 from fjl/remove-common-rlp
common: remove old RLP implementation, Value and ExtPackage
2015-12-18 20:26:19 +01:00
Bas van Kervel 3c9a2c752f console: bugfix that causes the console to crash when connection to an endpoint without the personal api enabled 2015-12-18 15:30:08 +01: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 9c636d2490 Merge pull request #2070 from karalabe/android-archives
Makefile, cmd/geth: support building Android archives
2015-12-14 21:32:00 +01:00
Felix Lange fa187a366d Merge pull request #2035 from bas-vk/rcp-v2-rebase
rpc: new RPC implementation with pub/sub support
2015-12-14 17:38:10 +01:00
Bas van Kervel eae81465c1 rpc: new RPC implementation with pub/sub support 2015-12-14 16:34:05 +01:00
Péter Szilágyi 03f090b30b Makefile, cmd/geth: support building Android archives 2015-12-14 14:28:14 +02:00
Péter Szilágyi 0e4deeb6e7 Makefile, cmd/geth: assemble ios xcode frameworks 2015-12-08 18:05:43 +02:00
Felix Lange d648e96b3d cmd/utils: restore starting geth without any accounts and etherbase
Also remove some duplication around address/index parsing.
2015-12-01 11:55:52 +01:00
Bas van Kervel 1ead43c88c console: fix instance name printed incorrect on start 2015-11-30 09:49:10 +01:00
Jeffrey Wilcke 7dde2b902c Merge pull request #1970 from karalabe/customizable-protocol-stacks
Customizable protocol stacks
2015-11-27 10:41:22 +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 8a44451edf cmd: drop blocktest command, create gethrpctest program 2015-11-27 11:06:12 +02:00
Jeffrey Wilcke b1e0143444 cmd, crypto: fixed nil public keys and updated web3 2015-11-26 13:38:53 +01:00
Jeffrey Wilcke 1c63d08ed1 cmd/geth, cmd/utils: removed legalese
Removed the legalese confirmation dialog. This closes #1992
2015-11-19 12:03:33 +01:00
Péter Szilágyi 9aa77a3769 cmd/geth, cmd/utils: surface the light KDF flag to the CLI 2015-11-10 15:47:19 +02:00
Péter Szilágyi 90655736ed cmd/geth: fix recover command crash if no param is supplied 2015-11-05 11:53:50 +02:00
Jeffrey Wilcke 5ff0814b1f VERSION, cmd/geth: bumped version 1.4.0 2015-11-03 11:48:18 +01:00
Péter Szilágyi 3c6e285d3b cmd/geth, cmd/utils, eth: group CLI flags by purpose 2015-10-30 11:33:12 +02:00
zelig 4d005a2c1d rpc api: eth_getNatSpec
* xeth, rpc: implement eth_getNatSpec for tx confirmations
* rename silly docserver -> httpclient
* eth/backend: httpclient now accessible via eth.Ethereum init-d via config.DocRoot
* cmd: introduce separate CLI flag for DocRoot (defaults to homedir)
* common/path: delete unused assetpath func, separate HomeDir func
2015-10-26 22:24:09 +01:00
zelig 6b5d077c09 fix console history, lines with leadning whitespace NOT included 2015-10-23 20:37:12 +02:00
zelig 8b81ad1fc4 console:
* lines with leading space are ommitted from history
* exit processed even with whitespace around
* all whitespace lines (not only empty ones) are ignored

add 7 missing commands to admin api autocomplete

registrar: methods now return proper error if reg addresses are not set. fixes #1457

rpc/console: fix personal.newAccount() regression. Now all comms accept interactive password

registrar: add registrar tests for errors

crypto: catch AES decryption error on presale wallet import + fix error msg format. fixes #1580

CLI: improve error message when starting a second instance of geth. fixes #1564

cli/accounts: unlock multiple accounts. fixes #1785
* make unlocking multiple accounts work with inline <() fd
* passwdfile now correctly read only once
* improve logs
* fix CLI help text for unlocking

fix regression with docRoot / admin API
* docRoot/jspath passed to rpc/api ParseApis, which passes onto adminApi
* docRoot field for JS console in order to pass when RPC is (re)started
* improve flag desc for jspath

common/docserver: catch http errors from response

fix rpc/api tests

common/natspec: fix end to end test (skipped because takes 8s)

registrar: fix major regression:
* deploy registrars on frontier
* register HashsReg and UrlHint in GlobalRegistrar.
* set all 3 contract addresses in code
* zero out addresses first in tests
2015-10-22 00:22:39 +02:00
Péter Szilágyi aa0538db0b eth: clean out light node notions from eth 2015-10-19 10:03:10 +03:00
Péter Szilágyi 92f9a3e5fa cmd, eth: support switching client modes of operation 2015-10-19 10:03:09 +03:00
Jeffrey Wilcke d5327ddc5f Merge pull request #1869 from Gustav-Simonsson/gpu_miner
all: Add GPU mining, disabled by default
2015-10-16 06:25:33 -07:00
Gustav Simonsson 1b1f293082 core/state, core, miner: handle missing root error from state.New 2015-10-16 02:22:06 +02:00
Jeffrey Wilcke 315a422ba7 Merge pull request #1888 from obscuren/testnet
cmd, core, eth: added official testnet
2015-10-09 01:31:37 -07:00
Jeffrey Wilcke 1de796f101 cmd, core, eth: added official testnet 2015-10-08 22:01:39 +02:00
Péter Szilágyi 2547c9c9b7 cmd: properly initialize Olympic for all subcommands 2015-10-07 18:25:33 +03:00