aboutsummaryrefslogtreecommitdiffstats
path: root/eth
Commit message (Collapse)AuthorAgeFilesLines
* core, miner: tx pool drops txs below ask priceobscuren2015-06-151-0/+1
|
* eth, core: interupt the chain processing on stopobscuren2015-06-121-1/+1
| | | | | Added an additional channel which is used to interupt the chain manager when it's processing blocks.
* Merge pull request #1227 from karalabe/block-fetcher-optimisationsJeffrey Wilcke2015-06-111-18/+37
|\ | | | | eth: optimize the notification/explicit fetch mechanism
| * eth: dedup fetches to ensure no blocks are pulled twicePéter Szilágyi2015-06-111-5/+23
| |
| * eth: randomly fetch announced block (don't hammer origin)Péter Szilágyi2015-06-111-4/+5
| |
| * eth: discard fetched blocks that don't fit (no goroutine)Péter Szilágyi2015-06-111-13/+13
| |
* | Merge pull request #1224 from karalabe/report-import-progressJeffrey Wilcke2015-06-111-4/+42
|\ \ | | | | | | cmd/geth, eth/downloader: collect and report import progress too
| * | eth/downloader: fetch the block hashes on the fly, when neededPéter Szilágyi2015-06-111-9/+5
| | |
| * | cmd/geth, eth/downloader: rough guess at the import etaPéter Szilágyi2015-06-101-2/+13
| | |
| * | cmd/geth, eth/downloader: collect and report import progress tooPéter Szilágyi2015-06-101-4/+35
| |/
* / core: fixed race condition in the transaction poolobscuren2015-06-101-5/+0
|/ | | | Removed `Stop/Start` mechanism from the transaction pool.
* core, eth: document that result of GetTransactions is modifiableFelix Lange2015-06-091-2/+4
|
* eth/downloader: fix hash fetch timeout handlingFelix Lange2015-06-091-12/+18
| | | | Fixes #1206
* eth: add protocol testsFelix Lange2015-06-091-336/+190
| | | | The protocol tests were commented out when eth/downloader was introduced.
* eth: limit number of sent transactions based on message sizeFelix Lange2015-06-092-9/+109
| | | | | | | | | | | | | | 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.
* eth: limit number of sent blocks based on message sizeFelix Lange2015-06-091-2/+11
| | | | | If blocks get larger, sending 256 at once can make messages large enough to exceed the low-level write timeout.
* eth: fix a data race in the hash announcement processingPéter Szilágyi2015-06-091-10/+18
|
* eth: fix data race accessing peer.tdPéter Szilágyi2015-06-093-14/+33
|
* eth: fix data race accessing peer.recentHashPéter Szilágyi2015-06-093-12/+32
|
* Merge pull request #1188 from karalabe/newblockhashes-proposalJeffrey Wilcke2015-06-094-81/+262
|\ | | | | eth: implement the NewBlockHashes protocol proposal
| * eth: clean up pending announce download map, polish logsPéter Szilágyi2015-06-092-14/+26
| |
| * eth: split and handle explicitly vs. download requested blocksPéter Szilágyi2015-06-092-23/+81
| |
| * eth: fetch announced hashes from origin, periodicallyPéter Szilágyi2015-06-092-32/+80
| |
| * eth: mark blocks as known when broadcasting hashes tooPéter Szilágyi2015-06-081-0/+3
| |
| * eth: implement the NewBlockHashes protocol proposalPéter Szilágyi2015-06-083-63/+123
| |
* | Merge pull request #1153 from karalabe/downloader-banned-starvation-attackJeffrey Wilcke2015-06-096-177/+315
|\ \ | | | | | | eth/downloader: gather and ban hashes from invalid chains
| * | eth/downloader: test registration rejection on head banPéter Szilágyi2015-06-081-2/+10
| | |
| * | eth/downloader: reject peer registration if head is bannedPéter Szilágyi2015-06-081-4/+15
| | |
| * | eth/downloader: cap the hash ban set, add test for itPéter Szilágyi2015-06-086-12/+64
| | |
| * | eth/downloader: fix throttling test to be less timing dependentPéter Szilágyi2015-06-081-3/+7
| | |
| * | eth/downloader: fix another rebase errorPéter Szilágyi2015-06-081-2/+1
| | |
| * | eth/downloader: preallocate the block cachePéter Szilágyi2015-06-083-21/+14
| | |
| * | eth/downloader: fix merge compile errorPéter Szilágyi2015-06-081-1/+1
| | |
| * | eth/downloader: don't block hash deliveries while pulling blocksPéter Szilágyi2015-06-081-17/+14
| | |
| * | eth/downloader: update test for shitty travisPéter Szilágyi2015-06-081-1/+1
| | |
| * | eth/downloader: clean up and simplify the code a bitPéter Szilágyi2015-06-081-13/+3
| | |
| * | eth/downloader: short circuit sync if head hash is bannedPéter Szilágyi2015-06-081-0/+4
| | |
| * | eth/downloader: accumulating hash bans for reconnecting attackersPéter Szilágyi2015-06-082-5/+126
| | |
| * | eth/downloader: clean up tests and unused variablesPéter Szilágyi2015-06-082-120/+79
| |/
* | core: write accounts to statedb. Closes #1210obscuren2015-06-091-1/+1
| |
* | core: settable genesis nonceobscuren2015-06-091-1/+6
|/ | | | | | | 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.
* Merge pull request #1189 from karalabe/downloader-polishesJeffrey Wilcke2015-06-053-19/+50
|\ | | | | eth/downloader: handle timeouts more gracefully
| * eth/downloader: differentiate stale and nonexistent deliveriesPéter Szilágyi2015-06-052-19/+46
| |
| * eth/downloader: log hard timeouts and reset capacityPéter Szilágyi2015-06-052-0/+4
| |
* | eth, eth/downloader: fix #1098, elevate empty hash errors to peer dropsPéter Szilágyi2015-06-052-3/+3
|/
* Merge pull request #1181 from obscuren/txpool_fixesJeffrey Wilcke2015-06-051-30/+1
|\ | | | | cmd: transaction pool fixes and improvements
| * core, eth, miner: moved nonce management to tx pool.obscuren2015-06-041-29/+0
| | | | | | | | | | | | | | | | Removed the managed tx state from the chain manager to the transaction pool where it's much easier to keep track of nonces (and manage them). The transaction pool now also uses the queue and pending txs differently where queued txs are now moved over to the pending queue (i.e. txs ready for processing and propagation).
| * cmd/utils, eth: core.NewBlockProcessor no longer needs TxPoolFelix Lange2015-06-041-1/+1
| |
* | eth/downloader: drop log entry from peer, it's covered alreadyPéter Szilágyi2015-06-041-5/+0
| |
* | eth/downloader: log after state updates, easier to debugPéter Szilágyi2015-06-041-5/+3
| |
* | eth/downloader: fix #1178, don't request blocks beyond the cache boundsPéter Szilágyi2015-06-043-15/+35
|/
* eth/downloader: demote peers if they exceed the soft limits at 1 blocks alreadyPéter Szilágyi2015-06-031-3/+8
|
* eth/downloader: add a basic block download congestion controlPéter Szilágyi2015-06-035-55/+67
|
* Update bootnodeTaylor Gerring2015-06-011-1/+1
|
* eth: 100% block propogationobscuren2015-05-281-2/+1
|
* core, eth/downloader: expose the bad hashes, check in downloaderPéter Szilágyi2015-05-282-2/+17
|
* eth: hard disconnect if a peer is flakyPéter Szilágyi2015-05-271-4/+12
|
* Merge pull request #1108 from karalabe/fine-seedingFelix Lange2015-05-271-7/+5
|\ | | | | Fine tune seeder and p2p peer handling
| * cmd/geth, cmd/utils, eth, p2p: pass and honor a no discovery flagPéter Szilágyi2015-05-271-0/+2
| |
| * eth, p2p: start the p2p server even if maxpeers == 0Péter Szilágyi2015-05-261-7/+3
| |
* | core: check negative value transactions. Closes #1109obscuren2015-05-271-1/+0
| |
* | eth/downloader: silence "Added N blocks from..." if N == 0Péter Szilágyi2015-05-261-1/+1
|/
* Merge pull request #1014 from fjl/p2p-dialer-3000Jeffrey Wilcke2015-05-261-1/+1
|\ | | | | p2p: new dialer, peer management without locks
| * eth: stop p2p.Server on shutdownFelix Lange2015-05-251-1/+1
| |
* | eth, eth/downloader: surface downloaded block origin, drop on errorPéter Szilágyi2015-05-265-23/+39
| |
* | expand acronym in log message from TDJason Carver2015-05-231-1/+1
|/ | | to total difficulty
* Merge pull request #1055 from ethersphere/autodagJeffrey Wilcke2015-05-221-0/+88
|\ | | | | automatic DAG pregeneration for smooth epoch transitions
| * automatic DAG pregeneration for smooth epoch transitionszelig2015-05-211-0/+88
| | | | | | | | | | | | | | | | - backend: AutoDAG bool flag passed from cli/eth.Config to ethereum, autoDAG loop started if true - backend: autoDAG loop start/stop, remove previous DAG - cli: AutoDAG bool flag, off by default, but automatically ON if mining - admin jsre: add startAutoDAG stopAutoDAG and makeDAG in miner section - switch on/off DAG autogeneration when miner started/stopped on console
* | Merge pull request #1064 from karalabe/downloader-attacksJeffrey Wilcke2015-05-226-28/+99
|\ \ | |/ |/| Fix two additional download vulnerabilities
| * eth, eth/downloader: remove duplicate consts, bump hash fetch to 2KPéter Szilágyi2015-05-216-13/+14
| |
| * eth/downloader: circumvent a forged block chain with known parent attackPéter Szilágyi2015-05-212-13/+56
| |
| * eth/downloader: prevent a peer from dripping bad hashesPéter Szilágyi2015-05-212-9/+36
| |
* | eth: reduced max open files for LevelDBobscuren2015-05-211-1/+1
| |
* | Merge pull request #1048 from ethersphere/cli-fixesJeffrey Wilcke2015-05-201-0/+20
|\ \ | | | | | | CLI, JSRE admin and Solc improvements
| * | solc now in ethereum, fixes solc path setting; setSolc() didnt workzelig2015-05-201-0/+20
| |/
* | Merge pull request #1050 from karalabe/handle-slow-download-testerJeffrey Wilcke2015-05-201-1/+1
|\ \ | | | | | | eth/downloader: fix test to it doesn't time out on a slow machine
| * | eth/downloader: fix test to it doesn't time out on a slow machinePéter Szilágyi2015-05-201-1/+1
| | |
* | | eth: fix odd method names in peer setPéter Szilágyi2015-05-202-7/+7
| |/ |/|
* | Merge pull request #1035 from karalabe/eth-threadsafe-peersJeffrey Wilcke2015-05-193-68/+150
|\ \ | | | | | | eth: make the peer-set thread safe
| * | eth: remote a superfluous peerSet methodPéter Szilágyi2015-05-191-12/+0
| | |
| * | eth: make the peer set thread safePéter Szilágyi2015-05-193-68/+162
| |/
* / core: parallelise nonce checking when processing blocksobscuren2015-05-181-2/+2
|/ | | | | | ChainManager now uses a parallel approach to block processing where all nonces are checked seperatly from the block processing process. This speeds up the process by about 3 times on my i7
* eth/downloader: moved start eventobscuren2015-05-161-2/+2
| | | | Start event has moved because it could possibly could stall the miner
* eth, cmd/geth: start mining from console respects CLI flagobscuren2015-05-161-0/+2
|
* Merge pull request #996 from karalabe/fix-potential-crosscheck-raceJeffrey Wilcke2015-05-161-5/+7
|\ | | | | eth/downloader: circumvent download race between crosscheck and hashes
| * eth/downloader: circumvent download race between crosscheck and hashesPéter Szilágyi2015-05-161-5/+7
| |
* | eth/downloader: fix #992, where tests may time out on a slow machinePéter Szilágyi2015-05-161-0/+6
|/
* eth/downloader: fix cancel channel double closePéter Szilágyi2015-05-161-3/+8
|
* eth/downloader: circumvent a fake blockchain attackPéter Szilágyi2015-05-152-27/+58
|
* eth/downloader: don't penalize for stale cross checksPéter Szilágyi2015-05-151-7/+17
|
* eth, eth/downloader: detect and handle madeup hash attacksPéter Szilágyi2015-05-154-43/+110
|
* eth: drop a sync peer if it sends an invalid hash chainPéter Szilágyi2015-05-151-1/+1
|
* eth/downloader: circumvent hash reordering attacksPéter Szilágyi2015-05-153-49/+88
|
* eth/downloader: check sync after failed attacksPéter Szilágyi2015-05-152-7/+23
|
* eth/downloader: add a test for detecting missing blocksPéter Szilágyi2015-05-152-8/+24
|
* eth, eth/downloader: prevent hash repeater attackPéter Szilágyi2015-05-154-15/+50
|
* eth/downloader: fixed testobscuren2015-05-151-1/+3
|
* eth, eth/downloader, miner: use download events to check miner startobscuren2015-05-153-3/+23
|
* Merge pull request #974 from karalabe/downloader-fix-unknown-parent-attackJeffrey Wilcke2015-05-144-38/+92
|\ | | | | eth, eth/downloader: handle a potential unknown parent attack
| * eth/downloader: add a small additional check to the testPéter Szilágyi2015-05-141-0/+3
| |
| * eth/downloader: remove a previous leftoverPéter Szilágyi2015-05-141-1/+0
| |
| * eth, eth/downloader: remove parent verification from the downlaoderPéter Szilágyi2015-05-144-46/+17
| |
| * eth, eth/downloader: handle a potential unknown parent attackPéter Szilágyi2015-05-143-31/+112
| |
* | Merge pull request #950 from karalabe/downloader-cancel-syncJeffrey Wilcke2015-05-141-32/+37
|\ \ | | | | | | eth/downloader: fix deliveries to check for sync cancels
| * | eth/downloader: remove a redundant sync progress checkPéter Szilágyi2015-05-131-4/+0
| | |
| * | eth/downloader: add a user sync notificatonPéter Szilágyi2015-05-131-0/+5
| | |
| * | eth/downloader: sync the cancel channel during cancel tooPéter Szilágyi2015-05-131-21/+4
| | |
| * | eth/downloader: fix deliveries to check for sync cancelsPéter Szilágyi2015-05-131-10/+31
| |/
* / eth/downloader: fix nil panic caused by wrong variable usePéter Szilágyi2015-05-131-1/+1
|/
* eth/downloader: fix active peer shadowing, polish func namesPéter Szilágyi2015-05-133-24/+16
|
* eth: 100% tx propagationobscuren2015-05-131-1/+1
|
* Fix common.Address / []byte type conversionsGustav Simonsson2015-05-121-1/+1
|
* Use common.Address type for accounts.AddressGustav Simonsson2015-05-121-5/+8
|
* Merge pull request #933 from bas-vk/issue928Jeffrey Wilcke2015-05-121-7/+6
|\ | | | | replaced path with platform aware filepath module
| * replaced several path.* with filepath.* which is platform independentBas van Kervel2015-05-121-7/+6
| |
* | eth, ethdb: lower the amount of open files & improve err messages for dbobscuren2015-05-121-0/+1
|/ | | | Closes #880
* eth, ethdb: lower the amount of open files & improve err messages for dbobscuren2015-05-121-3/+6
| | | | Closes #880
* eth, eth/downloader: moved pending queue error message to debugobscuren2015-05-112-3/+4
|
* cmd/geth, miner, backend, xeth: Fixed miner threads to be settableobscuren2015-05-111-6/+6
| | | | | Miner threads are now settable through the admin interface (closes #897) and specify 0 CPU worker threads when eth_getWork is called (closes #916)
* eth/downloader: use count instead of peers, clearerPéter Szilágyi2015-05-112-4/+4
|
* eth/downloader: revert to demotion, use harsher penaltyPéter Szilágyi2015-05-112-8/+19
|
* eth/downloader: fix #910, thread safe peers & polishesPéter Szilágyi2015-05-114-161/+210
|
* core, eth, miner: improved tx removal & fatal error on db sync errobscuren2015-05-111-3/+5
| | | | | | | | * core: Added GasPriceChange event * eth: When one of the DB flush methods error a fatal error log message is given. Hopefully this will prevent corrupted databases from occuring. * miner: remove transactions with low gas price. Closes #906, #903
* eth: added a cancel method for the downloaderobscuren2015-05-103-2/+106
| | | | | | | | | Added a cancel method to the downloader which gracefully shuts down any active syncing process (hash fetching or block downloading) and resets the queue and remove any pending blocks. Issue with the downloader which would stall because of an active ongoing process when an invalid block was found.
* cmd/geth, cmd/mist, eth, flags: renamed loglevel to verbosityobscuren2015-05-091-7/+11
|
* Merge pull request #863 from karalabe/ordered-block-downloadJeffrey Wilcke2015-05-087-383/+468
|\ | | | | eth/downloader: prioritize block fetch based on chain position, cap memo...
| * eth/downloader: fix leftover state between syncsPéter Szilágyi2015-05-081-1/+4
| |
| * eth, eth/downloader: handle sync errors a bit more gracefullyPéter Szilágyi2015-05-084-48/+48
| |
| * eth, eth/downloader: make synchronize thread safePéter Szilágyi2015-05-085-82/+22
| |
| * eth/downloader: fix priority queue reset, add throttling testPéter Szilágyi2015-05-071-0/+48
| |
| * eth/downloader: fix expiration not running while fetchingPéter Szilágyi2015-05-072-34/+32
| |
| * eth/downloader: prioritize block fetch based on chain position, cap memory usePéter Szilágyi2015-05-075-273/+369
| |
* | cmd, eth, p2p: introduce pending peer cli arg, add testsPéter Szilágyi2015-05-071-12/+14
|/
* fixed merge issueobscuren2015-05-071-4/+49
|\
| * eth, p2p: add trusted node list beside static listPéter Szilágyi2015-05-041-12/+12
| |
| * eth, p2p: rename trusted nodes to static, drop inbound extra slotsPéter Szilágyi2015-05-011-11/+11
| |
| * cmd, eth, p2p: fix review issues enumerated by FelixPéter Szilágyi2015-04-301-5/+5
| |
| * cmd/geth, cmd/utils, eth: internalize trusted node config filePéter Szilágyi2015-04-301-23/+20
| |
| * cmd/geth, cmd/mist, cmd/utils, eth, p2p: support trusted peersPéter Szilágyi2015-04-301-4/+52
| |
* | Merge pull request #791 from fjl/discover-sha3-distanceJeffrey Wilcke2015-05-071-2/+2
|\ \ | | | | | | p2p/discover: sha3-based node distance
| * | p2p/discover: new endpoint formatFelix Lange2015-04-301-2/+2
| |/ | | | | | | | | | | This commit changes the discovery protocol to use the new "v4" endpoint format, which allows for separate UDP and TCP ports and makes it possible to discover the UDP address after NAT.
* | Integrate new ethash API and change geth makedag cmdGustav Simonsson2015-05-051-2/+1
| |
* | downloader: hash downloading recoveryobscuren2015-05-032-29/+71
| | | | | | | | | | | | If a peer fails to respond (disconnect, etc) during hash downloading switch to a different peer which has it's current_hash in the queue's peer set.
* | cmd/geth, eth: bump version & tmp fix for incorrect TD peersobscuren2015-05-031-0/+7
| |
* | eth/downloader: put back hashes on block overflow errorobscuren2015-05-031-19/+14
| |
* | eth/downloader: changed has to blockHashes for chain linkingobscuren2015-05-031-1/+1
| |
* | eth/downloader: added additional testsobscuren2015-05-032-4/+73
| |
* | eth,core: changed NewTicker to Tickobscuren2015-05-031-4/+4
| |
* | eth, eth/downloader: Moved block processing & graceful shutdownobscuren2015-05-016-291/+347
| | | | | | | | | | | | | | The downloader is no longer responsible for processing blocks. The eth-protocol handler now takes care of this instead. Added graceful shutdown during block processing. Closes #846
* | eth/downloader: delete blocks from queueobscuren2015-04-302-3/+15
| |
* | core: added a wait group to chain manager for graceful shutdownobscuren2015-04-301-0/+1
| |
* | core, eth: verify td of received blocksobscuren2015-04-301-1/+21
| |
* | eth, eth/downloader: remove bad peers from peer setobscuren2015-04-302-17/+29
|/ | | | Peers in the eth protocol handler are now being ignored for catch up.
* eth: rely on p2p to determine block propagationobscuren2015-04-301-1/+1
|
* core/types, eth: meassure and display propagation timesobscuren2015-04-301-1/+3
|
* eth/downloader: drop blockobscuren2015-04-301-1/+1
|
* core: fixed tetst to reflect (int, error) return by insertChainobscuren2015-04-291-2/+2
|
* eth/downloader: ignore orphan blocks in the downloader.obscuren2015-04-291-5/+9
| | | | | | When blocks have been sorted and are being processed, orphan blocks should be ignored and thrown out. The protocol handler is responsible for downloading blocks which have missing parents.
* core: return the index of the block that failed when inserting a chainobscuren2015-04-292-6/+5
|
* eth/downloader: reset the chain when parent is missing during processingobscuren2015-04-291-0/+2
|
* eth: check if downloader is busy before showing log messageobscuren2015-04-292-0/+9
|
* Merge pull request #793 from karalabe/discovery-node-cacheJeffrey Wilcke2015-04-281-0/+3
|\ | | | | p2p/discover: persistent node database
| * cmd/bootnode, eth, p2p, p2p/discover: use a fancier db designPéter Szilágyi2015-04-241-8/+2
| |
| * cmd/bootnode, eth, p2p, p2p/discover: clean up the seeder and mesh into eth.Péter Szilágyi2015-04-241-3/+10
| |
| * cmd, eth, p2p, p2p/discover: init and clean up the seed cachePéter Szilágyi2015-04-241-0/+2
| |
* | eth: pull in a lost merge changePéter Szilágyi2015-04-281-2/+4
| | | | | | | | Ref: https://github.com/Gustav-Simonsson/go-ethereum/commit/21c4c155ee68890a069654dcc5bc083a867f65cd
* | Merge pull request #805 from obscuren/download_improvementsJeffrey Wilcke2015-04-258-214/+160
|\ \ | | | | | | eth, eth/downloader: improve downloader and remove asynchronousness
| * | eth/downloader: removed update loop and synch channelobscuren2015-04-251-25/+0
| | |
| * | xeth, core, cmd/utils: Transaction can not be over block gas limitobscuren2015-04-241-1/+1
| | | | | | | | | | | | Transactions will be invalidated when the tx.gas_limit > block.gas_limit
| * | eth: added a few informative messages regarding downloadingobscuren2015-04-241-0/+6
| | |
| * | eth/downloader: fixed testsobscuren2015-04-241-12/+8
| | |
| * | eth, eth/downloader: simplified synchronisation processobscuren2015-04-242-31/+24
| | |
| * | eth/downloader: removed peer td management and best peer selectionobscuren2015-04-242-16/+2
| | |
| * | eth, eth/downloader: don't require td on downloader. Fixed testsobscuren2015-04-244-25/+22
| | |
| * | eth, eth/downloader: moved peer selection to protocol handlerobscuren2015-04-244-134/+127
| | |
* | | backend: start miner in its go routine (no wait to generate DAG)zelig2015-04-241-2/+1
|/ /
* / eth: cleanupobscuren2015-04-241-5/+1
|/
* Merge pull request #797 from tgerring/bootnodesJeffrey Wilcke2015-04-241-2/+3
|\ | | | | Bootnodes update
| * Updated bootnodesTaylor Gerring2015-04-241-2/+3
| | | | | | | | Update pub key for EU node and add new SA node
* | Moved leveldb update loop to eth/backendBas van Kervel2015-04-231-18/+49
|/ | | | | | change order of block insert and update LastBlock bugfix, wrong hash stored in blockDb
* eth: moved mined, tx events to protocol-hnd and improved tx propagationobscuren2015-04-233-28/+78
| | | | | | | | | Transactions are now propagated to peers from which we have not yet received the transaction. This will significantly reduce the chatter on the network. Moved new mined block handler to the protocol handler and moved transaction handling to protocol handler.
* eth: start tx pool in a goroutineobscuren2015-04-231-1/+1
|
* Merge pull request #756 from Gustav-Simonsson/block_test_improvementsJeffrey Wilcke2015-04-211-1/+4
|\ | | | | Block test improvements
| * eth: use NewDB hook also for extra DBFelix Lange2015-04-191-1/+4
| | | | | | | | (cherry picked from commit d5083033f15bb815a6212eddae16a7125db58738)
* | Merge branch 'frontier/natspec' of ↵obscuren2015-04-211-0/+3
|\ \ | | | | | | | | | https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec
| * | NatSpec cli option, resolver tests passingzsfelfoldi2015-04-201-0/+3
| |/
* / core: added chain head reset to known blockobscuren2015-04-202-1/+4
|/
* geth: admin download statusobscuren2015-04-201-11/+15
|
* downloader: fixed tests with low ttlobscuren2015-04-192-2/+3
|
* movedobscuren2015-04-191-6/+6
|
* Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum ↵obscuren2015-04-191-6/+6
|\ | | | | | | | | | | | | into fjl-rlp-size-validation Conflicts: eth/protocol.go
| * cmd/rlpdump, cmd/utils, eth, p2p, whisper: use rlp input limitFelix Lange2015-04-171-3/+3
| |
* | Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into developobscuren2015-04-191-4/+1
|\ \
| * \ Merge pull request #749 from fjl/fix-nodekey-persistenceJeffrey Wilcke2015-04-191-4/+1
| |\ \ | | | | | | | | Fix p2p node key persistence
| | * | eth: fix node key persistenceFelix Lange2015-04-191-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Removed debug printlnobscuren2015-04-191-3/+0
| | | |
* | | | eth: drop blocks with low TDobscuren2015-04-192-5/+7
| | | |
* | | | downloader: moved chunk ignoring. Fixes issue with catching upobscuren2015-04-194-31/+44
|/ / /
* | | eth: temp 100% block propagation because of the current state of the netobscuren2015-04-191-2/+2
| | |
* | | downloader: defer peer reset after downloadobscuren2015-04-192-4/+8
|/ /
* | downloader: reset hashTtl on receiveobscuren2015-04-191-0/+2
| |
* | eth: removed debug messages to stdoutobscuren2015-04-191-2/+2
| |
* | downloader: don't remove peers. keep them aroundobscuren2015-04-193-17/+17
| |
* | typoobscuren2015-04-191-1/+1
| |
* | downloader: free up peers from work when the downloader resetsobscuren2015-04-193-5/+22
| |
* | downloader: throw an error if there are no peers available for downloadobscuren2015-04-191-6/+16
| | | | | | | | | | | | 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.
* | downloader: fixed a race condition for download statusobscuren2015-04-191-1/+0
| |
* | eth: adapted to new synchronous api of downloader's AddBlockobscuren2015-04-193-4/+14
| |
* | downloader: improved downloading and synchronisationobscuren2015-04-194-110/+129
| | | | | | | | | | | | * 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
* | downloader: make sure that hashes are only accepted from the active peerobscuren2015-04-182-20/+54
| |
* | downloader: reset the queue if a peer response with an empty hash setobscuren2015-04-183-15/+37
| |
* | eth: ignore NewBlockMsg with lower tdobscuren2015-04-181-2/+3
| |
* | downloader: all handlers check for isBusyobscuren2015-04-181-7/+7
| |
* | eth: fixed proper BroadcastBlock for mined blocksobscuren2015-04-181-1/+1
| |
* | eth: listen for mined blocks and propagate using the protocol managerobscuren2015-04-181-17/+15
| |
* | eth: drop blocks that are knownobscuren2015-04-181-0/+6
| |
* | eth: additional cleanups to the subprotocol, improved block propagationobscuren2015-04-183-56/+140
| | | | | | | | | | | | | | | | * 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.
* | eth: began split up of peers and protocol managerobscuren2015-04-184-388/+369
| |
* | Merge branch 'develop' into downloader-protoobscuren2015-04-182-5/+117
|\| | | | | | | | | Conflicts: eth/downloader/downloader.go
| * downloader: fixed a typoobscuren2015-04-171-1/+1
| |
| * downloader: added demotion / promotion in prep. for rep. systemobscuren2015-04-162-0/+25
| |
| * downloader: updated downloader and fixed issues with catch upobscuren2015-04-161-21/+47
| | | | | | | | | | | | Properly ignore blocks coming from peers not in our peer list (blocked) and do never request anything from bad peers. Added some checks to account for blocks known when requesting hashes (missing parents).
* | eth: basic implementation of the downloaderobscuren2015-04-171-0/+25
| |
* | Merge branch 'develop' into downloader-protoobscuren2015-04-163-32/+79
|\ \
| * | downloader: updated downloader and fixed issues with catch upobscuren2015-04-161-22/+48
| |/ | | | | | | | | | | Properly ignore blocks coming from peers not in our peer list (blocked) and do never request anything from bad peers. Added some checks to account for blocks known when requesting hashes (missing parents).
| * eth: limit the amount of peers that will receive Block/Tx messagesobscuren2015-04-141-2/+3
| | | | | | | | All transaction and block messages are now limited using `sqrt(peers)`
| * Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into developobscuren2015-04-132-8/+28
| |\
| | * Merge pull request #702 from ethersphere/frontier/blockpoolJeffrey Wilcke2015-04-131-7/+5
| | |\ | | | | | | | | blockpool stability fixes:
| | | * blockpool stability fixes:zelig2015-04-131-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - follow up locks and fix them - chainManager: call SetQueued for parentErr future blocks, uncomment TD checks, unskip test - make ErrIncorrectTD non-fatal to be forgiving to genuine mistaken nodes (temp) but demote them to guard against stuck best peers. - add purging to bounded nodeCache (config nodeCacheSize) - use nodeCache when creating blockpool entries and let non-best peers add blocks (performance boost) - minor error in addError - reduce idleBestPeerTimeout to 1 minute - correct status counts and unskip status passing status test - glogified logging
| | * | Added blockchain DB versioning support, closes #650Bas van Kervel2015-04-131-1/+23
| | |/
* | / eth: added downloader for syncing up the chainobscuren2015-04-132-37/+72
|/ /
* | downloader: added missing blocks catchup functionalityobscuren2015-04-134-133/+303
| | | | | | | | | | When a parent is missing in the block list an attempt should be made to fetch the missing parent and grandparents.
* | downloader: return an error for peer.fetch and return chunk to queueobscuren2015-04-122-3/+16
| | | | | | | | | | If a peer was somehow already fetching and somehow managed to end up in the `available` pool it should return it's work.
* | downloader: renamed chunks to queueobscuren2015-04-121-0/+0
| |
* | downloader: implemented new downloaderobscuren2015-04-124-0/+602
|/
* Disabled TD checkobscuren2015-04-091-1/+1
| | | | | @zelig: Temporarily commented out TD check untill the rest of the network has been fixed.
* Moved log to debugobscuren2015-04-091-5/+10
|
* Moved handling of nonces to the managed stateobscuren2015-04-091-1/+1
|
* Improved transaction poolobscuren2015-04-091-1/+1
| | | | | | | | | | The transaction pool will now some easily be able to pre determine the validity of a transaction by checking the following: * Account existst * gas limit higher than the instrinsic gas * enough funds to pay upfront costs * nonce check
* Sync managed accounts to the networkobscuren2015-04-081-0/+15
|
* Updated loggingobscuren2015-04-072-9/+9
|
* Update ethashobscuren2015-04-051-1/+1
|
* Changed log to new loggingobscuren2015-04-041-1/+1
|
* correctedobscuren2015-04-011-1/+1
|
* bumped network protocolobscuren2015-04-011-1/+1
|
* eth: update cpp bootnode addressFelix Lange2015-04-011-2/+2
|
* change StatusMsgData.TD back to pointer type *big.Intzelig2015-04-012-8/+8
|
* check TxMsgzelig2015-04-012-1/+43
| | | | | | - add validation on TxMsg checking for nil - add test for nil transaction - add test for zero value transaction (no extra validation needed)
* test for invalid rlp encoding of block in BlocksMsgzelig2015-04-012-7/+32
| | | | | | | - rename Validate -> ValidateFields not to confure consensus block validation - add nil transaction and nil uncle header validation - remove bigint field checks: rlp already decodes *big.Int to big.NewInt(0) - add test for nil header, nil transaction
* add tests for valid blocks msg handlingzelig2015-04-011-4/+46
|