Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core, core/state, trie: EIP158, reprice & skip empty account write | Jeffrey Wilcke | 2016-11-13 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | This commit implements EIP158 part 1, 2, 3 & 4 1. If an account is empty it's no longer written to the trie. An empty account is defined as (balance=0, nonce=0, storage=0, code=0). 2. Delete an empty account if it's touched 3. An empty account is redefined as either non-existent or empty. 4. Zero value calls and zero value suicides no longer consume the 25k reation costs. params: moved core/config to params Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org> | ||||
* | cmd, eth: added light client and light server modes | zsfelfoldi | 2016-11-09 | 1 | -2/+8 |
| | |||||
* | eth: move "timed out DAO fork check, dropping" to debug level | Felix Lange | 2016-10-08 | 1 | -1/+1 |
| | |||||
* | eth: monitor malicious header retrieval requests | Péter Szilágyi | 2016-10-05 | 1 | -5/+16 |
| | |||||
* | core, eth, internal, miner: optimize txpool for quick ops | Péter Szilágyi | 2016-09-02 | 1 | -1/+1 |
| | |||||
* | eth: don't call ValidateFields | Felix Lange | 2016-08-04 | 1 | -3/+0 |
| | | | | | | 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. | ||||
* | Merge pull request #2867 from karalabe/dao-challenge-finish | Péter Szilágyi | 2016-08-09 | 1 | -0/+1 |
|\ | | | | | eth, eth/downloader: don't forward the DAO challenge header | ||||
| * | eth, eth/downloader: don't forward the DAO challenge header | Péter Szilágyi | 2016-07-26 | 1 | -0/+1 |
| | | |||||
* | | eth, eth/downloader: better remote head tracking | Péter Szilágyi | 2016-07-25 | 1 | -14/+16 |
|/ | |||||
* | Merge pull request #2842 from fjl/downloader-remove-eth61 | Felix Lange | 2016-07-23 | 1 | -120/+11 |
|\ | | | | | eth, eth/downloader, eth/fetcher: delete eth/61 sync code | ||||
| * | eth, eth/downloader, eth/fetcher: delete eth/61 code | Felix Lange | 2016-07-22 | 1 | -120/+11 |
| | | | | | | | | | | The eth/61 protocol was disabled in #2776, this commit removes its message handlers and hash-chain sync logic. | ||||
* | | eth: cancel DAO challenge on peer drop (annoying log) | Péter Szilágyi | 2016-07-19 | 1 | -0/+7 |
|/ | |||||
* | cmd, core, eth, miner, params, tests: finalize the DAO fork | Péter Szilágyi | 2016-07-15 | 1 | -4/+4 |
| | |||||
* | core, eth: enforce network split post DAO hard-fork | Péter Szilágyi | 2016-07-15 | 1 | -3/+55 |
| | |||||
* | core: improved chainDb using sequential keys | zsfelfoldi | 2016-06-07 | 1 | -14/+18 |
| | |||||
* | eth: don't accept transactions until we sync up with the network | Péter Szilágyi | 2016-06-06 | 1 | -4/+10 |
| | |||||
* | eth: enable bad block reports | Felix Lange | 2016-05-25 | 1 | -2/+19 |
| | | | | | | | | | | | | We used to have reporting of bad blocks, but it was disabled before the Frontier release. We need it back because users are usually unable to provide the full RLP data of a bad block when it occurs. A shortcoming of this particular implementation is that the origin peer is not tracked for blocks received during eth/63 sync. No origin peer info is still better than no report at all though. | ||||
* | eth: skip transaction handling during fast sync | Péter Szilágyi | 2016-05-17 | 1 | -8/+15 |
| | |||||
* | core, eth, miner: improve shutdown synchronisation | Felix Lange | 2016-05-09 | 1 | -22/+38 |
| | | | | | | | | | | | | | | | | | | | | Shutting down geth prints hundreds of annoying error messages in some cases. The errors appear because the Stop method of eth.ProtocolManager, miner.Miner and core.TxPool is asynchronous. Left over peer sessions generate events which are processed after Stop even though the database has already been closed. The fix is to make Stop synchronous using sync.WaitGroup. For eth.ProtocolManager, in order to make use of WaitGroup safe, we need a way to stop new peer sessions from being added while waiting on the WaitGroup. The eth protocol Run function now selects on a signaling channel and adds to the WaitGroup only if ProtocolManager is not shutting down. For miner.worker and core.TxPool the number of goroutines is static, WaitGroup can be used in the usual way without additional synchronisation. | ||||
* | all: fix go vet warnings | Felix Lange | 2016-04-15 | 1 | -1/+0 |
| | |||||
* | core: added basic chain configuration | Jeffrey Wilcke | 2016-04-01 | 1 | -2/+2 |
| | | | | | | | | | Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings. | ||||
* | eth: various typos | Leif Jurvetson | 2016-03-16 | 1 | -1/+1 |
| | |||||
* | eth: forward empty body responses to the downlaoder | Péter Szilágyi | 2016-03-03 | 1 | -1/+5 |
| | |||||
* | eth: changed NodeInfo Genesis and Head types | Bas van Kervel | 2016-01-18 | 1 | -6/+6 |
| | |||||
* | core, eth/downloader: ensure state presence in ancestor lookup | Péter Szilágyi | 2016-01-04 | 1 | -3/+4 |
| | |||||
* | eth: fix #2076, where end of hash query was interpreted number query | Péter Szilágyi | 2015-12-16 | 1 | -1/+3 |
| | |||||
* | eth, p2p, rpc/api: polish protocol info gathering | Péter Szilágyi | 2015-10-28 | 1 | -5/+37 |
| | |||||
* | core, eth, trie: fix data races and merge/review issues | Péter Szilágyi | 2015-10-21 | 1 | -8/+9 |
| | |||||
* | eth: clean out light node notions from eth | Péter Szilágyi | 2015-10-19 | 1 | -11/+6 |
| | |||||
* | core, eth: roll back uncertain headers in failed fast syncs | Péter Szilágyi | 2015-10-19 | 1 | -1/+1 |
| | |||||
* | core, eth, trie: direct state trie synchronization | Péter Szilágyi | 2015-10-19 | 1 | -7/+18 |
| | |||||
* | core, eth: receipt chain reconstruction | Péter Szilágyi | 2015-10-19 | 1 | -24/+36 |
| | |||||
* | eth/downloader: add fast and light sync strategies | Péter Szilágyi | 2015-10-19 | 1 | -12/+31 |
| | |||||
* | core: support inserting pure header chains | Péter Szilágyi | 2015-10-19 | 1 | -16/+2 |
| | |||||
* | cmd, eth: support switching client modes of operation | Péter Szilágyi | 2015-10-19 | 1 | -18/+22 |
| | |||||
* | core, eth, event, miner, xeth: fix event post / subscription race | Péter Szilágyi | 2015-10-12 | 1 | -2/+2 |
| | |||||
* | cmd/geth, cmd/utils, core, rpc: renamed to blockchain | Jeffrey Wilcke | 2015-10-04 | 1 | -33/+33 |
| | | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted. | ||||
* | Merge pull request #1810 from karalabe/pure-header-verifications-2 | Jeffrey Wilcke | 2015-09-17 | 1 | -1/+1 |
|\ | | | | | core, eth, miner: use pure header validation | ||||
| * | core, eth, miner: use pure header validation | Péter Szilágyi | 2015-09-16 | 1 | -1/+1 |
| | | |||||
* | | all: move common.Database to package ethdb | Felix Lange | 2015-09-15 | 1 | -2/+3 |
|/ | |||||
* | core: split out TD from database and all internals | Péter Szilágyi | 2015-09-11 | 1 | -9/+10 |
| | |||||
* | core, eth: split the db blocks into headers and bodies | Péter Szilágyi | 2015-09-11 | 1 | -21/+22 |
| | |||||
* | Merge pull request #1701 from karalabe/eth62-sync-rebase | Felix Lange | 2015-08-27 | 1 | -75/+261 |
|\ | | | | | eth: implement eth/62 synchronization logic | ||||
| * | eth: port the synchronisation algo to eth/62 | Péter Szilágyi | 2015-08-25 | 1 | -6/+56 |
| | | |||||
| * | eth, eth/downloader: handle header requests, table driven proto tests | Péter Szilágyi | 2015-08-24 | 1 | -57/+206 |
| | | |||||
| * | eth, metrics, p2p: prepare metrics and net packets to eth/62 | Péter Szilágyi | 2015-08-21 | 1 | -14/+1 |
| | | |||||
* | | Add tests for uncle timestamps and refactor timestamp type | Gustav Simonsson | 2015-08-25 | 1 | -1/+1 |
|/ | |||||
* | eth: fix an issue with pulling and inserting blocks twice | Péter Szilágyi | 2015-08-19 | 1 | -2/+4 |
| | |||||
* | Merge pull request #1515 from fjl/license-fixes | Jeffrey Wilcke | 2015-07-28 | 1 | -1/+1 |
|\ | | | | | all: fix license headers one more time | ||||
| * | all: fix license headers one more time | Felix Lange | 2015-07-24 | 1 | -1/+1 |
| | | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a. | ||||
* | | cmd/geth, core, eth: Version 1.0.0 | Jeffrey Wilcke | 2015-07-25 | 1 | -0/+1 |
|/ | | | | | | | Genesis release. Closes #1402 Conflicts: cmd/geth/main.go | ||||
* | all: update license headers to distiguish GPL/LGPL | Felix Lange | 2015-07-23 | 1 | -4/+4 |
| | | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library". | ||||
* | eth: calculate the correct TD, only update if better | Péter Szilágyi | 2015-07-09 | 1 | -3/+15 |
| | |||||
* | all: update license information | Felix Lange | 2015-07-07 | 1 | -0/+16 |
| | |||||
* | eth, eth/downloader: fix #1231, DOS vulnerability in hash queueing | Péter Szilágyi | 2015-07-01 | 1 | -1/+1 |
| | |||||
* | eth, eth/downloader: transition to eth 61 | Péter Szilágyi | 2015-07-01 | 1 | -33/+56 |
| | |||||
* | eth, eth/downloader: pass the eth protocol version through | Péter Szilágyi | 2015-07-01 | 1 | -1/+1 |
| | |||||
* | eth: add the blocks from numbers protocol message | Péter Szilágyi | 2015-07-01 | 1 | -2/+2 |
| | |||||
* | eth: clean up peer struct a bit, fix double txn bcast | Péter Szilágyi | 2015-07-01 | 1 | -13/+16 |
| | |||||
* | eth: start cleaning up old protocol implementation, add metrics | Péter Szilágyi | 2015-07-01 | 1 | -17/+37 |
| | |||||
* | cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61 | Péter Szilágyi | 2015-07-01 | 1 | -12/+18 |
| | |||||
* | core, eth, rpc: avoid unnecessary block header copying | Felix Lange | 2015-06-30 | 1 | -1/+1 |
| | |||||
* | eth: fix the propagation/announce order for mined blocks | Péter Szilágyi | 2015-06-19 | 1 | -4/+4 |
| | |||||
* | eth: fix test breakage from the previous commit | Péter Szilágyi | 2015-06-18 | 1 | -1/+0 |
| | |||||
* | eth, eth/fetcher: propagate after header verify, announce only on insert | Péter Szilágyi | 2015-06-18 | 1 | -20/+41 |
| | |||||
* | eth: clean the block request packet handling a bit | Péter Szilágyi | 2015-06-18 | 1 | -17/+17 |
| | |||||
* | eth, eth/fetcher: move propagated block import into fetcher | Péter Szilágyi | 2015-06-18 | 1 | -77/+33 |
| | |||||
* | eth/fetcher: build longest chain until proven otherwise | Péter Szilágyi | 2015-06-18 | 1 | -1/+1 |
| | |||||
* | eth, eth/fetcher: define and enforce propagation boundaries | Péter Szilágyi | 2015-06-18 | 1 | -1/+0 |
| | |||||
* | eth, eth/fetcher: cache future propagated blocks too | Péter Szilágyi | 2015-06-18 | 1 | -0/+2 |
| | |||||
* | eth, eth/fetcher: use an import queue to store out of order blocks | Péter Szilágyi | 2015-06-18 | 1 | -2/+9 |
| | |||||
* | eth, eth/fetcher: separate notification sync mechanism | Péter Szilágyi | 2015-06-18 | 1 | -45/+26 |
| | |||||
* | eth, eth/downloader: move block processing into the downlaoder | Péter Szilágyi | 2015-06-15 | 1 | -1/+1 |
| | |||||
* | eth, eth/downloader: move peer removal into downloader | Péter Szilágyi | 2015-06-15 | 1 | -2/+2 |
| | |||||
* | eth: limit number of sent transactions based on message size | Felix Lange | 2015-06-09 | 1 | -9/+15 |
| | | | | | | | | | | | | | | 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 size | Felix Lange | 2015-06-09 | 1 | -2/+11 |
| | | | | | If blocks get larger, sending 256 at once can make messages large enough to exceed the low-level write timeout. | ||||
* | eth: fix data race accessing peer.td | Péter Szilágyi | 2015-06-09 | 1 | -2/+2 |
| | |||||
* | eth: fix data race accessing peer.recentHash | Péter Szilágyi | 2015-06-09 | 1 | -3/+3 |
| | |||||
* | Merge pull request #1188 from karalabe/newblockhashes-proposal | Jeffrey Wilcke | 2015-06-09 | 1 | -74/+128 |
|\ | | | | | eth: implement the NewBlockHashes protocol proposal | ||||
| * | eth: clean up pending announce download map, polish logs | Péter Szilágyi | 2015-06-09 | 1 | -1/+1 |
| | | |||||
| * | eth: split and handle explicitly vs. download requested blocks | Péter Szilágyi | 2015-06-09 | 1 | -23/+25 |
| | | |||||
| * | eth: fetch announced hashes from origin, periodically | Péter Szilágyi | 2015-06-09 | 1 | -29/+25 |
| | | |||||
| * | eth: implement the NewBlockHashes protocol proposal | Péter Szilágyi | 2015-06-08 | 1 | -62/+118 |
| | | |||||
* | | eth/downloader: cap the hash ban set, add test for it | Péter Szilágyi | 2015-06-08 | 1 | -2/+2 |
|/ | |||||
* | eth: 100% block propogation | obscuren | 2015-05-28 | 1 | -2/+1 |
| | |||||
* | eth: hard disconnect if a peer is flaky | Péter Szilágyi | 2015-05-27 | 1 | -4/+12 |
| | |||||
* | eth, eth/downloader: surface downloaded block origin, drop on error | Péter Szilágyi | 2015-05-26 | 1 | -6/+6 |
| | |||||
* | Merge pull request #1064 from karalabe/downloader-attacks | Jeffrey Wilcke | 2015-05-22 | 1 | -3/+3 |
|\ | | | | | Fix two additional download vulnerabilities | ||||
| * | eth, eth/downloader: remove duplicate consts, bump hash fetch to 2K | Péter Szilágyi | 2015-05-21 | 1 | -3/+3 |
| | | |||||
* | | eth: fix odd method names in peer set | Péter Szilágyi | 2015-05-20 | 1 | -2/+2 |
|/ | |||||
* | eth: make the peer set thread safe | Péter Szilágyi | 2015-05-19 | 1 | -41/+24 |
| | |||||
* | eth/downloader: fix active peer shadowing, polish func names | Péter Szilágyi | 2015-05-13 | 1 | -2/+2 |
| | |||||
* | eth: 100% tx propagation | obscuren | 2015-05-13 | 1 | -1/+1 |
| | |||||
* | eth, eth/downloader: handle sync errors a bit more gracefully | Péter Szilágyi | 2015-05-08 | 1 | -4/+4 |
| | |||||
* | eth, eth/downloader: make synchronize thread safe | Péter Szilágyi | 2015-05-08 | 1 | -2/+2 |
| | |||||
* | eth, eth/downloader: Moved block processing & graceful shutdown | obscuren | 2015-05-01 | 1 | -116/+23 |
| | | | | | | | 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 queue | obscuren | 2015-04-30 | 1 | -1/+1 |
| | |||||
* | core, eth: verify td of received blocks | obscuren | 2015-04-30 | 1 | -1/+21 |
| | |||||
* | eth, eth/downloader: remove bad peers from peer set | obscuren | 2015-04-30 | 1 | -7/+21 |
| | | | | Peers in the eth protocol handler are now being ignored for catch up. | ||||
* | eth: rely on p2p to determine block propagation | obscuren | 2015-04-30 | 1 | -1/+1 |
| | |||||
* | core/types, eth: meassure and display propagation times | obscuren | 2015-04-30 | 1 | -1/+3 |
| | |||||
* | core: return the index of the block that failed when inserting a chain | obscuren | 2015-04-29 | 1 | -1/+1 |
| | |||||
* | eth: check if downloader is busy before showing log message | obscuren | 2015-04-29 | 1 | -0/+5 |
| | |||||
* | eth: added a few informative messages regarding downloading | obscuren | 2015-04-24 | 1 | -0/+6 |
| | |||||
* | eth, eth/downloader: simplified synchronisation process | obscuren | 2015-04-24 | 1 | -7/+11 |
| | |||||
* | eth, eth/downloader: don't require td on downloader. Fixed tests | obscuren | 2015-04-24 | 1 | -2/+2 |
| | |||||
* | eth, eth/downloader: moved peer selection to protocol handler | obscuren | 2015-04-24 | 1 | -4/+61 |
| | |||||
* | eth: cleanup | obscuren | 2015-04-24 | 1 | -5/+1 |
| | |||||
* | eth: moved mined, tx events to protocol-hnd and improved tx propagation | obscuren | 2015-04-23 | 1 | -2/+64 |
| | | | | | | | | | 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. | ||||
* | core: added chain head reset to known block | obscuren | 2015-04-20 | 1 | -1/+2 |
| | |||||
* | Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum ↵ | obscuren | 2015-04-19 | 1 | -6/+6 |
| | | | | | | | into fjl-rlp-size-validation Conflicts: eth/protocol.go | ||||
* | eth: drop blocks with low TD | obscuren | 2015-04-19 | 1 | -3/+3 |
| | |||||
* | eth: temp 100% block propagation because of the current state of the net | obscuren | 2015-04-19 | 1 | -2/+2 |
| | |||||
* | eth: removed debug messages to stdout | obscuren | 2015-04-19 | 1 | -2/+2 |
| | |||||
* | downloader: don't remove peers. keep them around | obscuren | 2015-04-19 | 1 | -0/+11 |
| | |||||
* | eth: adapted to new synchronous api of downloader's AddBlock | obscuren | 2015-04-19 | 1 | -2/+12 |
| | |||||
* | downloader: make sure that hashes are only accepted from the active peer | obscuren | 2015-04-18 | 1 | -2/+9 |
| | |||||
* | downloader: reset the queue if a peer response with an empty hash set | obscuren | 2015-04-18 | 1 | -1/+1 |
| | |||||
* | eth: ignore NewBlockMsg with lower td | obscuren | 2015-04-18 | 1 | -2/+3 |
| | |||||
* | eth: drop blocks that are known | obscuren | 2015-04-18 | 1 | -0/+6 |
| | |||||
* | eth: additional cleanups to the subprotocol, improved block propagation | obscuren | 2015-04-18 | 1 | -37/+112 |
| | | | | | | | | * 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 manager | obscuren | 2015-04-18 | 1 | -0/+224 |