Commit Graph

911 Commits

Author SHA1 Message Date
Felix Lange e32925397b rpc: add context argument to EthSubscribe
It's inconsistent not to pass it and most callers will
work with contexts anyway.
2016-08-05 20:48:33 +02:00
Felix Lange f5f042ffdc rpc: ensure client doesn't block for slow subscribers
I initially made the client block if the 100-element buffer was
exceeded. It turns out that this is inconvenient for simple uses of the
client which subscribe and perform calls on the same goroutine, e.g.

    client, _ := rpc.Dial(...)
    ch := make(chan int) // note: no buffer
    sub, _ := client.EthSubscribe(ch, "something")
    for event := range ch {
        client.Call(...)
    }

This innocent looking code will lock up if the server suddenly decides
to send 2000 notifications. In this case, the client's main loop won't
accept the call because it is trying to deliver a notification to ch.

The issue is kind of hard to explain in the docs and few people will
actually read them. Buffering is the simple option and works with close
to no overhead for subscribers that always listen.
2016-08-05 20:48:33 +02:00
Felix Lange 464660651d rpc: don't exceed context deadline while waiting for send lock 2016-08-05 13:27:02 +02:00
Felix Lange 91b7690428 rpc: add new client, use it everywhere
The new client implementation supports concurrent requests,
subscriptions and replaces the various ad hoc RPC clients
throughout go-ethereum.
2016-07-22 23:21:27 +02:00
Felix Lange bb01bea4e2 rpc: fix bad method error for batch requests
If a batch request contained an invalid method, the server would reply
with a non-batch error response. Fix this by tracking an error for each
batch element.
2016-07-22 23:21:27 +02:00
Felix Lange c145589f25 rpc: remove grace period when shutting down the server
The server delayed closing of connections for 3s when stopping. This was
supposed to allow for slow handlers, but it didn't really work. When
geth quits, it will just exit immediately after quitting the server.

Removing the timer makes testing easier because all connections will be
closed after Stop returns.
2016-07-22 23:21:27 +02:00
Felix Lange 74be4a62c5 Godeps, rpc: switch back to package npipe
The named pipe implementation from go-winio has some issues
that need to be addressed before we can use it again.
2016-07-14 23:03:40 +02:00
Fabio Berger a3efdb13f2 README, core, rpc: fix various typos 2016-06-21 17:38:35 +01:00
Péter Szilágyi ffaf58f0a9 cmd, console: split off the console into a reusable package 2016-05-30 17:25:23 +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
Bas van Kervel 5479097790 rpc: HTTP origin case insensitive 2016-05-10 18:01:58 +02:00
Péter Szilágyi a6ca8fd268 Merge pull request #2463 from fjl/rpc-context-key
rpc: remove NotifierContextKey
2016-04-19 10:22:48 +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 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
Péter Szilágyi 53016c1225 eth, rpc: make trace configs optional 2016-04-14 15:10:29 +03:00
Felix Lange bea56d84e5 internal/debug: add memStats and gcStats to API 2016-04-13 12:08:07 +02:00
Felix Lange bcd8aeefdd eth: add chaindbProperty to debug API 2016-04-13 12:08:07 +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 18490d833c console: use transaction output formatter for eth.pendingTransactions output 2016-04-06 11:27:05 +02:00
Jeffrey Wilcke 7e02105672 Merge pull request #2417 from fjl/rpc-go-winio
rpc: use go-winio instead of vendoring a named pipe implementation
2016-04-05 09:43:45 +02:00
Felix Lange 467bb7a719 rpc: use go-winio instead of vendoring a named pipe implementation 2016-04-04 13:56:17 +02:00
Bas van Kervel f7328c5ecb rpc: add pub/sub support 2016-04-01 18:26:35 +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 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
Bas van Kervel a7bae3b2a6 rpc/http: improve request handling 2016-03-23 11:27:08 +01:00
Jeffrey Wilcke 41f35d7913 Merge pull request #2280 from bas-vk/js-cleanup
console: cleanup old autocompletations relics
2016-03-02 21:23:47 +01:00
Bas van Kervel 789b9a9f16 console: cleanup old autocompletations relics 2016-03-01 18:27:08 +01:00
Felix Lange e8e6df5159 rpc: simplify inproc client
Fixes #2277
2016-03-01 12:47:36 +01: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 ba7c125153 Merge pull request #2168 from karalabe/move-rpc-into-node
cmd, common, node, rpc: move IPC into the node itself
2016-02-05 11:33:24 +02: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 188ab928c3 cmd, common, node, rpc: move IPC into the node itself 2016-02-04 11:23:15 +02:00
Jeffrey Wilcke 3274db19c7 Merge pull request #2169 from karalabe/fix-http-rpc-method
rpc: allow RPC requests on GET too
2016-02-03 23:34:36 +01: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
Péter Szilágyi 72c255caef rpc: allow RPC requests on GET too 2016-02-03 00:50:02 +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
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
Felix Lange 5728dd381d rpc: fix success response encoding for null return value
The "result" field of JSON-RPC 2.0 responses was omitted
if the result was nil, causing exceptions in web3.js.
2016-01-27 00:06:37 +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
Felix Lange f2ab351e8d Merge pull request #2136 from fjl/glog-prefix
logger/glog: improve vmodule
2016-01-25 23:35:25 +01:00
Felix Lange e4d794851b node, rpc/api: add debug_vmodule, move admin_verbosity to debug_verbosity 2016-01-21 13:37:38 +01:00
Bas van Kervel cdd34fcb16 console: add admin.sleep and admin.sleepBlocks 2016-01-19 12:30:33 +01:00
Felix Lange e640861704 Merge pull request #2061 from zsfelfoldi/rpc-context
rpc: optionally passing context argument to rpc v2 api methods
2015-12-16 11:12:06 +01:00
zsfelfoldi f3aac71fad rpc/v2: optionally passing context argument to rpc v2 api methods 2015-12-16 03:48:08 +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
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
Jeffrey Wilcke 6bb29aebee Merge pull request #1666 from obscuren/create-transaction
rpc/api, xeth: added signTransaction method
2015-11-20 21:36:56 +01:00
Jeffrey Wilcke ae37a8013d Merge pull request #1917 from obscuren/validator-interface
core, eth, rpc: split out block validator and state processor
2015-11-19 10:57:00 +01:00
Jeffrey Wilcke a1d9ef48c5 core, eth, rpc: split out block validator and state processor
This removes the burden on a single object to take care of all
validation and state processing. Now instead the validation is done by
the `core.BlockValidator` (`types.Validator`) that takes care of both
header and uncle validation through the `ValidateBlock` method and state
validation through the `ValidateState` method. The state processing is
done by a new object `core.StateProcessor` (`types.Processor`) and
accepts a new state as input and uses that to process the given block's
transactions (and uncles for rewords) to calculate the state root for
the next block (P_n + 1).
2015-11-18 14:24:42 +01:00
Péter Szilágyi 53f28e71dc rpc/api: fix #1986, newIdentity autocomplete 2015-11-18 13:03:20 +02:00
Jeffrey Wilcke 6ea05f5a54 rpc/api, xeth: added signTransaction method
SignTransaction creates a transaction but does submit it to the
network. SignTransaction returns a structure which includes the
transaction object details as well as the RLP encoded transaction that
could possibly be submitted by the SendRawTransaction method.
2015-11-17 17:51:05 +01:00
Péter Szilágyi 6e5349880e rpc/api: fix #1972 api regression (nil eth panic) in attach 2015-11-06 11:47:57 +02:00
Jeffrey Wilcke e165c2d23c Merge pull request #1934 from karalabe/polish-protocol-infos
eth, p2p, rpc/api: polish protocol info gathering
2015-11-04 11:59:31 +01:00
Jeffrey Wilcke 6dfbbc3e11 Merge pull request #1948 from bas-vk/rpcfix
Infinite loop in filters
2015-11-03 15:22:02 +01:00
Jeffrey Wilcke fc46cf337a Merge pull request #1946 from fjl/xeth-oom
Fix for xeth OOM issue
2015-10-29 17:42:55 +01:00
Bas van Kervel 76410df6a2 rpc: return an unsupported error when "pending" was used to create a filter 2015-10-29 17:35:43 +01:00
Felix Lange fbdb44dcc1 cmd/utils, rpc/comms: stop XEth when IPC connection ends
There are a bunch of changes required to make this work:

- in miner: allow unregistering agents, fix RemoteAgent.Stop
- in eth/filters: make FilterSystem.Stop not crash
- in rpc/comms: move listen loop to platform-independent code

Fixes #1930. I ran the shell loop there for a few minutes and didn't see
any changes in the memory profile.
2015-10-29 17:26:26 +01:00
Bas van Kervel c3c5f8b654 rpc: fixed params parsing problem which could lead to a panic
check argument type before parsing params
 recover from panic in ipc channel
2015-10-29 09:23:03 +01:00
Péter Szilágyi e46ab3bdcd eth, p2p, rpc/api: polish protocol info gathering 2015-10-28 12:44:15 +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 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 5b0ee8ec30 core, eth, trie: fix data races and merge/review issues 2015-10-21 16:49:55 +03:00
Péter Szilágyi 832b37c822 core, eth: receipt chain reconstruction 2015-10-19 10:03:09 +03:00
Péter Szilágyi 42c8afd440 core: differentiate receipt concensus and storage decoding 2015-10-19 10:03:09 +03:00
Péter Szilágyi c33cc382b3 core: support inserting pure header chains 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
Gustav Simonsson ec6a548ee3 all: Add GPU mining, disabled by default 2015-10-07 13:19:30 +02:00
Jeffrey Wilcke 7c7692933c cmd/geth, cmd/utils, core, rpc: renamed to blockchain
* Renamed ChainManager to BlockChain
* Checkpointing is no longer required and never really properly worked
when the state was corrupted.
2015-10-04 01:13:56 +02:00
Jeffrey Wilcke 361082ec4b cmd/evm, core/vm, test: refactored VM and core
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* core/vm: byte code VM moved to jump table instead of switch
* Moved `vm.Transfer` to `core` package and changed execution to call
  `env.Transfer` instead of `core.Transfer` directly.
* Byte code VM now shares the same code as the JITVM
* Renamed Context to Contract
* Changed initialiser of state transition & unexported methods
* Removed the Execution object and refactor `Call`, `CallCode` &
  `Create` in to their own functions instead of being methods.
* Removed the hard dep on the state for the VM. The VM now
  depends on a Database interface returned by the environment. In the
  process the core now depends less on the statedb by usage of the env
* Moved `Log` from package `core/state` to package `core/vm`.
2015-10-04 01:13:54 +02:00
Felix Lange 90cd8ae9f2 rpc/api: don't crash for unknown blocks
Most eth RPC calls that work with blocks crashed when the block was not
found because they called Hash on a nil block. This is a regression
introduced in cdc2662c40 (#1779).

While here, remove the insane conversions in get*CountBy*. There is no
need to construct a complete BlockRes and converting
int->int64->*big.Int->[]byte->hexnum->string to format the length of a
slice as hex.
2015-09-22 23:59:26 +02:00
Péter Szilágyi d4d3fc6a70 jsre, rpc/api: pull in new web3 and use hex numbers 2015-09-15 17:05:12 +03:00
Péter Szilágyi 0a7d059b6a eth, rpc: standardize the chain sync progress counters 2015-09-15 14:45:53 +03:00
Felix Lange 47b9c640f5 Merge pull request #1797 from karalabe/ensure-ipcpath-exists
rpc/comms: fix #1795, ensure IPC path exists before binding
2015-09-14 14:45:11 +02:00
Péter Szilágyi cdc2662c40 core: split out TD from database and all internals 2015-09-11 17:42:25 +03:00
Péter Szilágyi 3e6964b841 rpc/comms: fix #1795, ensure IPC path exists before binding 2015-09-11 17:03:31 +03:00
Hector Chu 4ea81f170a rpc/comms: fix bug attaching the console over http 2015-09-07 15:09:59 +01:00
Felix Lange 9dc23ce284 Merge pull request #1742 from fjl/rpc-receipt-root
rpc: add receiptRoot to getBlock* responses
2015-08-31 14:50:21 +02:00
Felix Lange 8b12bcc0ac rpc: add receiptRoot to getBlock* responses
Fixes #1679
2015-08-29 11:12:01 +02:00
Felix Lange e1037bd0cf Merge pull request #1724 from Gustav-Simonsson/get_work
rpc: return error code for eth_getWork when no work ready
2015-08-29 10:54:10 +02:00
Bas van Kervel 39e9560600 rpc/api allow empty password 2015-08-28 12:49:41 +02:00
Gustav Simonsson d9addf79fa Improve error string and remove unneeded else clause 2015-08-28 03:42:01 +02:00
Felix Lange 14370a2260 Merge pull request #1718 from caktux/develop
add missing shh_getMessages to RPC mappings
2015-08-26 18:55:51 +02:00
Felix Lange 3df6f3fc14 Merge pull request #1721 from bas-vk/console-error-parsing
Improved console error handling
2015-08-26 18:55:31 +02:00
Gustav Simonsson 829201382b rpc: return error code for eth_getWork when no work ready 2015-08-26 12:46:50 +02:00
Bas van Kervel 5dd2462816 rpc/api - remove personal.deleteAccount from RPC interface 2015-08-26 11:39:43 +02:00
Bas van Kervel f448310eef bugfix console error handling 2015-08-26 11:33:02 +02:00
caktux a1d8015817 add missing shh_getMessages to RPC mappings 2015-08-25 14:42:57 -04:00
Bas van Kervel d910148a96 Set ipc channel as user agent client 2015-08-24 12:41:34 +02:00
Jeffrey Wilcke e2d44814a5 Merge pull request #1694 from obscuren/hide-fdtrack
fdtrack: hide message
2015-08-19 13:50:54 -07:00
Bas van Kervel 9bf17eb05a rpc/comms reconnect ipc client after write error 2015-08-19 21:48:56 +02:00
Jeffrey Wilcke 269c5c7107 Revert "fdtrack: temporary hack for tracking file descriptor usage"
This reverts commit 5c949d3b3b.
2015-08-19 21:46:01 +02:00
Jeffrey Wilcke e1da124415 Merge pull request #1675 from obscuren/submithashrate-change
rpc/api: return boolean value for eth_submitHashrate
2015-08-17 11:49:15 -07:00
Jeffrey Wilcke 36081505c4 Merge pull request #1673 from karalabe/fix-api-xeth-responses
rpc: update the xeth over RPC API to use the success/failure messages
2015-08-17 11:47:55 -07:00
Jeffrey Wilcke 8839fee415 rpc/api: return boolean value for eth_submitHashrate 2015-08-17 15:09:30 +02:00
Jeffrey Wilcke ff1f6fa09d Merge pull request #1649 from maran/pending_tx_response
rpc/api: format pendingTx response. Fixes #1648
2015-08-17 06:02:08 -07:00
Péter Szilágyi 309788de37 rpc: update the xeth over RPC API to use the success/failure messages 2015-08-17 14:04:20 +03:00
Maran 8603ec7055 rpc/api: format pendingTx response. Fixes #1648 2015-08-16 11:12:22 +02:00
Bas van Kervel f9cbd16f27 support for user agents 2015-08-12 12:22:16 +02:00
Jeffrey Wilcke a23478c0be core, eth, trie, xeth: merged state, chain, extra databases in one 2015-08-07 22:29:02 +02:00
Jeffrey Wilcke d7580f21f6 Merge pull request #1595 from obscuren/extra-data
cmd/geth, eth: added canonical extra data
2015-08-07 05:00:36 -07:00
Jeffrey Wilcke 132df860d9 miner, rpc: added length check for extra data 2015-08-07 12:24:44 +02:00
Jeffrey Wilcke c32073b11f miner, rpc: added submit hashrate for remote agents 2015-08-06 12:58:54 +02:00
Felix Lange 5c949d3b3b fdtrack: temporary hack for tracking file descriptor usage
Package fdtrack logs statistics about open file descriptors.
This should help identify the source of #1549.
2015-08-04 03:10:27 +02:00
Felix Lange ba14957cf3 rpc/comms: use ConnState to track HTTP connections
The JSON-RPC server wraps TCP connections in order to be able to shut
down them down when RPC is stopped. This is rather scary code. Go 1.3
introduced the http.Server.ConnState hook for such purposes. We can use
this facility now that we depend on Go 1.4.

There are multiple reasons for the switch apart from making the code
less scary:

* the TCP listener no longer ticks every second to check a channel
* pending requests are allowed to finish after stopping the server
* we can time out idle keep-alive connections
2015-08-03 16:27:36 +02:00
Jeffrey Wilcke 33efb3381c Merge pull request #1461 from bas-vk/eth_resend
Old transaction after resend was not removed from pool
2015-08-01 16:18:54 -07:00
Péter Szilágyi 0d3a8ad6dd rpc/api: add missing autocomplete commands 2015-07-31 12:46:16 +03:00
Jeffrey Wilcke d261c3f455 rpc: to in Call no longer required. Fixed eth_estimateGas 2015-07-29 15:12:12 +02:00
Jeffrey Wilcke 1fad8798ec Merge pull request #1515 from fjl/license-fixes
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
Bas van Kervel 7e31df3987 bugfix, pending transaction was resend with new gas price/limit but not removed from transaction pool 2015-07-28 10:42:31 +02:00
Jeffrey Wilcke 1e241e84f7 params: reduce extra data to 32 bytes 2015-07-26 12:47:57 +02:00
Felix Lange bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange 3f047be5aa all: update license headers to distiguish GPL/LGPL
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Bas van Kervel e84f3ec1d4 added net.version 2015-07-08 08:03:20 +02:00
Felix Lange bdae4fd573 all: add some godoc synopsis comments 2015-07-07 14:12:45 +02:00
Felix Lange ea54283b30 all: update license information 2015-07-07 14:12:44 +02:00
Jeffrey Wilcke e5fba8fd70 Merge pull request #1428 from obscuren/coinbase-fixes
cmd,eth,rpc,tests: default coinbase
2015-07-07 02:55:33 -07:00
zelig c5cb6e8e70 fix/skip tests, adapt registrar to no contract address
registry initialisers now return the txhash which caller can use to retrieve receipt
2015-07-07 11:30:55 +02:00
Bas van Kervel 3791831081 rebase with zelig/frontier/registrar 2015-07-07 11:30:45 +02:00
Bas van Kervel 7e6c1f8024 corrected input formatters as suggested during review 2015-07-07 11:30:23 +02:00
Bas van Kervel ceb0739ba1 fixed web3 formatters mismatch 2015-07-07 11:30:11 +02:00
Jeffrey Wilcke 37c1a8f69d eth,miner,rpc: set coinbase 2015-07-07 10:58:47 +02:00
zelig aa22cf323e fix js arguments and TestContract passes 2015-07-07 10:43:49 +02:00
zelig 518dc87db3 fix sleepBlocks, implement sleep 2015-07-07 10:43:49 +02:00
zelig 6391ec0c8f add missing method to api/admin 2015-07-07 10:43:31 +02:00
zelig 2739233719 Registrar and contractInfo handling
* resolver -> common/registrar
  * global registrar name registry interface
  * add Call to resolver backend interface
  * the hashReg and UrlHing contracts now initialised from global registry
  * initialization of contracts uniform
  * improve errors and more econsistent method names
* common/registrar/ethreg: versioned registrar
* integrate new naming and registrar in natspec
* js console api: setGlobalRegistrar, setHashReg, setUrlHint
* js test TestContract uses mining - tests fixed all pass
* eth/backend: allow PoW test mode (small ethash DAG)
* console jsre refers to resolver.abi/addr,
* cmd/geth/contracts.go moved to common/registrar
2015-07-07 10:43:31 +02:00
zelig 83ee39448e Registrar and contractInfo handling
* resolver -> common/registrar
  * global registrar name registry interface
  * add Call to resolver backend interface
  * the hashReg and UrlHing contracts now initialised from global registry
  * initialization of contracts uniform
  * improve errors and more econsistent method names
* common/registrar/ethreg: versioned registrar
* integrate new naming and registrar in natspec
* js console api: setGlobalRegistrar, setHashReg, setUrlHint
* js test TestContract uses mining - tests fixed all pass
* eth/backend: allow PoW test mode (small ethash DAG)
* console jsre refers to resolver.abi/addr,
* cmd/geth/contracts.go moved to common/registrar
2015-07-07 10:43:31 +02:00
Jeffrey Wilcke 35cd355c14 cmd,eth,rpc,tests: default coinbase 2015-07-07 10:32:05 +02:00
Jeffrey Wilcke 666a7dda36 core, eth, rpc: proper gas used. Closes #1417
Added some additional backward compatibility code for old receipts
2015-07-06 21:18:24 +02:00
Jeffrey Wilcke 4f7fc7b23f rpc, xeth: fixed returned tx hash & receipt logs 2015-07-06 13:43:02 +02:00
Taylor Gerring 6c7f5e3d0e Add autocomplete support for console 2015-07-05 15:42:04 -05:00
Taylor Gerring 62559ac330 Cleanup 2015-07-04 12:14:06 -05:00
Taylor Gerring 30afd37604 Compose additional fields 2015-07-04 12:03:37 -05:00
Taylor Gerring cd4cc309ae Remove redundant function 2015-07-04 11:28:30 -05:00
Taylor Gerring 3be9046c21 Rename local variable for clarity 2015-07-04 10:24:52 -05:00
Taylor Gerring 481b221279 Decode full receipt storage 2015-07-04 00:00:23 -05:00
Taylor Gerring 80eb8f46b7 Fix hex conversion 2015-07-03 23:46:59 -05:00
Taylor Gerring 3a983d2419 Initial getTransactionReceipt support 2015-07-03 23:03:11 -05:00
Bas van Kervel e8c1399bbf fixed unittest after new implementation 2015-07-03 16:57:40 +02:00
Bas van Kervel d9efaf754c simplified implementation and improved performance 2015-07-03 15:44:35 +02:00
Bas van Kervel f0e94b4d71 display rpc error in console 2015-07-03 12:22:20 +02:00
Bas van Kervel 6be527dd52 prevent discarding requests when parsing fails 2015-07-02 17:25:11 +02:00
Bas van Kervel effe9cc2cf added pipelining support 2015-07-02 17:25:11 +02:00
ethers d05305473e fix logging jsonrpc request #1365 2015-06-30 12:14:16 -07:00
Jeffrey Wilcke ba95e445e1 Merge pull request #1328 from bas-vk/issue1327
Add pendingTransactions and resend
2015-06-30 08:27:03 -07:00
Bas van Kervel 8c4d493c66 solved merge conflicts 2015-06-30 15:32:02 +02:00
Bas van Kervel a5d5387dee rebase with develop 2015-06-30 15:27:27 +02:00
Jeffrey Wilcke 61ca780f3b core: reduce CPU load by reducing calls to checkQueue
* Reduced maxQueue count
* Added proper deletion past maxQueue limit
* Added cheap stats method to txpool

queueCheck was called for **every** transaction instead of:
1. add all txs
2. check queue

previously

1. add txs[i]
2. check queue
3. if i < len(txs) goto 1.
2015-06-30 14:01:12 +02:00
Bas van Kervel 57dff6f1d7 initialize fields to prevent nil pointer exception 2015-06-30 11:20:31 +02:00
Bas van Kervel 7ffabf1d39 add json parsing method for resend transaction 2015-06-30 11:20:31 +02:00
Bas van Kervel 6fdddc5ac9 improved error handling in parsing request 2015-06-30 11:20:31 +02:00
Bas van Kervel 02c6af66bf fixed unittest compilation issue 2015-06-30 11:20:31 +02:00
Bas van Kervel ec866b066a added eth.resend 2015-06-30 11:20:31 +02:00
Bas van Kervel 056e9dd393 added eth.pendingTransactions 2015-06-30 11:20:31 +02:00
Felix Lange 76821d167a core, eth, rpc: avoid unnecessary block header copying 2015-06-29 18:51:48 +02:00
Felix Lange 7098ec691c rpc: unmask pending block fields
This pleases the RPC tests.
2015-06-29 18:51:47 +02:00
Bas van Kervel 61ccc39b56 initialize fields to prevent nil pointer exception 2015-06-29 12:42:47 +02:00
Bas van Kervel f9264e87ec add json parsing method for resend transaction 2015-06-29 12:32:01 +02:00
Bas van Kervel a355777ff8 improved error handling in parsing request 2015-06-29 11:13:28 +02:00
Jeffrey Wilcke b0a5be4495 Merge pull request #1321 from karalabe/cut-it-open-3000
Metrics collecting and reporting support
2015-06-25 08:18:42 -07:00
Bas van Kervel 662285074e improved logging for IPC connection lifetime management 2015-06-25 15:54:16 +02:00
Péter Szilágyi fdbf8be735 cmd/geth, rpc/api: fix reported metrics issues 2015-06-25 15:33:26 +03:00
Bas van Kervel 5757a0edb5 added IPC timeout support 2015-06-25 14:32:22 +02:00
unknown 04910c902a support for large request/response on windows 2015-06-25 04:53:41 -07:00
Bas van Kervel ffbe5656ff support for large requests/responses 2015-06-25 13:18:10 +02:00
Bas van Kervel 6d92fdc0df added support for batch requests 2015-06-25 12:01:28 +02:00
Péter Szilágyi 92ef33d97a rpc/api, cmd/geth: retrievel all percentiles, add time units 2015-06-24 18:34:05 +03:00
Péter Szilágyi e5b820c47b cmd/geth, rpc/api: extend metrics API, add a basic monitor command 2015-06-24 18:34:05 +03:00
Péter Szilágyi bde2ff0343 cmd/geth, rpc/api: move the metrics into the new console 2015-06-24 18:34:05 +03:00
Bas van Kervel ee73f09727 fixed unittest compilation issue 2015-06-24 16:07:44 +02:00
Bas van Kervel dc58568a25 added eth.resend 2015-06-24 14:56:53 +02:00
Bas van Kervel f1a4a6e563 added eth.pendingTransactions 2015-06-24 13:53:37 +02:00
Bas van Kervel 57c911c398 bugfix in startRPC error handling 2015-06-23 08:26:17 +02:00
Bas van Kervel 6d596b1ad1 fixed eth sign unittest 2015-06-22 13:19:59 +02:00
Bas van Kervel 2e0b56a72b added RPC start/stop support 2015-06-22 12:47:32 +02:00
Bas van Kervel 2737baa657 fixed unittests 2015-06-22 09:17:09 +02:00
Bas van Kervel f87501b1c5 added batch support to console and attach actions 2015-06-22 09:17:09 +02:00
Bas van Kervel 3ff272b618 moved solidity test to new rpc structure 2015-06-22 09:17:09 +02:00
Bas van Kervel ce5c94e471 added attach over http/rpc support 2015-06-22 09:17:09 +02:00
Bas van Kervel f202563777 added attach over ipc command 2015-06-22 09:17:09 +02:00
Bas van Kervel 603192cfa7 cleanup comments/code 2015-06-22 09:17:09 +02:00
Bas van Kervel a4a4e9fcf8 removed old rpc structure and added new inproc api client 2015-06-22 09:17:09 +02:00
Bas van Kervel 3e1d635f8d fixed rpc test failure in eth.blockNumber 2015-06-22 08:54:21 +02:00
Bas van Kervel 9ac1b4e59e fixed rpc test failure in net_peerCount 2015-06-22 08:54:21 +02:00
Bas van Kervel 5fdf72b1ab fixed web3 rpc test failures 2015-06-22 08:54:21 +02:00
Bas van Kervel c3f6c322c0 added DB api 2015-06-22 08:54:21 +02:00
Bas van Kervel 5c25403b13 refactored old rpc structure to new 2015-06-22 08:54:21 +02:00
Bas van Kervel fd764d4ff7 added comms http 2015-06-22 08:54:21 +02:00
Bas van Kervel 60c2ccd99c made ipc handler generic and reusable 2015-06-22 08:54:21 +02:00
Jeffrey Wilcke 0fa2750fc9 Merge pull request #1290 from tgerring/dataargs
unit test coverage for NewDataArgs
2015-06-19 07:44:39 -07:00
Jeffrey Wilcke e4f9ec886b Merge pull request #1267 from SilentCicero/develop
eth_sendRawTransaction JSON RPC
2015-06-18 11:33:50 -07:00
Taylor Gerring 5afebc2a4b unit test coverage for NewDataArgs 2015-06-17 18:07:45 +02:00
SilentCicero 7ec8c257ff New DataArgs and eth_sendRawTransaction 2015-06-16 12:28:10 -04:00
Nick Dodson e952bb65e7 thanks subtly :) 2015-06-16 00:06:28 -04:00
Nick Dodson 2642e091e9 NewSigArgs arg change. 2015-06-15 16:01:01 -04:00
Jeffrey Wilcke cc0b451119 Merge pull request #1260 from obscuren/tx-drop-low-tx
core: drop low gas tx
2015-06-15 09:09:44 -07:00
obscuren 2628103f1d rpc/api: fixed default gas-(price) issue. 2015-06-15 17:21:08 +02:00
Nick Dodson ad56aef5d2 Update utils.go 2015-06-15 11:10:40 -04:00
Nick Dodson c3b80123e3 Update eth.go 2015-06-15 11:10:24 -04:00
Nick Dodson f9f9352ceb Change eth_pushTx case to eth_sendRawTransaction 2015-06-15 10:50:07 -04:00
SilentCicero d6233c7d2d Changed variable names 2015-06-15 10:07:32 -04:00
zsfelfoldi b42b70eb5f fixed rpc/api.GasPrice 2015-06-15 15:55:39 +02:00
zsfelfoldi 3f94d09c1f fixed saving receipts 2015-06-15 15:55:38 +02:00
SilentCicero f9a0a13fa9 eth_pushTx send raw signed encoded TX data to the chain through RPC 2015-06-14 18:07:03 -04:00
Bas van Kervel b3c07f167f fixed incomplete merge action 2015-06-11 15:06:12 +02:00
Bas van Kervel ec6a7b35f6 removed obsolete print statement 2015-06-11 15:00:33 +02:00
Bas van Kervel 7584e68c21 upgrade web3.js with _extend support 2015-06-11 14:43:05 +02:00
Bas van Kervel 1fe617fa57 added net API 2015-06-11 14:40:38 +02:00
Bas van Kervel 87dace1fa9 added miner API 2015-06-11 14:20:50 +02:00
Bas van Kervel 3c93034a32 fixed windows build problem 2015-06-11 14:18:08 +02:00
Bas van Kervel 594a34a88d changed send methods for backwards compatability in geth console 2015-06-11 14:17:28 +02:00
Bas van Kervel 1b59f89095 added console command 2015-06-11 14:17:27 +02:00
Bas van Kervel bbfa0a3dcb added API/IPC commandline flags 2015-06-11 14:15:33 +02:00
Bas van Kervel 348f1562e2 restructured eth rpc API 2015-06-11 14:13:57 +02:00
Bas van Kervel 7e41d7ac51 added shh API 2015-06-11 14:01:41 +02:00
Bas van Kervel bd38428f33 cleanup of javascript API 2015-06-11 14:01:41 +02:00
Bas van Kervel 87b62f75a7 added txpool API 2015-06-11 14:01:41 +02:00
Bas van Kervel 5f8e5a4875 upgrade web3.js with _extend support 2015-06-11 14:01:41 +02:00
Bas van Kervel cc9ae39933 added admin API 2015-06-11 14:01:41 +02:00
Bas van Kervel 08d72a9245 added personal API 2015-06-11 14:01:41 +02:00
Bas van Kervel 09d0d55fc5 added debug API 2015-06-11 14:01:41 +02:00
Bas van Kervel d2a87f6f72 added net API 2015-06-11 14:01:40 +02:00
Bas van Kervel 4b9b633dfe added miner API 2015-06-11 14:01:40 +02:00
Bas van Kervel 8aea85e374 fixed windows build problem 2015-06-11 14:01:39 +02:00
Bas van Kervel 862117e4bd changed send methods for backwards compatability in geth console 2015-06-11 14:01:39 +02:00
Bas van Kervel a1a475fb92 added console command 2015-06-11 14:01:39 +02:00
Bas van Kervel 2a0d888326 added API/IPC commandline flags 2015-06-11 14:01:39 +02:00
Bas van Kervel 8ebf2d8fad added RPC/IPC support 2015-06-11 14:01:39 +02:00
Bas van Kervel 2f55a1d798 restructured eth rpc API 2015-06-11 14:01:39 +02:00
Taylor Gerring 2e0694b606 Updated test 2015-06-10 12:35:35 -04:00
obscuren 14994fa21b rpc: skip test if solc version doesn't match 2015-06-09 21:02:24 +02:00
Jeffrey Wilcke 60b780c21b Merge pull request #1217 from tgerring/rpcsign
Fix RPC sign
2015-06-09 06:19:39 -07:00
Taylor Gerring 046411866b Fixed signing + tests 2015-06-09 08:47:20 -04:00
Taylor Gerring 1a96798642 gas -> gasprice 2015-06-09 08:13:26 -04:00
Taylor Gerring 1c364b6beb gas -> gasprice 2015-06-09 08:13:25 -04:00
Taylor Gerring c8a9a4e76d Differentiate between 0 and unspecified gas/gasprice 2015-06-09 08:13:25 -04:00
Felix Lange e221a449e0 cmd/geth, jsre, rpc: run all JS code on the event loop
Some JSRE methods (PrettyPrint, ToVal) bypassed the event loop. All
calls to the JS VM are now wrapped. In order to make this somewhat more
foolproof, the otto VM is now a local variable inside the event loop.
2015-05-25 02:27:37 +02:00
obscuren 7381be8edb core/vm, rpc: added disasm to `ext_` RPC 2015-05-22 15:38:46 +02:00
obscuren 6539ccae7c core: added RPC sign back in 2015-05-22 13:00:04 +02:00
zelig e1d1417729 rpc: NewNotAvailableError instead of NewNotImplementedError if no solc 2015-05-20 05:29:28 +01:00