Commit Graph

909 Commits

Author SHA1 Message Date
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
zelig 00f59f5014 fix eth.sign. now implemented in admin jsre until web3.js has it . 2015-05-20 04:38:20 +01:00
zelig b0ae84aa0d multiple contract source for solidity compiler: returns contract array if multiple contracts. fixes #1023 2015-05-20 04:11:48 +01:00
zelig f9abcee0f9 fix solc tests unskip 2015-05-20 02:47:13 +01:00
Jeffrey Wilcke 9b825e2728 Merge pull request #1036 from tgerring/issue884
JSON RPC null field updates
2015-05-19 06:44:31 -07:00
Taylor Gerring 748263d2f0 Use bytes.Repeat() instead of 32-byte literal 2015-05-19 08:14:48 -05:00
Taylor Gerring a2598e649d Permit multiple CORS domains
Separated by spaces
2015-05-18 10:31:03 -05:00
Taylor Gerring 62d76b8e1f Cleanup 2015-05-18 10:11:27 -05:00
Taylor Gerring a528bd04db Return nil for certain fields on eth_getTransactionByHash when not part of a block 2015-05-18 10:09:00 -05:00
Taylor Gerring d381d9a74c Return nil for certain fields on eth_getBlockByNumber pending 2015-05-18 09:16:10 -05:00
Jeffrey Wilcke 158efbaa45 Merge pull request #984 from tgerring/issue924
Omit replies for RPC notification requests
2015-05-15 04:12:40 -07:00
Taylor Gerring 44a7f997c3 Unreverse ordering 2015-05-14 15:50:39 -05:00
Taylor Gerring 5c6540452a Omit replies for notification requests
When Id is missing, the client does not want a response
2015-05-14 12:39:57 -05:00
Taylor Gerring 4ad8f1035b Format contract code as hexdata 2015-05-14 12:17:19 -05:00
Gustav Simonsson 037772fc07 fix hex conversion bug in RPC for byte slices 2015-05-12 17:22:17 +02:00
obscuren dca290d525 sol: skipped source checking step 2015-05-12 16:19:14 +02:00
obscuren 260536a729 rpc: hexData => hexNum 2015-05-12 15:02:44 +02:00
obscuren 66de3f0aa8 xeth, rpc: implement eth_estimateGas. Closes #930 2015-05-12 14:21:43 +02:00
obscuren 21e52efdfe cmd/geth, miner, backend, xeth: Fixed miner threads to be settable
Miner threads are now settable through the admin interface (closes #897)
and specify 0 CPU worker threads when eth_getWork is called (closes #916)
2015-05-11 17:21:22 +02:00
Daniel A. Nagy a9e1d38612 Merge branch 'develop' of github.com:ethereum/go-ethereum into develop
Conflicts:
	rpc/jeth.go
2015-05-11 12:47:14 +02:00
obscuren df323cdb4e rpc: display error message to stdout 2015-05-11 11:39:33 +02:00
Péter Szilágyi 0ad5898c0f rpc, xeth: fix #881, gracefully handle offline whisper 2015-05-11 11:53:53 +03:00
Daniel A. Nagy 3a01e3e39b Signing (almost) works. 2015-05-08 17:52:44 +02:00
Daniel A. Nagy a487396b76 eth_sign added to API for signing arbitrary data. 2015-05-08 16:36:13 +02:00
Daniel A. Nagy e94aa421c6 New API call for signatures. 2015-05-08 16:17:19 +02:00
Jeffrey Wilcke 45c070fc8b Merge pull request #833 from ethersphere/frontier/solidity
solidity compiler and contract metadocs integration
2015-05-08 03:43:31 -07:00
obscuren b3c9b66f29 rpc: eth_transactionFilter => eth_newPendingTransactionFilter 2015-05-07 14:44:32 +02:00
obscuren 7e160a677d xeth, core, event/filter, rpc: new block and transaction filters 2015-05-07 14:44:32 +02:00
zelig 009b221692 solidity compiler and contract metadocs integration
* common/compiler: solidity compiler + tests
* rpc: eth_compilers, eth_compileSolidity + tests
* fix natspec test using keystore API, notice exp dynamically changes addr, cleanup
* resolver implements registrars and needs to create reg contract (temp)
* xeth: solidity compiler. expose getter Solc() and paths setter SetSolc(solcPath)
* ethereumApi: implement compiler related RPC calls using XEth - json struct tests
* admin: make use of XEth.SetSolc to allow runtime setting of compiler paths
* cli: command line flags solc to set custom solc bin path
* js admin api with new features debug and contractInfo modules
* wiki is the doc https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions
2015-05-07 12:58:21 +02:00
obscuren 03bb88dec0 xeth, rpc: added nonce setting through RPC and xeth transact 2015-05-06 18:30:55 +02:00
zsfelfoldi c54d123b31 setTimeout and sendAsync implemented
added and eval queue for serializing JSRE vm execution
2015-05-06 15:58:27 +02:00
obscuren 99027c79fe Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
Conflicts:
	rpc/api.go
2015-04-28 11:17:41 +02:00
obscuren 459d898705 eth, rpc, xeth: ext_hanhrate => eth_hashrate 2015-04-28 11:16:03 +02:00
obscuren 46f63ef04f Merge branch 'develop' of https://github.com/kobigurk/go-ethereum into kobigurk-develop 2015-04-28 11:10:44 +02:00
Péter Szilágyi 978ffd3097 rpc, xeth: finish cleaning up xeth 2015-04-28 10:49:05 +03:00
Péter Szilágyi e252dae499 rpc: use nil topic wildcards instead of "" 2015-04-28 10:49:04 +03:00
Péter Szilágyi ae4bfc3cfb rpc, ui/qt/qwhisper, whisper, xeth: introduce complex topic filters 2015-04-28 10:49:04 +03:00
Péter Szilágyi 7948cc0029 rpc, whisper, xeth: fix RPC message retrieval data race 2015-04-28 10:47:35 +03:00
Péter Szilágyi 3563c59b12 rpc, whisper, xeth: polish whisper RPC interface 2015-04-28 10:47:35 +03:00
Taylor Gerring 3ad5243b18 Return Gas Price not Gas
And output as quantity, not data
2015-04-27 13:58:32 -05:00
Taylor Gerring b071e7f4db Remove old logger from RPC pkg 2015-04-27 09:18:55 -05:00
Jeffrey Wilcke 67cc80ba66 Merge pull request #786 from tgerring/issue739
Empty Call response should return 0x instead of 0x00. Closes #739
2015-04-23 02:22:35 -07:00
Jeffrey Wilcke 359a9773a1 Merge pull request #783 from tgerring/issue777
Issue 777
2015-04-23 02:11:20 -07:00
Taylor Gerring 73b3f2837f Handle bug in parent call response 2015-04-22 14:14:10 -05:00
Taylor Gerring 41e3d01e63 Rename eth_Version to eth_protocolVersion. Closes #737 2015-04-22 13:42:09 -05:00
Taylor Gerring 20bae2b8f6 Tests for magic words 2015-04-22 13:24:29 -05:00
Taylor Gerring 2ea2261156 Accept num or hex as index 2015-04-22 13:24:10 -05:00
Taylor Gerring 35ad9febce Update eth_getBlockByNumber to accept words 2015-04-22 13:14:10 -05:00
Taylor Gerring 13dc8627b5 Treat hexnums as big.Int instead of int64 2015-04-21 08:48:57 -05:00
Kobi Gurkan 9e03c48d43 move eth_hashrate to ext 2015-04-21 16:44:08 +03:00
Kobi Gurkan 63c5c7fb2d uses newHexNum for eth_hashrate 2015-04-21 16:44:08 +03:00
Kobi Gurkan 41b83fe1cd adds eth_hashrate RPC method 2015-04-21 16:44:08 +03:00
obscuren 6c2b703c58 Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop 2015-04-21 12:14:07 +02:00
obscuren ed0817c55d core/rpc: fix for null entries in log filters. Closes #725
You can now specify `null` as a way of saying "not interested in this
topic, match all". core.Filter assumes the zero'd address to be the
wildcard. JSON rpc assumes empty strings to be wildcards.
2015-04-21 12:00:57 +02:00
Andy 3ef1cd43f6 fix for: Please remove the "minGasPrice" from block returns #754 2015-04-20 22:08:50 -06:00
Jeffrey Wilcke 99e825ad96 Merge pull request #734 from bas-vk/issue-729
admin.StopRPC added to console
2015-04-20 10:34:50 -07:00
zsfelfoldi b635cad9fe NatSpec passing end to end test 2015-04-19 20:57:49 +01:00
zsfelfoldi 3136bae4a5 NatSpec, URL register storage retrieval
fixed 2/3 tests
2015-04-19 20:57:48 +01:00
Bas van Kervel 61885aa965 Don't export types/functions 2015-04-19 10:01:50 +02:00
Bas van Kervel 2c229bac00 Replaced channel pointer field with non pointer channel 2015-04-19 09:55:41 +02:00
obscuren c39a7b5c0d Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop 2015-04-18 02:33:04 +02:00
obscuren 89fd752659 rpc: set from. Closes #742 2015-04-18 02:32:55 +02:00
Bas van Kervel ead3dd9759 Stop accepted and alive connections (http keep-alive) when the rpc service is stopped 2015-04-16 19:23:57 +02:00
Bas van Kervel 57f93d25bd admin.stopRPC support added which stops the RPC HTTP listener 2015-04-16 12:56:51 +02:00
Taylor Gerring 6388767df0 Fix call output when empty 2015-04-15 12:45:20 -05:00
obscuren d82aaf617c rpc: changed logging to use glog 2015-04-15 00:09:13 +02:00
obscuren 8db7b2374c rpc: change eth_protocolVersion to eth_version. Closes #714 2015-04-14 20:47:21 +02:00
obscuren d61ec9ca76 rpc: removed hash from LogRes. Closes #701 2015-04-13 21:28:05 +02:00
obscuren 9f5d24be31 glog 2015-04-09 18:16:22 +02:00
obscuren a9959805e5 Removed from as a requirement and changed
Removed the from as a requiremet from the RPC eth_call. Xeth#Call now
also default values to:

1. Supplied account
2. First account if any
3. No managed account => 000000..00
2015-04-09 00:44:20 +02:00
obscuren a7750c929b Fixed tests to reflect log changes 2015-04-08 20:45:39 +02:00
obscuren 1c872ddf4b Changed how logs are being recorded
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654.
2015-04-08 17:15:45 +02:00
obscuren 3063aad7db merge conflict 2015-04-07 15:04:29 +02:00
Taylor Gerring d0c3f127ee More type fixes 2015-04-07 06:49:31 -05:00
obscuren 43454053b0 Fixed tests 2015-04-07 13:10:12 +02:00
Taylor Gerring 1aaeae292d Output format and nil fixes 2015-04-07 06:10:00 -05:00
Taylor Gerring 5c988c8ea0 Increased test coverage for args 2015-04-04 11:58:23 -05:00
Taylor Gerring 435378e953 Improved test coverage for rpc types 2015-04-04 15:09:30 +02:00
Taylor Gerring 71e62eb620 More test coverage for responses 2015-04-04 14:08:35 +02:00
Taylor Gerring 2b9b9e7704 Allow "earliest" block height 2015-04-04 13:25:47 +02:00
Jeffrey Wilcke a6ca3d0261 Merge pull request #626 from tgerring/rpcfabian
RPC Tests updates
2015-04-03 11:58:18 +02:00
Taylor Gerring 3e042317ad Return nil if block does not exist 2015-04-02 20:37:51 +02:00
Taylor Gerring 1d74086b42 New UncleRes type 2015-04-02 17:55:42 +02:00
Taylor Gerring 537e2cfeb6 Return nil when requested uncle index is not valid 2015-04-02 16:12:19 +02:00
Taylor Gerring e882ba0c29 Return nil when requested index does not exist
Instead of error
2015-04-02 16:11:00 +02:00
Taylor Gerring aa71e27a3b Detect non-valid strings for blockheight 2015-04-02 15:53:04 +02:00
Taylor Gerring 3908590578 Make "To" field optional in whisper filter 2015-04-02 15:37:35 +02:00
Jeffrey Wilcke 607fc788e3 Merge pull request #619 from tgerring/rpcfabian
RPC Fabian fixes
2015-04-02 15:13:30 +02:00
Taylor Gerring 876ce0fb12 More nil checks 2015-04-02 14:54:28 +02:00
Taylor Gerring 172b34351a HashArgs fix + tests 2015-04-02 14:49:33 +02:00
Taylor Gerring b9c9d6d798 Use HashArgs for eth_getTransactionByHash 2015-04-02 14:37:11 +02:00
Taylor Gerring b4eef59b6f No longer require gas & gas price in transactions
Defaults to 0, which is then set to default values in XEth
2015-04-02 14:05:14 +02:00
obscuren 1e28b424e7 Default gas 2015-04-02 14:00:49 +02:00
Taylor Gerring 015453f5b3 Default Value to 0 for NewTxArgs 2015-04-02 13:55:53 +02:00
Taylor Gerring 118ad22ee5 Merge branch 'develop' into rpcfabian 2015-04-02 13:39:46 +02:00
Taylor Gerring 81de8ed091 Format code as hexdata 2015-04-02 13:38:12 +02:00
Taylor Gerring b86450aaae Guard from nil pointers 2015-04-02 13:27:58 +02:00
Taylor Gerring e402e1dc2e New args types with stricter checking 2015-04-02 13:17:55 +02:00
Taylor Gerring 14c14fd61f Output empty block as nil 2015-04-02 13:05:13 +02:00
Taylor Gerring 2efb89d544 Guard for nil *big.Int 2015-04-02 13:04:58 +02:00
obscuren 3f4c1aaf01 info => debug 2015-04-02 12:58:17 +02:00
obscuren 0f3bf7ef4d Fixes for balance 2015-04-02 12:57:04 +02:00
Taylor Gerring 585aec127c Don't ignore user-specified "include tx" param 2015-04-02 12:56:36 +02:00