zelig
65a26e40a8
require explicit etherbase address for mining. Falling back to primary is risky given it is inconsistent if keys are imported/merged/created or copied/transfered
2015-07-02 23:28:12 +01:00
zelig
fc2e33c594
unlock multiple passes and obsolete primary
...
* multiple passwords allowed in password file
* split on "\n", sideeffect: chop trailing slashes. fixes common mistake <(echo 'pass')
* remove accounts.Primary method
* do not fall back to primary account for mining
2015-07-02 23:28:11 +01:00
Péter Szilágyi
d6f2c0a76f
eth, eth/downloader: fix #1231 , DOS vulnerability in hash queueing
2015-07-01 15:21:35 +03:00
Péter Szilágyi
1ae80aaf64
eth: fix #1371 , double lock during block/txn known set limitation
2015-07-01 11:12:05 +03:00
Péter Szilágyi
60454da650
eth/downloader: reduce hash fetches in prep for eth/61
2015-07-01 01:20:49 +03:00
Péter Szilágyi
f43c07cb3c
eth, eth/downloader: transition to eth 61
2015-06-30 19:05:06 +03:00
Péter Szilágyi
af51dc4d63
eth, eth/downloader: pass the eth protocol version through
2015-06-30 19:00:01 +03:00
Péter Szilágyi
aac2b6ae4c
eth: add the blocks from numbers protocol message
2015-06-30 19:00:01 +03:00
Péter Szilágyi
5db8f447d5
eth: fix #1319 , put an upper limit on the known txns and blocks
2015-06-30 19:00:01 +03:00
Péter Szilágyi
6fc85f1ec2
eth: clean up peer struct a bit, fix double txn bcast
2015-06-30 19:00:01 +03:00
Péter Szilágyi
2c8ed76e01
eth: start cleaning up old protocol implementation, add metrics
2015-06-30 19:00:00 +03:00
Péter Szilágyi
393d675690
cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61
2015-06-30 19:00:00 +03:00
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
2015-06-30 00:51:46 +02:00
Péter Szilágyi
ccbb56b4f2
cmd/geth, eth, ethdb: monitor database compactions
2015-06-30 00:51:29 +02:00
zsfelfoldi
5d9df7348d
gpo non-existent block checks
2015-06-29 18:53:04 +02:00
Felix Lange
76821d167a
core, eth, rpc: avoid unnecessary block header copying
2015-06-29 18:51:48 +02:00
Felix Lange
e0e5f74776
eth/downloader, eth/fetcher: use core.GenerateChain in tests
...
TestMadeupParentBlockChainAttack has been deleted because it was too
hard to port and the attack that it checks the prevention of is being
averted in a different way (through a protocol change).
2015-06-29 18:51:47 +02:00
Felix Lange
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
Felix Lange
654564e164
core/types: make transactions immutable
2015-06-29 18:51:47 +02:00
Péter Szilágyi
a7d22658ad
eth/fetcher: don't drop on future blocks, just not propagate
2015-06-29 14:20:13 +03:00
Péter Szilágyi
29d53b2073
eth/fetcher: don't double filter/fetch the same block
2015-06-29 13:49:04 +03:00
Péter Szilágyi
803b3c4a82
eth, ethdb: measure database operation latencies too
2015-06-24 18:34:05 +03:00
Péter Szilágyi
0609fcf030
eth: make sure dbs are lvldb before instrumenting
2015-06-24 18:34:04 +03:00
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
2015-06-24 18:34:04 +03:00
Péter Szilágyi
6260b86c15
eth/fetcher: fix failed merge
2015-06-24 18:34:04 +03:00
Péter Szilágyi
b426301467
cmd/geth, eth/fetcher: polish metrics reporting, add some more
2015-06-24 18:34:04 +03:00
Péter Szilágyi
821e01b013
cmd/geth, eth/fetcher: initial metrics support
...
Conflicts:
cmd/geth/admin.go
2015-06-24 18:33:33 +03:00
Péter Szilágyi
3ce17d2862
eth/fetcher: fix a closure data race
2015-06-22 20:13:18 +03:00
Péter Szilágyi
99ca4b619b
eth/fetcher: clean up test assertions
2015-06-22 18:28:38 +03:00
Péter Szilágyi
b53f701c27
eth/fetcher: remove test sleeps (15s -> 2.8s)
2015-06-22 18:08:28 +03:00
Péter Szilágyi
1989d1491a
eth/fetcher: handle and (crude) test block memory DOS
2015-06-22 16:49:47 +03:00
Péter Szilágyi
d36c25bcbc
eth/fetcher: handle and test block announce DOS attacks
2015-06-22 14:07:08 +03:00
Péter Szilágyi
8c4c7ea192
eth/fetcher: lower max cache size, add timeout slack
2015-06-19 16:46:16 +03:00
Péter Szilágyi
4180ca7fe4
eth: fix the propagation/announce order for mined blocks
2015-06-19 10:07:37 +03:00
Péter Szilágyi
13c25036ea
eth/fetcher: since uncles are allowed, drop phase test
2015-06-18 20:10:07 +03:00
Péter Szilágyi
ecd19919c5
eth/fetcher: allow backward uncle imports too
2015-06-18 19:43:47 +03:00
Péter Szilágyi
90d45f0397
eth: fix test breakage from the previous commit
2015-06-18 18:25:27 +03:00
Péter Szilágyi
b91b581b80
eth, eth/fetcher: propagate after header verify, announce only on insert
2015-06-18 18:00:19 +03:00
Péter Szilágyi
629705ad53
eth: clean the block request packet handling a bit
2015-06-18 16:09:34 +03:00
Péter Szilágyi
5ec6ecc511
eth, eth/fetcher: move propagated block import into fetcher
2015-06-18 15:56:08 +03:00
Péter Szilágyi
a9ada0b5ba
eth/fetcher: make tests thread safe
2015-06-18 15:56:08 +03:00
Péter Szilágyi
37c5ff392f
eth/fetcher: build longest chain until proven otherwise
2015-06-18 15:56:08 +03:00
Péter Szilágyi
2a7411bc96
eth/fetcher: fix premature queue cleanup, general polishes
2015-06-18 15:56:08 +03:00
Péter Szilágyi
497a7f1717
eth, eth/fetcher: define and enforce propagation boundaries
2015-06-18 15:56:08 +03:00
Péter Szilágyi
026ee40650
eth/fetcher: deduplicate future blocks
2015-06-18 15:56:08 +03:00
Péter Szilágyi
11c8f83a58
eth, eth/fetcher: cache future propagated blocks too
2015-06-18 15:56:08 +03:00
Péter Szilágyi
057bc237ad
eth, eth/fetcher: use an import queue to store out of order blocks
2015-06-18 15:56:07 +03:00
Péter Szilágyi
8b64e041d6
eth/fetcher: add test to check for duplicate downloads
2015-06-18 15:56:07 +03:00
Péter Szilágyi
2a1b722d04
eth/fetcher: fix timer reset bug, add initial tests
2015-06-18 15:56:07 +03:00
Péter Szilágyi
7c2af1c117
eth, eth/fetcher: separate notification sync mechanism
2015-06-18 15:56:07 +03:00
Péter Szilágyi
4365668462
eth/downloader: extend slow test to fix even slower CI server...
2015-06-18 00:42:02 +03:00
Péter Szilágyi
55dd8fd621
eth/downloader: always reenter processing if not exiting
2015-06-18 00:26:54 +03:00
Péter Szilágyi
2f4cbe22f5
eth, eth/downloader: fix processing interrupt caused by temp cancel
2015-06-18 00:04:57 +03:00
Péter Szilágyi
4a1e82cf3f
eth/downloader: fix #1280 , overlapping (good/bad) delivery hang
2015-06-17 12:03:16 +03: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
Jeffrey Wilcke
f2a2164184
Merge pull request #990 from zsfelfoldi/gasprice
...
eth: add GasPriceOracle
2015-06-15 08:44:25 -07:00
zsfelfoldi
a977cecbe4
fixed gas price corr. factor
2015-06-15 15:55:38 +02:00
zsfelfoldi
6e212bdc6d
fallback for uninitialized GPO config values
2015-06-15 15:55:38 +02:00
zsfelfoldi
2e8016c80d
fixed initial base price bug
2015-06-15 15:55:38 +02:00
zsfelfoldi
0930e190a7
added missing source
2015-06-15 15:55:38 +02:00
zsfelfoldi
3f94d09c1f
fixed saving receipts
2015-06-15 15:55:38 +02:00
Péter Szilágyi
aa250e228a
eth: don't refetch non fitting blocks to avoid duplicates
2015-06-15 15:18:31 +03:00
Péter Szilágyi
cf7c44a7f6
eth/downloader: detailed comment for the race corner case
2015-06-15 15:18:04 +03:00
Péter Szilágyi
9c03c374e3
eth/downloader: fix import statistic reset, fetch hashes async
2015-06-15 13:05:01 +03:00
obscuren
6d817e16c1
core, miner: tx pool drops txs below ask price
2015-06-15 11:33:08 +02:00
Péter Szilágyi
b240983e2b
eth, eth/downloader: do async block fetches, add dl tests
2015-06-15 12:26:05 +03:00
Péter Szilágyi
30a9939388
eth/downloader: sanity test for multi peer syncs
2015-06-15 09:22:37 +03:00
Péter Szilágyi
fc7abd9886
eth, eth/downloader: move block processing into the downlaoder
2015-06-15 09:22:37 +03:00
Péter Szilágyi
0fc71877a7
eth/downloader: add valid peer during attacks (check interference)
2015-06-15 09:22:37 +03:00
Péter Szilágyi
80833f8137
eth/downloader: instreument and test the sync peer drop
2015-06-15 09:22:37 +03:00
Péter Szilágyi
faae8b7dd8
eth: fix an accidental test compile error
2015-06-15 09:22:37 +03:00
Péter Szilágyi
2dd6a62f67
eth/downloader: support individual peers in the test suite
2015-06-15 09:22:36 +03:00
Péter Szilágyi
2937903299
eth/downloader: remove uneeded testing functions
2015-06-15 09:22:36 +03:00
Péter Szilágyi
66d3dc8690
eth, eth/downloader: move peer removal into downloader
2015-06-15 09:22:36 +03:00
obscuren
90c4493a10
eth, core: interupt the chain processing on stop
...
Added an additional channel which is used to interupt the chain manager
when it's processing blocks.
2015-06-12 13:41:34 +02:00
Jeffrey Wilcke
13bd452faf
Merge pull request #1227 from karalabe/block-fetcher-optimisations
...
eth: optimize the notification/explicit fetch mechanism
2015-06-11 03:31:41 -07:00
Jeffrey Wilcke
979ebfc126
Merge pull request #1224 from karalabe/report-import-progress
...
cmd/geth, eth/downloader: collect and report import progress too
2015-06-10 15:30:20 -07:00
Péter Szilágyi
3c1cccc801
eth/downloader: fetch the block hashes on the fly, when needed
2015-06-10 20:12:22 +03:00
Péter Szilágyi
e61db7145a
eth: dedup fetches to ensure no blocks are pulled twice
2015-06-10 19:47:59 +03:00
Péter Szilágyi
355b1e3bb1
eth: randomly fetch announced block (don't hammer origin)
2015-06-10 19:47:59 +03:00
Péter Szilágyi
b9affbf9fe
eth: discard fetched blocks that don't fit (no goroutine)
2015-06-10 19:47:59 +03:00
obscuren
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
2015-06-10 17:13:32 +02:00
Péter Szilágyi
271fb20ecb
cmd/geth, eth/downloader: rough guess at the import eta
2015-06-10 18:01:05 +03:00
Péter Szilágyi
b3d5ce7d48
cmd/geth, eth/downloader: collect and report import progress too
2015-06-10 01:20:35 +03:00
Felix Lange
73c355591f
core, eth: document that result of GetTransactions is modifiable
2015-06-09 17:07:10 +02:00
Felix Lange
8dc3048f65
eth/downloader: fix hash fetch timeout handling
...
Fixes #1206
2015-06-09 17:07:10 +02:00
Felix Lange
2c24a73e25
eth: add protocol tests
...
The protocol tests were commented out when eth/downloader was introduced.
2015-06-09 17:07:10 +02:00
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
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
Péter Szilágyi
44147d057d
eth: fix data race accessing peer.recentHash
2015-06-09 14:27:44 +03: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
obscuren
a5b977aa90
core: write accounts to statedb. Closes #1210
2015-06-09 11:37:01 +02:00
Péter Szilágyi
8216bb901c
eth: clean up pending announce download map, polish logs
2015-06-09 00:37:10 +03:00
Péter Szilágyi
9ed166c196
eth: split and handle explicitly vs. download requested blocks
2015-06-08 20:38:39 +03: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