Felix Lange
a2b4abd89a
rpc: send nil on subscription Err channel when Client is closed
...
This change makes client subscriptions compatible with the new
Subscription semantics introduced in the previous commit.
2017-01-25 18:44:21 +01:00
Felix Lange
b9b3efb09f
all: fix ineffectual assignments and remove uses of crypto.Sha3
...
go get github.com/gordonklaus/ineffassign
ineffassign .
2017-01-09 16:24:42 +01:00
Péter Szilágyi
18c77744ff
all: fix spelling errors
2017-01-06 19:44:35 +02:00
Felix Lange
35a7dcb162
all: gofmt -w -s
2017-01-06 15:52:03 +01:00
Felix Lange
cf71f5cd60
rpc: remove HexNumber, replace all uses with hexutil types
...
This change couldn't be automated because HexNumber was used for numbers
of all sizes.
2016-12-20 14:41:58 +01:00
Felix Lange
adab2e16bd
rpc: remove HexBytes, replace all uses with hexutil.Bytes
2016-12-20 14:35:26 +01:00
Felix Lange
a3e3235d97
rpc: improve error messages for invalid arguments
...
The message now includes the index of the invalid arg.
2016-12-20 14:35:26 +01:00
Kenji Siu
d85d3c74db
internal/debug, internal/ethapi, rpc, swarm/storage: Ran "go fmt"
2016-11-01 18:40:36 +08:00
Jonathan Brown
ae341b31c8
rpc: set CORS Max-Age to reduce preflight OPTIONS requests
2016-10-03 20:24:58 +07:00
Bas van Kervel
43d716280e
rpc: format filter ID according to spec for quantities
2016-09-01 11:50:13 +02:00
Felix Lange
b0d9f7372a
internal/ethapi: add missing output fields
...
- returned headers didn't include mixHash
- returned transactions didn't include signature fields
- empty transaction input was returned as "", but should be "0x"
- returned receipts didn't include the bloom filter
- "root" in receipts was missing 0x prefix
2016-08-04 01:40:50 +02:00
Bas van Kervel
47ff813012
rpc: refactor subscriptions and filters
2016-08-17 12:59:58 +02:00
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