Felix Lange
6c73a59806
eth: limit number of sent transactions based on message size
...
Nodes that are out of sync will queue many transactions, which causes
the initial transactions message to grow very large. Larger transactions
messages can make communication impossible if the message is too big to
send. Big transactions messages also exhaust egress bandwidth, which
degrades other peer connections.
The new approach to combat these issues is to send transactions in
smaller batches. This commit introduces a new goroutine that handles
delivery of all initial transaction transfers. Size-limited packs of
transactions are sent to one peer at a time, conserving precious egress
bandwidth.
2015-06-09 17:07:10 +02:00
Felix Lange
41b2008a66
eth: limit number of sent blocks based on message size
...
If blocks get larger, sending 256 at once can make messages large
enough to exceed the low-level write timeout.
2015-06-09 17:06:31 +02:00
Felix Lange
7aefe123e9
core/types: add Transaction.Size
2015-06-09 17:06:31 +02:00
Jeffrey Wilcke
fda49f2b52
Merge pull request #1213 from karalabe/polish-console-prettyprinter
...
jsre: patch up the pretty printer to have a decent look
2015-06-09 07:29:32 -07:00
Péter Szilágyi
d6f4c515f5
jsre: print function arguments too
2015-06-09 17:23:44 +03:00
Jeffrey Wilcke
c71ab2a6a3
Merge pull request #1219 from Gustav-Simonsson/precompiled_ec_recover_padding
...
Precompiled ec recover padding
2015-06-09 07:21:23 -07:00
Péter Szilágyi
7842559353
jsre: sort pretty print output, fields before funcs
2015-06-09 17:19:56 +03:00
Gustav Simonsson
6e3b58e491
Remove unneeded if check on EC recover padding
2015-06-09 16:03:05 +02:00
Jeffrey Wilcke
365576620a
Merge pull request #1216 from karalabe/fix-eth-dataraces
...
Fix various data races in eth and core
2015-06-09 06:53:49 -07:00
Gustav Simonsson
15166f880b
Skip BlockTests/bcValidBlockTests SimpleTx3
2015-06-09 15:53:31 +02:00
Gustav Simonsson
ad5b5a4895
Pad precompiled EC recover input and add validations
2015-06-09 15:41:15 +02:00
Gustav Simonsson
d8e55a5cc3
Skip VMTests RandomTests temporarily until they are fixed
2015-06-09 15:40:43 +02:00
Gustav Simonsson
e885a2912b
Update Ethereum JSON test files
2015-06-09 15:39:24 +02:00
Péter Szilágyi
ebf2aabd25
core: fix up a deadlock caused by double locking
2015-06-09 16:26:44 +03:00
Jeffrey Wilcke
60b780c21b
Merge pull request #1217 from tgerring/rpcsign
...
Fix RPC sign
2015-06-09 06:19:39 -07:00
obscuren
76148515fa
skip sol on new compiler
2015-06-09 15:19:20 +02:00
Péter Szilágyi
ff84352fb7
p2p: fix close data race
2015-06-09 16:12:24 +03:00
Jeffrey Wilcke
f371e6c81a
Merge pull request #1156 from tgerring/issue1145
...
Differentiate between 0 and unspecified gas/gasprice
2015-06-09 05:49:55 -07:00
Taylor Gerring
046411866b
Fixed signing + tests
2015-06-09 08:47:20 -04:00
Péter Szilágyi
ca8cb65b73
core: fix data race accessing ChainManager.currentBlock
2015-06-09 15:30:46 +03:00
Péter Szilágyi
07baf66200
core: fix data race in accessing ChainManager.td
2015-06-09 15:23:20 +03: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
Péter Szilágyi
d09ead546c
eth: fix a data race in the hash announcement processing
2015-06-09 15:09:15 +03:00
Péter Szilágyi
f86707713c
eth: fix data race accessing peer.td
2015-06-09 14:56:27 +03:00
Jeffrey Wilcke
3054fd4811
Merge pull request #1215 from obscuren/issue1202
...
core: skip genesis block for reprocess. Closes #1202
2015-06-09 04:46:13 -07:00
obscuren
7da8ebdfd0
Fixed readme links and description
2015-06-09 13:45:35 +02:00
Péter Szilágyi
44147d057d
eth: fix data race accessing peer.recentHash
2015-06-09 14:27:44 +03:00
obscuren
190c1b688a
core: skip genesis block for reprocess. Closes #1202
2015-06-09 13:24:32 +02:00
Jeffrey Wilcke
05cae69d72
Merge pull request #1188 from karalabe/newblockhashes-proposal
...
eth: implement the NewBlockHashes protocol proposal
2015-06-09 04:07:46 -07:00
Jeffrey Wilcke
087949227c
Merge pull request #1153 from karalabe/downloader-banned-starvation-attack
...
eth/downloader: gather and ban hashes from invalid chains
2015-06-09 03:45:41 -07:00
Péter Szilágyi
3f4ce70d92
jsre: fix wrong separator comma placing due to non consistent field orders
2015-06-09 13:27:45 +03:00
Jeffrey Wilcke
11f65cf885
Merge pull request #1211 from obscuren/genesis_writout_fix
...
core: write accounts to statedb. Closes #1210
2015-06-09 02:55:47 -07:00
obscuren
a5b977aa90
core: write accounts to statedb. Closes #1210
2015-06-09 11:37:01 +02:00
Jeffrey Wilcke
0f1cdfa53a
Merge pull request #1193 from tgerring/hotbackup
...
Improve export command
2015-06-08 16:32:38 -07:00
Jeffrey Wilcke
81ceac1b96
Merge pull request #1209 from obscuren/txpool_test_and_pending_fix
...
core: added a test for missing nonces
2015-06-08 16:04:30 -07:00
obscuren
5245bd7b20
core: added a test for missing nonces
...
This test showed the logic in the queue was slightly flawed sending out
transactions to its peer it couldn't even resolve itself.
2015-06-09 00:41:47 +02:00
Péter Szilágyi
8216bb901c
eth: clean up pending announce download map, polish logs
2015-06-09 00:37:10 +03:00
Jeffrey Wilcke
55b7c14554
Merge pull request #1199 from obscuren/settable_genesis_nonce
...
core: settable genesis nonce
2015-06-08 13:43:41 -07:00
Jeffrey Wilcke
75522f95ce
Merge pull request #1204 from carver/deep-log-crashfix
...
crash fix: skip deep log if self.chain is not caught up
2015-06-08 13:35:11 -07:00
Jason Carver
a9c058dfe0
crash fix: skip deep log if self.chain is not caught up
...
@see trace https://gist.github.com/eupraxic/87fdfefe702c51d5944d
2015-06-08 11:49:59 -07:00
Péter Szilágyi
9ed166c196
eth: split and handle explicitly vs. download requested blocks
2015-06-08 20:38:39 +03:00
Taylor Gerring
44e5ff7d15
Fix blocktest
2015-06-08 12:55:15 -04:00
obscuren
6244b10a8f
core: settable genesis nonce
...
You can set the nonce of the block with `--genesisnonce`. When the
genesis nonce changes and it doesn't match with the first block in your
database it will fail. A new `datadir` must be given if the nonce of the
genesis block changes.
2015-06-08 18:33:43 +02:00
Péter Szilágyi
fdccce781e
eth: fetch announced hashes from origin, periodically
2015-06-08 19:24:56 +03:00
Péter Szilágyi
8c012e103f
eth: mark blocks as known when broadcasting hashes too
2015-06-08 18:44:02 +03:00
Péter Szilágyi
6f415b96b3
eth: implement the NewBlockHashes protocol proposal
2015-06-08 18:44:02 +03:00
Péter Szilágyi
4ed3509a02
eth/downloader: test registration rejection on head ban
2015-06-08 15:02:52 +03:00
Péter Szilágyi
c4f224932f
eth/downloader: reject peer registration if head is banned
2015-06-08 14:46:31 +03:00