Commit Graph

734 Commits

Author SHA1 Message Date
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