Commit Graph

7789 Commits

Author SHA1 Message Date
Felix Lange
46621fd2c3 ethclient: add initial implementation of the typed RPC client
ethclient implements the proposed Ethereum Go API. There are no tests at
the moment, a suite that excercises all implementations of the API will
be added later.
2016-08-10 00:01:13 +02:00
Péter Szilágyi
d6625ac34d Merge pull request #2891 from fjl/rpc-client-fixes
rpc: client bug fixes
2016-08-09 11:51:01 +03:00
Péter Szilágyi
b46b36729f Merge pull request #2868 from karalabe/downloader-abort-master-drop
eth/downloader: abort sync if master drops (timeout prev)
2016-08-09 11:39:24 +03:00
Péter Szilágyi
893fabd336 Merge pull request #2867 from karalabe/dao-challenge-finish
eth, eth/downloader: don't forward the DAO challenge header
2016-08-09 11:39:13 +03:00
Péter Szilágyi
44ea0da2b0 Merge pull request #2861 from karalabe/track-peer-heads-properly
eth, eth/downloader: better remote head tracking
2016-08-09 11:38:34 +03:00
Felix Lange
4f4e1026f5 Merge pull request #2896 from karalabe/fix-xgo-crossbuilds
Makefile, build: move cross compilation into ci.go
2016-08-08 19:56:18 +02:00
Péter Szilágyi
8c23f20c68 Makefile, build: move cross compilation into ci.go 2016-08-08 13:45:44 +03:00
Felix Lange
4f65227971 Merge pull request #2892 from fjl/vm-hide-ecrecover-message
core/vm: hide ecrecover error message
2016-08-05 23:19:10 +02:00
Felix Lange
e4736fe469 core/vm: hide ecrecover error message
Fixes #2825
2016-08-05 23:12:52 +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
d445a9aafb Merge pull request #2889 from fjl/godeps-update-notify
Godeps: update github.com/rjeczalik/notify to f627deca7a51
2016-08-05 19:29:59 +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
8d9141ed9a ethereum: add new Go API interfaces 2016-08-05 13:25:52 +02:00
Felix Lange
4be37222ef Godeps: update github.com/rjeczalik/notify to f627deca7a51
Fixes #2829
2016-08-04 21:20:08 +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
Felix Lange
704fde01e8 core/types, core/vm: improve docs, add JSON marshaling methods
In this commit, core/types's types learn how to encode and decode
themselves as JSON. The encoding is very similar to what the RPC API
uses. The RPC API is missing some output fields (e.g. transaction
signature values) which will be added to the API in a later commit. Some
fields that the API generates are ignored by the decoder methods here.
2016-08-04 03:55:33 +02:00
Felix Lange
0c9a858f2d eth: don't call ValidateFields
ValidateFields was introduced before the rlp decoder disallowed nil
values. Decoding RLP will never return nil values, there is no need
to check for them.
2016-08-04 03:30:05 +02:00
Felix Lange
b8ba80bff7 Merge pull request #2740 from Firescar96/removepeer
node, p2p, internal: Add ability to remove peers via admin interface
2016-07-29 12:34:28 +02:00
Péter Szilágyi
8ec6ccc54d Merge pull request #2870 from lukeyeager/patch-1
Fix README typo
2016-07-27 10:49:04 +03:00
Luke Yeager
1ca9e552d9 README: Fix typo
"fine graned" -> "fine-grained"
2016-07-26 17:23:20 -07:00
Péter Szilágyi
8f0a4a25f8 eth/downloader: abort sync if master drops (timeout prev) 2016-07-26 13:07:12 +03:00
Péter Szilágyi
071af57bcf eth, eth/downloader: don't forward the DAO challenge header 2016-07-26 12:26:41 +03:00
Péter Szilágyi
d68865f3b1 eth/downloader: fewer headers and futures too un ancestor lookup 2016-07-26 11:15:38 +03:00
Péter Szilágyi
a724952f75 Merge pull request #2862 from yep/faster-git-clone
containers/docker: use shallow clone of single branch
2016-07-26 09:51:47 +03:00
yep
a4215f469c containers/docker: whitespace changes only, make future diffs more readable 2016-07-25 16:39:00 +02:00
yep
4c1abcb0ce containers/docker: use shallow clone of single branch 2016-07-25 16:38:46 +02:00
Péter Szilágyi
1dd272080d eth, eth/downloader: better remote head tracking 2016-07-25 15:14:14 +03:00
Felix Lange
3e3a79ea13 Merge pull request #2855 from karalabe/downloader-fix-stall-drop
eth/downloader: fix the stall checks/drops during sync
2016-07-25 12:56:11 +02:00
bas-vk
771655e3fe Merge pull request #2808 from fjl/rpc-client-3
rpc: add new client, use it everywhere
2016-07-25 10:07:05 +02:00
Felix Lange
60cd5bf939 Merge pull request #2842 from fjl/downloader-remove-eth61
eth, eth/downloader, eth/fetcher: delete eth/61 sync code
2016-07-22 23:23:30 +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
Péter Szilágyi
c7c82f1b44 eth/downloader: fix the stall checks/drops during sync 2016-07-22 17:55:46 +03:00
Péter Szilágyi
f58ac2b46b Merge pull request #2712 from bas-vk/sendtx
eth/api: rename signAndSendTransaction to sendTransaction
2016-07-22 14:28:21 +03:00
Felix Lange
016007bd25 eth, eth/downloader, eth/fetcher: delete eth/61 code
The eth/61 protocol was disabled in #2776, this commit removes its
message handlers and hash-chain sync logic.
2016-07-22 13:17:19 +02:00
Bas van Kervel
4ee00b2309 eth/api: rename signAndSendTransaction to sendTransaction 2016-07-22 13:12:14 +02:00
Péter Szilágyi
fb81bc3291 Merge pull request #2851 from yep/alpine-3-4
containers/docker: update to alpine 3.4
2016-07-22 12:18:22 +03:00
Péter Szilágyi
c646d287f8 Merge pull request #2833 from karalabe/fix-dao-challenge-annoyance
eth: cancel DAO challenge on peer drop (annoying log)
2016-07-22 11:57:43 +03:00
yep
51d4539a79 containers/docker: update to alpine 3.4 2016-07-22 07:37:41 +02:00
Péter Szilágyi
f273c64a94 Merge pull request #2836 from fjl/godeps-update-leveldb
Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104
2016-07-20 10:55:53 +03:00
Felix Lange
74ec95e7f6 Merge pull request #2711 from hdiedrich/1.4.7-filter-races-cleanup
Fix #2710 Filter race: concurrent map read and map write
2016-07-19 23:14:08 +02:00
Felix Lange
65f340bb95 Merge pull request #2821 from Arachnid/discover-enode
cmd/bootnode: Add support for outputting a node's ID on the command line
2016-07-19 18:53:22 +02:00
Felix Lange
4d014d6d7e Godeps: bump github.com/syndtr/goleveldb/... to ab8b5dcf104 2016-07-19 18:45:42 +02:00
Péter Szilágyi
fe56461387 Merge pull request #2834 from zsfelfoldi/chaindb-upgrade-fix
eth: fixed chaindb upgrade
2016-07-19 18:41:58 +03:00
zsfelfoldi
56efed71b5 eth: fixed chaindb upgrade 2016-07-19 14:32:38 +02:00
Péter Szilágyi
91f18ffd47 eth: cancel DAO challenge on peer drop (annoying log) 2016-07-19 12:00:09 +03:00
Jeffrey Wilcke
a4c4125b11 Merge pull request #2814 from karalabe/dao-hard-finalcombo
cmd, core, eth, miner, params, tests: finalize the DAO fork
2016-07-16 12:08:16 +02:00
Péter Szilágyi
993b412160 cmd/utils, eth: display the user's current fork, minor text tweak 2016-07-16 12:38:37 +03:00