Commit Graph

5093 Commits

Author SHA1 Message Date
obscuren 5c59d95532 downloader: defer peer reset after download 2015-04-19 01:39:37 +02:00
Felix Lange 4907d28967 crypto: update {Load,Save}ECDSA comments to mention hex encoding 2015-04-19 01:33:00 +02:00
Felix Lange da4a0e0555 eth: fix node key persistence
crypto.LoadECDSA has been modified to expect hex data.
The key was being saved as raw bytes, causing the file
to be rewritten on every start.
2015-04-19 01:28:41 +02:00
Felix Lange 48f23746f0 Makefile: for non-gophers
Many people need or want to build go-ethereum from the git repository,
mostly to stay up to date with recent changes. We cannot expect that
people without Go experience grok the Go workspace concept.

With the Makefile, building from github requires only
three steps (provided that a Go toolchain is installed):

    - git clone https://github.com/ethereum/go-ethereum
    - ... install C libraries (libgmp, etc.) ...
    - make
2015-04-19 00:42:34 +02:00
obscuren 86ecdcd5ff downloader: reset hashTtl on receive 2015-04-19 00:15:05 +02:00
obscuren 71aa5fe8a3 Merge branch 'downloader-proto' into develop 2015-04-19 00:09:12 +02:00
obscuren 164b878854 cleanup 2015-04-19 00:08:57 +02:00
Felix Lange c453f1f370 tests: hopefully improve test conversion helpers
(cherry picked from commit 035a30acbefb5eeadc1fc8dbd567775d5688f8a9)
2015-04-19 00:07:09 +02:00
Felix Lange 235ed7ecb9 cmd/geth, tests: enable running multiple tests from a single file
This commit also changes the block test loading so tests containing
invalid RLP blocks can be loaded and return an error only when they are
run.

(cherry picked from commit 898ba87984791249586b97c9ce340dd087b79d67)
2015-04-19 00:06:52 +02:00
obscuren 434dea3caf eth: removed debug messages to stdout 2015-04-19 00:03:26 +02:00
Felix Lange 2ce21cefdc eth: use NewDB hook also for extra DB
(cherry picked from commit d5083033f15bb815a6212eddae16a7125db58738)
2015-04-18 23:59:31 +02:00
obscuren 50e096e627 downloader: don't remove peers. keep them around 2015-04-18 23:56:08 +02:00
obscuren 03b4cf74a2 geth: added identity flag which allows to set a custom node name 2015-04-18 23:53:30 +02:00
obscuren d34e4dc5ac Merge branch 'develop' into downloader-proto 2015-04-18 21:26:43 +02:00
obscuren 84f1af6413 core: merge using equal block numbers rather than the current block 2015-04-18 21:23:42 +02:00
obscuren c8cc523d4d miner: reverted back to old event 2015-04-18 20:51:05 +02:00
obscuren a1d97ea4db typo 2015-04-18 20:35:49 +02:00
obscuren c6c22301fa miner: changed listener 2015-04-18 20:26:17 +02:00
obscuren 6830ddb659 downloader: free up peers from work when the downloader resets 2015-04-18 20:25:55 +02:00
obscuren 7c5d50f627 downloader: throw an error if there are no peers available for download
If all peers have been tried during the block download process and some
hashes are unfetchable (available peers > 0 and fetching == 0) throw an
error so the process can be aborted.
2015-04-18 19:30:29 +02:00
obscuren 78e37e98e7 downloader: fixed a race condition for download status 2015-04-18 19:14:25 +02:00
obscuren 0d536734fe eth: adapted to new synchronous api of downloader's AddBlock 2015-04-18 18:57:59 +02:00
obscuren c2c24b3bb4 downloader: improved downloading and synchronisation
* Downloader's peers keeps track of peer's previously requested hashes
  so that we don't have to re-request
* Changed `AddBlock` to be fully synchronous
2015-04-18 18:55:13 +02:00
obscuren 60613b57d1 downloader: make sure that hashes are only accepted from the active peer 2015-04-18 17:35:03 +02:00
obscuren ff67fbf964 Merge branch 'develop' into downloader-proto 2015-04-18 15:14:56 +02:00
obscuren 525cefa37a updated ethash 2015-04-18 15:14:44 +02:00
obscuren 8244825bbf downloader: reset the queue if a peer response with an empty hash set 2015-04-18 15:14:12 +02:00
obscuren eef4776b5b eth: ignore NewBlockMsg with lower td 2015-04-18 14:25:22 +02:00
obscuren 1bc2d83b6f core: improved uncle validation error message 2015-04-18 14:24:44 +02:00
obscuren 8f873b762b downloader: all handlers check for isBusy 2015-04-18 03:15:26 +02:00
obscuren a6c0a75f9a eth: fixed proper BroadcastBlock for mined blocks 2015-04-18 02:38:13 +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
obscuren f1ae3dc4aa geth: bump version number 2015-04-18 02:27:50 +02:00
obscuren 12e8d9c4dd eth: listen for mined blocks and propagate using the protocol manager 2015-04-18 02:27:37 +02:00
obscuren ecc74d76cc eth: drop blocks that are known 2015-04-18 02:24:24 +02:00
obscuren cc436c4b28 eth: additional cleanups to the subprotocol, improved block propagation
* Improved block propagation by sending blocks only to peers to which, as
  far as we know, the peer does not know about.
* Made sub protocol its own manager
* SubProtocol now contains the p2p.Protocol which is used instead of
  a function-returning-protocol thing.
2015-04-18 02:21:07 +02:00
obscuren c2f410214c eth: began split up of peers and protocol manager 2015-04-18 01:11:09 +02:00
obscuren 2339ee9910 Merge branch 'develop' into downloader-proto
Conflicts:
	eth/downloader/downloader.go
2015-04-18 01:10:32 +02:00
Felix Lange 7dc6c33873 Merge pull request #736 from frozeman/develop
add extra space to miner icon
2015-04-17 22:17:50 +02:00
Fabian Vogelsteller 576393550d add extra space to miner icon 2015-04-17 15:00:37 +02:00
Felix Lange 7180699d40 rlp: require declared number of input elements for array types 2015-04-17 14:45:10 +02:00
Felix Lange 9c7281c17e p2p: make DiscReason bigger than byte
We decode into [1]DiscReason in a few places. That doesn't work anymore
because package rlp no longer accepts RLP lists for byte arrays.
2015-04-17 14:45:10 +02:00
Felix Lange 4d5a518a0b rlp: stop accepting lists for byte slices and byte arrays 2015-04-17 14:45:10 +02:00
Felix Lange 574d5d6ae6 core/types: add rlp tag "nil" for Transaction.Recipient 2015-04-17 14:45:10 +02:00
Felix Lange cad64fb911 rlp: stricter rules for structs and pointers
The rules have changed as follows:

* When decoding into pointers, empty values no longer produce
  a nil pointer. This can be overriden for struct fields using the
  struct tag "nil".
* When decoding into structs, the input list must contain an element
  for each field.
2015-04-17 14:45:09 +02:00
Felix Lange 1e2c93aa2d rlp: reject non-minimal input strings
Input strings of length 1 containing a byte < 56 are non-minimal and
should be encoded as a single byte instead. Reject such strings.
2015-04-17 14:45:09 +02:00
Felix Lange 6e9f8035a1 rlp: stricter validation of canonical integer format
All integers (including size information in type tags) need to be
encoded using the smallest possible encoding. This commit expands the
stricter validation introduced for *big.Int in commit 59597d23a5
to all integer types and size tags.
2015-04-17 14:45:09 +02:00
Felix Lange 6788f955c2 rlp: fix handling of single byte zero when decoding into a pointer
A single zero byte carries information and should not set the pointer
to nil. This is arguably a corner case. While here, fix the comment
to explain pointer reuse.
2015-04-17 14:45:09 +02:00
Felix Lange 509d0a8d78 whisper: fix comment for rlpenv 2015-04-17 14:45:09 +02:00