Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | cmd, eth, node, rpc, xeth: use single-instance services | Péter Szilágyi | 2015-11-27 | 1 | -2/+2 |
| | |||||
* | cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks | Péter Szilágyi | 2015-11-27 | 1 | -299/+46 |
| | |||||
* | eth/downloader: fetch data proportionally to peer capacity | Péter Szilágyi | 2015-11-19 | 3 | -246/+258 |
| | |||||
* | Merge pull request #1923 from karalabe/cleanup-receipt-data-access | Jeffrey Wilcke | 2015-11-19 | 2 | -6/+6 |
|\ | | | | | core, eth, miner, xeth: clean up tx/receipt db accessors | ||||
| * | core, eth, miner, xeth: clean up tx/receipt db accessors | Péter Szilágyi | 2015-11-19 | 2 | -6/+6 |
| | | |||||
* | | Merge pull request #1980 from fjl/downloader-deliver-hang | Jeffrey Wilcke | 2015-11-19 | 4 | -311/+336 |
|\ \ | |/ |/| | eth/downloader: don't hang for spurious deliveries | ||||
| * | eth/downloader: run tests in parallel | Felix Lange | 2015-11-19 | 1 | -0/+29 |
| | | |||||
| * | eth/downloader: also drain stateCh, receiptCh in eth/61 mode | Felix Lange | 2015-11-19 | 1 | -71/+77 |
| | | | | | | | | | | | | | | | | | | State and receipt deliveries from a previous eth/62+ sync can hang if the downloader has moved on to syncing with eth/61. Fix this by also draining the eth/63 channels while waiting for eth/61 data. A nicer solution would be to take care of the channels in a central place, but that would involve a major rewrite. | ||||
| * | eth: remove workaround for asynchronous processing in the downloader | Felix Lange | 2015-11-19 | 1 | -4/+0 |
| | | |||||
| * | eth/downloader: don't hang for spurious deliveries | Felix Lange | 2015-11-19 | 3 | -236/+230 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unexpected deliveries could block indefinitely if they arrived at the right time. The fix is to ensure that the cancellation channel is always closed when the sync ends, unblocking any deliveries. Also remove the atomic check for whether a sync is currently running because it doesn't help and can be misleading. Cancelling always seems to break the tests though. The downloader spawned d.process whenever new data arrived, making it somewhat hard to track when block processing was actually done. Fix this by running d.process in a dedicated goroutine that is tied to the lifecycle of the sync. d.process gets notified of new work by the queue instead of being invoked all the time. This removes a ton of weird workaround code, including a hairy use of atomic CAS. | ||||
* | | core, eth, rpc: split out block validator and state processor | Jeffrey Wilcke | 2015-11-18 | 3 | -26/+19 |
|/ | | | | | | | | | | | | This removes the burden on a single object to take care of all validation and state processing. Now instead the validation is done by the `core.BlockValidator` (`types.Validator`) that takes care of both header and uncle validation through the `ValidateBlock` method and state validation through the `ValidateState` method. The state processing is done by a new object `core.StateProcessor` (`types.Processor`) and accepts a new state as input and uses that to process the given block's transactions (and uncles for rewords) to calculate the state root for the next block (P_n + 1). | ||||
* | Merge pull request #1963 from karalabe/fix-database-regression | Jeffrey Wilcke | 2015-11-06 | 1 | -18/+3 |
|\ | | | | | eth: fix error casting regression during database open | ||||
| * | eth: fix error casting regression during database open | Péter Szilágyi | 2015-11-05 | 1 | -18/+3 |
| | | |||||
* | | Merge pull request #1960 from karalabe/fix-peer-ignore-list | Jeffrey Wilcke | 2015-11-04 | 2 | -11/+46 |
|\ \ | |/ |/| | eth/downloader: fix dysfunctional ignore list hidden by generic set | ||||
| * | eth/downloader: fix dysfunctional ignore list hidden by generic set | Péter Szilágyi | 2015-11-04 | 2 | -11/+46 |
| | | |||||
* | | Merge pull request #1934 from karalabe/polish-protocol-infos | Jeffrey Wilcke | 2015-11-04 | 6 | -80/+78 |
|\ \ | |/ |/| | eth, p2p, rpc/api: polish protocol info gathering | ||||
| * | eth, p2p, rpc/api: polish protocol info gathering | Péter Szilágyi | 2015-10-28 | 6 | -80/+78 |
| | | |||||
* | | Merge pull request #1952 from obscuren/testnet-peers | Jeffrey Wilcke | 2015-10-30 | 1 | -1/+2 |
|\ \ | | | | | | | eth: added new testnet peers | ||||
| * | | eth: added new testnet peers | Jeffrey Wilcke | 2015-10-30 | 1 | -1/+2 |
| |/ | |||||
* | | Merge pull request #1949 from karalabe/update-command-usage | Jeffrey Wilcke | 2015-10-30 | 1 | -6/+0 |
|\ \ | | | | | | | cmd/geth, cmd/utils, eth: group CLI flags by purpose | ||||
| * | | cmd/geth, cmd/utils, eth: group CLI flags by purpose | Péter Szilágyi | 2015-10-30 | 1 | -6/+0 |
| | | | |||||
* | | | Merge pull request #1946 from fjl/xeth-oom | Jeffrey Wilcke | 2015-10-30 | 1 | -53/+35 |
|\ \ \ | |/ / |/| | | Fix for xeth OOM issue | ||||
| * | | cmd/utils, rpc/comms: stop XEth when IPC connection ends | Felix Lange | 2015-10-30 | 1 | -53/+35 |
| |/ | | | | | | | | | | | | | | | | | | | | | There are a bunch of changes required to make this work: - in miner: allow unregistering agents, fix RemoteAgent.Stop - in eth/filters: make FilterSystem.Stop not crash - in rpc/comms: move listen loop to platform-independent code Fixes #1930. I ran the shell loop there for a few minutes and didn't see any changes in the memory profile. | ||||
* / | eth: don't block sync goroutines that short circuit | Péter Szilágyi | 2015-10-28 | 2 | -4/+9 |
|/ | |||||
* | Merge pull request #1919 from ethersphere/getnatspec | Jeffrey Wilcke | 2015-10-28 | 1 | -0/+11 |
|\ | | | | | rpc api: eth_getNatSpec | ||||
| * | rpc api: eth_getNatSpec | zelig | 2015-10-27 | 1 | -0/+11 |
| | | | | | | | | | | | | | | | | * xeth, rpc: implement eth_getNatSpec for tx confirmations * rename silly docserver -> httpclient * eth/backend: httpclient now accessible via eth.Ethereum init-d via config.DocRoot * cmd: introduce separate CLI flag for DocRoot (defaults to homedir) * common/path: delete unused assetpath func, separate HomeDir func | ||||
* | | Merge pull request #1932 from fjl/gpo-defootgunize | Jeffrey Wilcke | 2015-10-28 | 1 | -49/+58 |
|\ \ | |/ |/| | eth, xeth: fix GasPriceOracle goroutine leak | ||||
| * | eth, xeth: fix GasPriceOracle goroutine leak | Felix Lange | 2015-10-28 | 1 | -49/+58 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | XEth.gpo was being initialized as needed. WithState copies the XEth struct including the gpo field. If gpo was nil at the time of the copy and Call or Transact were invoked on it, an additional GPO listenLoop would be spawned. Move the lazy initialization to GasPriceOracle instead so the same GPO instance is shared among all created XEths. Fixes #1317 Might help with #1930 | ||||
* | | eth: time out status message exchange after 5s | Felix Lange | 2015-10-23 | 1 | -9/+27 |
|/ | |||||
* | console: | zelig | 2015-10-22 | 1 | -0/+29 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lines with leading space are ommitted from history * exit processed even with whitespace around * all whitespace lines (not only empty ones) are ignored add 7 missing commands to admin api autocomplete registrar: methods now return proper error if reg addresses are not set. fixes #1457 rpc/console: fix personal.newAccount() regression. Now all comms accept interactive password registrar: add registrar tests for errors crypto: catch AES decryption error on presale wallet import + fix error msg format. fixes #1580 CLI: improve error message when starting a second instance of geth. fixes #1564 cli/accounts: unlock multiple accounts. fixes #1785 * make unlocking multiple accounts work with inline <() fd * passwdfile now correctly read only once * improve logs * fix CLI help text for unlocking fix regression with docRoot / admin API * docRoot/jspath passed to rpc/api ParseApis, which passes onto adminApi * docRoot field for JS console in order to pass when RPC is (re)started * improve flag desc for jspath common/docserver: catch http errors from response fix rpc/api tests common/natspec: fix end to end test (skipped because takes 8s) registrar: fix major regression: * deploy registrars on frontier * register HashsReg and UrlHint in GlobalRegistrar. * set all 3 contract addresses in code * zero out addresses first in tests | ||||
* | core, eth, trie: fix data races and merge/review issues | Péter Szilágyi | 2015-10-21 | 15 | -397/+681 |
| | |||||
* | eth: clean out light node notions from eth | Péter Szilágyi | 2015-10-19 | 7 | -68/+34 |
| | |||||
* | core, eth: roll back uncertain headers in failed fast syncs | Péter Szilágyi | 2015-10-19 | 4 | -12/+131 |
| | |||||
* | eth/downloader: concurrent receipt and state processing | Péter Szilágyi | 2015-10-19 | 4 | -72/+158 |
| | |||||
* | core, eth, trie: direct state trie synchronization | Péter Szilágyi | 2015-10-19 | 8 | -459/+779 |
| | |||||
* | core, eth: receipt chain reconstruction | Péter Szilágyi | 2015-10-19 | 6 | -141/+205 |
| | |||||
* | core: differentiate receipt concensus and storage decoding | Péter Szilágyi | 2015-10-19 | 1 | -1/+1 |
| | |||||
* | eth/downloader: add fast and light sync strategies | Péter Szilágyi | 2015-10-19 | 9 | -798/+1427 |
| | |||||
* | core: support inserting pure header chains | Péter Szilágyi | 2015-10-19 | 3 | -18/+5 |
| | |||||
* | cmd, eth: support switching client modes of operation | Péter Szilágyi | 2015-10-19 | 6 | -32/+100 |
| | |||||
* | Merge pull request #1899 from obscuren/mipmap-bloom | Jeffrey Wilcke | 2015-10-17 | 4 | -53/+447 |
|\ | | | | | core, eth/filters, miner, xeth: Optimised log filtering | ||||
| * | core, eth/filters, miner, xeth: Optimised log filtering | Jeffrey Wilcke | 2015-10-17 | 4 | -63/+368 |
| | | | | | | | | | | | | | | Log filtering is now using a MIPmap like approach where addresses of logs are added to a mapped bloom bin. The current levels for the MIP are in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are therefor filtered in batches of 1.000. | ||||
| * | eth/filters: added benchmark | Jeffrey Wilcke | 2015-10-16 | 2 | -7/+96 |
| | | |||||
* | | Merge pull request #1869 from Gustav-Simonsson/gpu_miner | Jeffrey Wilcke | 2015-10-16 | 3 | -12/+157 |
|\ \ | | | | | | | all: Add GPU mining, disabled by default | ||||
| * | | all: Add GPU mining, disabled by default | Gustav Simonsson | 2015-10-07 | 3 | -12/+157 |
| | | | |||||
* | | | core/state, core, miner: handle missing root error from state.New | Gustav Simonsson | 2015-10-16 | 3 | -4/+7 |
| |/ |/| | |||||
* | | core, eth, event, miner, xeth: fix event post / subscription race | Péter Szilágyi | 2015-10-12 | 3 | -27/+36 |
| | | |||||
* | | cmd, core, eth: added official testnet | Jeffrey Wilcke | 2015-10-09 | 1 | -1/+17 |
| | | |||||
* | | Merge pull request #1756 from obscuren/core-refactor | Jeffrey Wilcke | 2015-10-05 | 9 | -137/+486 |
|\ \ | |/ |/| | core, core/vm: refactor | ||||
| * | cmd/geth, cmd/utils, core, rpc: renamed to blockchain | Jeffrey Wilcke | 2015-10-04 | 9 | -144/+149 |
| | | | | | | | | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted. | ||||
| * | cmd/evm, core/vm, test: refactored VM and core | Jeffrey Wilcke | 2015-10-04 | 2 | -11/+11 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * core/vm: byte code VM moved to jump table instead of switch * Moved `vm.Transfer` to `core` package and changed execution to call `env.Transfer` instead of `core.Transfer` directly. * Byte code VM now shares the same code as the JITVM * Renamed Context to Contract * Changed initialiser of state transition & unexported methods * Removed the Execution object and refactor `Call`, `CallCode` & `Create` in to their own functions instead of being methods. * Removed the hard dep on the state for the VM. The VM now depends on a Database interface returned by the environment. In the process the core now depends less on the statedb by usage of the env * Moved `Log` from package `core/state` to package `core/vm`. | ||||
| * | core, event/filter, xeth: refactored filter system | Jeffrey Wilcke | 2015-10-03 | 2 | -0/+344 |
| | | | | | | | | | | | | | | Moved the filtering system from `event` to `eth/filters` package and removed the `core.Filter` object. The `filters.Filter` object now requires a `common.Database` rather than a `eth.Backend` and invokes the `core.GetBlockByX` directly rather than thru a "manager". | ||||
* | | eth/downloader: match capabilities when querying idle peers | Péter Szilágyi | 2015-10-02 | 3 | -8/+53 |
|/ | |||||
* | eth/downloader: always send termination wakes, clean leftover | Péter Szilágyi | 2015-09-23 | 1 | -20/+36 |
| | |||||
* | core, core/types: readd transactions after chain re-org | Jeffrey Wilcke | 2015-09-22 | 1 | -1/+1 |
| | | | | | | | | | | | | | | Added a `Difference` method to `types.Transactions` which sets the receiver to the difference of a to b (NOTE: not a **and** b). Transaction pool subscribes to RemovedTransactionEvent adding back to those potential missing from the chain. When a chain re-org occurs remove any transactions that were removed from the canonical chain during the re-org as well as the receipts that were generated in the process. Closes #1746 | ||||
* | 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 |
| | | |||||
* | | Merge pull request #1801 from fjl/ethdb | Jeffrey Wilcke | 2015-09-16 | 2 | -43/+13 |
|\ \ | | | | | | | all: move common.Database to ethdb and add NewBatch | ||||
| * | | ethdb: remove Flush | Felix Lange | 2015-09-15 | 1 | -33/+2 |
| | | | |||||
| * | | all: move common.Database to package ethdb | Felix Lange | 2015-09-15 | 2 | -10/+11 |
| |/ | |||||
* | | eth/downloader: header-chain order and ancestry check | Péter Szilágyi | 2015-09-15 | 3 | -7/+77 |
| | | |||||
* | | eth, rpc: standardize the chain sync progress counters | Péter Szilágyi | 2015-09-15 | 2 | -51/+476 |
|/ | |||||
* | core: split out TD from database and all internals | Péter Szilágyi | 2015-09-11 | 6 | -47/+66 |
| | |||||
* | core, eth: split the db blocks into headers and bodies | Péter Szilágyi | 2015-09-11 | 4 | -84/+89 |
| | |||||
* | cmd/geth, cmd/utils, eth: added dev mode flag | Jeffrey Wilcke | 2015-09-09 | 1 | -6/+9 |
| | | | | | | | | | | | | Dev mode enabled some debugging flags such as: * VM debugging mode * Simpler proof of work * Whisper enabled by default * Datadir to a tmp datadir * Maxpeers set to 0 * Gas price of 0 * Random listen port | ||||
* | eth/downloader: fix race causing occasional test failure | Péter Szilágyi | 2015-09-01 | 1 | -1/+3 |
| | |||||
* | Merge pull request #1701 from karalabe/eth62-sync-rebase | Felix Lange | 2015-08-27 | 16 | -1266/+3292 |
|\ | | | | | eth: implement eth/62 synchronization logic | ||||
| * | eth: update metrics collection to handle eth/62 algos | Péter Szilágyi | 2015-08-25 | 6 | -35/+159 |
| | | |||||
| * | eth: port the synchronisation algo to eth/62 | Péter Szilágyi | 2015-08-25 | 8 | -340/+1995 |
| | | |||||
| * | eth: kill off protocol eth/60 in preparation for eth/62 | Péter Szilágyi | 2015-08-24 | 6 | -804/+28 |
| | | |||||
| * | eth, eth/downloader: handle header requests, table driven proto tests | Péter Szilágyi | 2015-08-24 | 11 | -254/+1182 |
| | | |||||
| * | eth, metrics, p2p: prepare metrics and net packets to eth/62 | Péter Szilágyi | 2015-08-21 | 5 | -41/+136 |
| | | |||||
* | | 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 #1627 from zsfelfoldi/gpo | Jeffrey Wilcke | 2015-08-17 | 1 | -10/+13 |
|\ | | | | | GPO update | ||||
| * | GPO update | zsfelfoldi | 2015-08-17 | 1 | -10/+13 |
| | | |||||
* | | Update CPP pubkey | Taylor Gerring | 2015-08-17 | 1 | -1/+1 |
| | | |||||
* | | Added SG bootnode | Taylor Gerring | 2015-08-17 | 1 | -2/+3 |
| | | |||||
* | | eth, trie: removed key prefixing from state entries & merge db fix | Jeffrey Wilcke | 2015-08-14 | 1 | -15/+19 |
| | | | | | | | | | | | | | | | | | | Fixed database merge strategy to use the correct database. Due to a copy paste fail when doing type evaluation the same database was being iterated (chain), all others were ignored. Removed state prefixing because {H(code): code} is stored in the same database as the rest of the state. | ||||
* | | core, eth, trie, xeth: merged state, chain, extra databases in one | Jeffrey Wilcke | 2015-08-08 | 2 | -74/+120 |
|/ | |||||
* | cmd/geth, eth: added canonical extra data | Jeffrey Wilcke | 2015-08-07 | 1 | -7/+2 |
| | | | | | Implemented canonical extra data according to https://github.com/ethereum/wiki/wiki/Extra-Data | ||||
* | miner: gas limit strategy, target 3141592 & def gas price 50 Shannon | Gustav Simonsson | 2015-08-04 | 1 | -1/+2 |
| | |||||
* | cmd, core, eth: support for the olympic network | Jeffrey Wilcke | 2015-08-04 | 1 | -0/+9 |
| | | | | Added a --olympic flag which initialiser the olympic protocol settings | ||||
* | eth, eth/downloader: don't report stall if fetcher filled the block | Péter Szilágyi | 2015-07-29 | 3 | -43/+65 |
| | |||||
* | Merge pull request #1533 from ethersphere/frontier/etherbase | Jeffrey Wilcke | 2015-07-28 | 1 | -1/+5 |
|\ | | | | | Etherbase defaults to first account even if it is created during the session | ||||
| * | etherbase defaults to first account even if created during the session | zelig | 2015-07-27 | 1 | -1/+5 |
| | | |||||
* | | Merge pull request #1515 from fjl/license-fixes | Jeffrey Wilcke | 2015-07-28 | 16 | -16/+16 |
|\ \ | |/ |/| | all: fix license headers one more time | ||||
| * | all: fix license headers one more time | Felix Lange | 2015-07-24 | 16 | -16/+16 |
| | | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a. | ||||
* | | params: reduce extra data to 32 bytes | Jeffrey Wilcke | 2015-07-26 | 1 | -2/+3 |
| | | |||||
* | | Merge pull request #1524 from obscuren/default-extra | Jeffrey Wilcke | 2015-07-25 | 1 | -0/+7 |
|\ \ | | | | | | | eth: set default miner extra to client name | ||||
| * | | eth: set default miner extra to client name | Jeffrey Wilcke | 2015-07-25 | 1 | -0/+7 |
| | | | |||||
* | | | cmd/geth, core, eth: Version 1.0.0 | Jeffrey Wilcke | 2015-07-25 | 3 | -3/+4 |
|/ / | | | | | | | | | | | | | Genesis release. Closes #1402 Conflicts: cmd/geth/main.go | ||||
* | | Merge pull request #1510 from fjl/license-fixes | Jeffrey Wilcke | 2015-07-23 | 16 | -64/+64 |
|\| | | | | | all: license fixes | ||||
| * | all: update license headers to distiguish GPL/LGPL | Felix Lange | 2015-07-23 | 16 | -64/+64 |
| | | | | | | | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library". | ||||
* | | cmd, core, eth, ethdb: cache flag to allocate memory for db internal use | Péter Szilágyi | 2015-07-22 | 1 | -1/+2 |
|/ | |||||
* | cmd, core, eth, common: genesis preparation | Jeffrey Wilcke | 2015-07-10 | 2 | -18/+29 |
| | | | | | Implemented the --genesis flag thru which we can set a custom genesis block, including the official Ethereum genesis block. | ||||
* | Merge pull request #1451 from karalabe/handle-potential-TD-forge-attack | Jeffrey Wilcke | 2015-07-09 | 2 | -99/+44 |
|\ | | | | | eth/downloader: drop peer if advertised TD but won't delvier | ||||
| * | eth/downloader: drop peer if advertised TD but won't delvier | Péter Szilágyi | 2015-07-09 | 2 | -99/+44 |
| | | |||||
* | | Merge pull request #1450 from karalabe/fix-propagation-td | Jeffrey Wilcke | 2015-07-09 | 2 | -5/+17 |
|\ \ | | | | | | | eth: calculate the correct TD, only update if better | ||||
| * | | eth: calculate the correct TD, only update if better | Péter Szilágyi | 2015-07-09 | 2 | -5/+17 |
| |/ | |||||
* / | eth, ethdb: fix a data race during startup/shutdown | Péter Szilágyi | 2015-07-09 | 1 | -25/+3 |
|/ | |||||
* | all: add some godoc synopsis comments | Felix Lange | 2015-07-07 | 1 | -0/+1 |
| | |||||
* | all: update license information | Felix Lange | 2015-07-07 | 16 | -0/+256 |
| | |||||
* | Merge pull request #1428 from obscuren/coinbase-fixes | Jeffrey Wilcke | 2015-07-07 | 1 | -2/+8 |
|\ | | | | | cmd,eth,rpc,tests: default coinbase | ||||
| * | eth,miner,rpc: set coinbase | Jeffrey Wilcke | 2015-07-07 | 1 | -0/+1 |
| | | |||||
| * | cmd,eth,rpc,tests: default coinbase | Jeffrey Wilcke | 2015-07-07 | 1 | -2/+7 |
| | | |||||
* | | Registrar and contractInfo handling | zelig | 2015-07-07 | 1 | -1/+12 |
|/ | | | | | | | | | | | | | | | | * resolver -> common/registrar * global registrar name registry interface * add Call to resolver backend interface * the hashReg and UrlHing contracts now initialised from global registry * initialization of contracts uniform * improve errors and more econsistent method names * common/registrar/ethreg: versioned registrar * integrate new naming and registrar in natspec * js console api: setGlobalRegistrar, setHashReg, setUrlHint * js test TestContract uses mining - tests fixed all pass * eth/backend: allow PoW test mode (small ethash DAG) * console jsre refers to resolver.abi/addr, * cmd/geth/contracts.go moved to common/registrar | ||||
* | core, eth, rpc: proper gas used. Closes #1417 | Jeffrey Wilcke | 2015-07-07 | 1 | -1/+3 |
| | | | | Added some additional backward compatibility code for old receipts | ||||
* | Merge pull request #1283 from ethersphere/frontier/accounts | Jeffrey Wilcke | 2015-07-04 | 1 | -10/+2 |
|\ | | | | | Account management improvements | ||||
| * | require explicit etherbase address for mining. Falling back to primary is ↵ | zelig | 2015-07-03 | 1 | -3/+2 |
| | | | | | | | | risky given it is inconsistent if keys are imported/merged/created or copied/transfered | ||||
| * | unlock multiple passes and obsolete primary | zelig | 2015-07-03 | 1 | -9/+2 |
| | | | | | | | | | | | | | | * 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 | ||||
* | | core, eth, miner, xeth: receipt storage fix | Jeffrey Wilcke | 2015-07-04 | 1 | -6/+3 |
| | | | | | | | | | | * Added GetReceiptsFromBlock, GetReceipt, PutReceipts * Added ContractAddress to receipt. See #1042 | ||||
* | | core, miner: miner header validation, transaction & receipt writing | Jeffrey Wilcke | 2015-07-03 | 2 | -2/+2 |
| | | | | | | | | | | | | | | | | * Miners do now verify their own header, not their state. * Changed old putTx and putReceipts to be exported * Moved writing of transactions and receipts out of the block processer in to the chain manager. Closes #1386 * Miner post ChainHeadEvent & ChainEvent. Closes #1388 | ||||
* | | eth/downloader: fix a rare test race on the OSX CI | Péter Szilágyi | 2015-07-03 | 1 | -1/+7 |
|/ | |||||
* | eth, eth/downloader: fix #1231, DOS vulnerability in hash queueing | Péter Szilágyi | 2015-07-01 | 2 | -5/+15 |
| | |||||
* | eth: fix #1371, double lock during block/txn known set limitation | Péter Szilágyi | 2015-07-01 | 1 | -10/+4 |
| | |||||
* | eth/downloader: reduce hash fetches in prep for eth/61 | Péter Szilágyi | 2015-07-01 | 1 | -3/+3 |
| | |||||
* | eth, eth/downloader: transition to eth 61 | Péter Szilágyi | 2015-07-01 | 8 | -140/+689 |
| | |||||
* | eth, eth/downloader: pass the eth protocol version through | Péter Szilágyi | 2015-07-01 | 4 | -36/+45 |
| | |||||
* | eth: add the blocks from numbers protocol message | Péter Szilágyi | 2015-07-01 | 4 | -26/+43 |
| | |||||
* | eth: fix #1319, put an upper limit on the known txns and blocks | Péter Szilágyi | 2015-07-01 | 1 | -0/+19 |
| | |||||
* | eth: clean up peer struct a bit, fix double txn bcast | Péter Szilágyi | 2015-07-01 | 4 | -71/+69 |
| | |||||
* | eth: start cleaning up old protocol implementation, add metrics | Péter Szilágyi | 2015-07-01 | 3 | -39/+105 |
| | |||||
* | cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61 | Péter Szilágyi | 2015-07-01 | 3 | -40/+60 |
| | |||||
* | cmd, core, eth, metrics, p2p: require enabling metrics | Péter Szilágyi | 2015-06-30 | 3 | -48/+49 |
| | |||||
* | cmd/geth, eth, ethdb: monitor database compactions | Péter Szilágyi | 2015-06-30 | 1 | -15/+24 |
| | |||||
* | gpo non-existent block checks | zsfelfoldi | 2015-06-30 | 1 | -4/+11 |
| | |||||
* | core, eth, rpc: avoid unnecessary block header copying | Felix Lange | 2015-06-30 | 2 | -7/+7 |
| | |||||
* | eth/downloader, eth/fetcher: use core.GenerateChain in tests | Felix Lange | 2015-06-30 | 2 | -236/+140 |
| | | | | | | 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). | ||||
* | core/types: make blocks immutable | Felix Lange | 2015-06-30 | 1 | -1/+4 |
| | |||||
* | core/types: make transactions immutable | Felix Lange | 2015-06-30 | 1 | -2/+2 |
| | |||||
* | eth/fetcher: don't drop on future blocks, just not propagate | Péter Szilágyi | 2015-06-29 | 1 | -4/+16 |
| | |||||
* | eth/fetcher: don't double filter/fetch the same block | Péter Szilágyi | 2015-06-29 | 1 | -1/+1 |
| | |||||
* | eth, ethdb: measure database operation latencies too | Péter Szilágyi | 2015-06-24 | 1 | -9/+9 |
| | |||||
* | eth: make sure dbs are lvldb before instrumenting | Péter Szilágyi | 2015-06-24 | 1 | -18/+21 |
| | |||||
* | core, eth, eth/fetcher, ethdb: polish metrics gathering a bit | Péter Szilágyi | 2015-06-24 | 2 | -5/+24 |
| | |||||
* | eth/fetcher: fix failed merge | Péter Szilágyi | 2015-06-24 | 1 | -1/+1 |
| | |||||
* | cmd/geth, eth/fetcher: polish metrics reporting, add some more | Péter Szilágyi | 2015-06-24 | 1 | -10/+15 |
| | |||||
* | cmd/geth, eth/fetcher: initial metrics support | Péter Szilágyi | 2015-06-24 | 1 | -0/+14 |
| | | | | | Conflicts: cmd/geth/admin.go | ||||
* | eth/fetcher: fix a closure data race | Péter Szilágyi | 2015-06-23 | 1 | -2/+3 |
| | |||||
* | eth/fetcher: clean up test assertions | Péter Szilágyi | 2015-06-22 | 1 | -111/+49 |
| | |||||
* | eth/fetcher: remove test sleeps (15s -> 2.8s) | Péter Szilágyi | 2015-06-22 | 2 | -59/+167 |
| | |||||
* | eth/fetcher: handle and (crude) test block memory DOS | Péter Szilágyi | 2015-06-22 | 2 | -23/+105 |
| | |||||
* | eth/fetcher: handle and test block announce DOS attacks | Péter Szilágyi | 2015-06-22 | 2 | -7/+82 |
| | |||||
* | eth/fetcher: lower max cache size, add timeout slack | Péter Szilágyi | 2015-06-19 | 1 | -4/+15 |
| | |||||
* | eth: fix the propagation/announce order for mined blocks | Péter Szilágyi | 2015-06-19 | 1 | -4/+4 |
| | |||||
* | eth/fetcher: since uncles are allowed, drop phase test | Péter Szilágyi | 2015-06-19 | 1 | -51/+0 |
| | |||||
* | eth/fetcher: allow backward uncle imports too | Péter Szilágyi | 2015-06-19 | 1 | -2/+3 |
| | |||||
* | eth: fix test breakage from the previous commit | Péter Szilágyi | 2015-06-18 | 2 | -2/+1 |
| | |||||
* | eth, eth/fetcher: propagate after header verify, announce only on insert | Péter Szilágyi | 2015-06-18 | 4 | -43/+81 |
| | |||||
* | 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 | 4 | -123/+106 |
| | |||||
* | eth/fetcher: make tests thread safe | Péter Szilágyi | 2015-06-18 | 1 | -22/+34 |
| | |||||
* | eth/fetcher: build longest chain until proven otherwise | Péter Szilágyi | 2015-06-18 | 3 | -31/+95 |
| | |||||
* | eth/fetcher: fix premature queue cleanup, general polishes | Péter Szilágyi | 2015-06-18 | 1 | -35/+47 |
| | |||||
* | eth, eth/fetcher: define and enforce propagation boundaries | Péter Szilágyi | 2015-06-18 | 3 | -24/+60 |
| | |||||
* | eth/fetcher: deduplicate future blocks | Péter Szilágyi | 2015-06-18 | 2 | -25/+71 |
| | |||||
* | eth, eth/fetcher: cache future propagated blocks too | Péter Szilágyi | 2015-06-18 | 3 | -0/+51 |
| | |||||
* | eth, eth/fetcher: use an import queue to store out of order blocks | Péter Szilágyi | 2015-06-18 | 3 | -33/+91 |
| | |||||
* | eth/fetcher: add test to check for duplicate downloads | Péter Szilágyi | 2015-06-18 | 1 | -0/+38 |
| | |||||
* | eth/fetcher: fix timer reset bug, add initial tests | Péter Szilágyi | 2015-06-18 | 3 | -6/+212 |
| | |||||
* | eth, eth/fetcher: separate notification sync mechanism | Péter Szilágyi | 2015-06-18 | 4 | -182/+293 |
| | |||||
* | eth/downloader: extend slow test to fix even slower CI server... | Péter Szilágyi | 2015-06-18 | 1 | -1/+1 |
| | |||||
* | eth/downloader: always reenter processing if not exiting | Péter Szilágyi | 2015-06-18 | 2 | -39/+37 |
| | |||||
* | eth, eth/downloader: fix processing interrupt caused by temp cancel | Péter Szilágyi | 2015-06-18 | 3 | -24/+22 |
| | |||||
* | eth/downloader: fix #1280, overlapping (good/bad) delivery hang | Péter Szilágyi | 2015-06-17 | 2 | -0/+35 |
| | |||||
* | Merge pull request #1260 from obscuren/tx-drop-low-tx | Jeffrey Wilcke | 2015-06-16 | 1 | -0/+1 |
|\ | | | | | core: drop low gas tx | ||||
| * | core, miner: tx pool drops txs below ask price | obscuren | 2015-06-15 | 1 | -0/+1 |
| | | |||||
* | | Merge pull request #990 from zsfelfoldi/gasprice | Jeffrey Wilcke | 2015-06-15 | 2 | -16/+217 |
|\ \ | | | | | | | eth: add GasPriceOracle | ||||
| * | | fixed gas price corr. factor | zsfelfoldi | 2015-06-15 | 1 | -1/+1 |
| | | | |||||
| * | | fallback for uninitialized GPO config values | zsfelfoldi | 2015-06-15 | 1 | -0/+3 |
| | | | |||||
| * | | fixed initial base price bug | zsfelfoldi | 2015-06-15 | 1 | -0/+4 |
| | | | |||||
| * | | added missing source | zsfelfoldi | 2015-06-15 | 1 | -0/+174 |
| | | | |||||
| * | | fixed saving receipts | zsfelfoldi | 2015-06-15 | 1 | -16/+36 |
| |/ | |||||
* | | eth: don't refetch non fitting blocks to avoid duplicates | Péter Szilágyi | 2015-06-15 | 1 | -1/+1 |
| | | |||||
* | | eth/downloader: detailed comment for the race corner case | Péter Szilágyi | 2015-06-15 | 1 | -4/+15 |
| | | |||||
* | | eth/downloader: fix import statistic reset, fetch hashes async | Péter Szilágyi | 2015-06-15 | 1 | -11/+14 |
| | | |||||
* | | eth, eth/downloader: do async block fetches, add dl tests | Péter Szilágyi | 2015-06-15 | 3 | -5/+47 |
| | | |||||
* | | eth/downloader: sanity test for multi peer syncs | Péter Szilágyi | 2015-06-15 | 1 | -0/+31 |
| | | |||||
* | | eth, eth/downloader: move block processing into the downlaoder | Péter Szilágyi | 2015-06-15 | 4 | -231/+253 |
| | | |||||
* | | eth/downloader: add valid peer during attacks (check interference) | Péter Szilágyi | 2015-06-15 | 1 | -93/+140 |
| | | |||||
* | | eth/downloader: instreument and test the sync peer drop | Péter Szilágyi | 2015-06-15 | 2 | -9/+66 |
| | | |||||
* | | eth: fix an accidental test compile error | Péter Szilágyi | 2015-06-15 | 1 | -3/+1 |
| | | |||||
* | | eth/downloader: support individual peers in the test suite | Péter Szilágyi | 2015-06-15 | 1 | -112/+113 |
| | | |||||
* | | eth/downloader: remove uneeded testing functions | Péter Szilágyi | 2015-06-15 | 2 | -37/+2 |
| | | |||||
* | | eth, eth/downloader: move peer removal into downloader | Péter Szilágyi | 2015-06-15 | 6 | -82/+83 |
|/ | |||||
* | eth, core: interupt the chain processing on stop | obscuren | 2015-06-12 | 1 | -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-optimisations | Jeffrey Wilcke | 2015-06-11 | 1 | -18/+37 |
|\ | | | | | eth: optimize the notification/explicit fetch mechanism | ||||
| * | eth: dedup fetches to ensure no blocks are pulled twice | Péter Szilágyi | 2015-06-11 | 1 | -5/+23 |
| | | |||||
| * | eth: randomly fetch announced block (don't hammer origin) | Péter Szilágyi | 2015-06-11 | 1 | -4/+5 |
| | | |||||
| * | eth: discard fetched blocks that don't fit (no goroutine) | Péter Szilágyi | 2015-06-11 | 1 | -13/+13 |
| | | |||||
* | | Merge pull request #1224 from karalabe/report-import-progress | Jeffrey Wilcke | 2015-06-11 | 1 | -4/+42 |
|\ \ | | | | | | | cmd/geth, eth/downloader: collect and report import progress too | ||||
| * | | eth/downloader: fetch the block hashes on the fly, when needed | Péter Szilágyi | 2015-06-11 | 1 | -9/+5 |
| | | | |||||
| * | | cmd/geth, eth/downloader: rough guess at the import eta | Péter Szilágyi | 2015-06-10 | 1 | -2/+13 |
| | | | |||||
| * | | cmd/geth, eth/downloader: collect and report import progress too | Péter Szilágyi | 2015-06-10 | 1 | -4/+35 |
| |/ | |||||
* / | core: fixed race condition in the transaction pool | obscuren | 2015-06-10 | 1 | -5/+0 |
|/ | | | | Removed `Stop/Start` mechanism from the transaction pool. | ||||
* | core, eth: document that result of GetTransactions is modifiable | Felix Lange | 2015-06-09 | 1 | -2/+4 |
| | |||||
* | eth/downloader: fix hash fetch timeout handling | Felix Lange | 2015-06-09 | 1 | -12/+18 |
| | | | | Fixes #1206 | ||||
* | eth: add protocol tests | Felix Lange | 2015-06-09 | 1 | -336/+190 |
| | | | | The protocol tests were commented out when eth/downloader was introduced. | ||||
* | eth: limit number of sent transactions based on message size | Felix Lange | 2015-06-09 | 2 | -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 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 a data race in the hash announcement processing | Péter Szilágyi | 2015-06-09 | 1 | -10/+18 |
| | |||||
* | eth: fix data race accessing peer.td | Péter Szilágyi | 2015-06-09 | 3 | -14/+33 |
| | |||||
* | eth: fix data race accessing peer.recentHash | Péter Szilágyi | 2015-06-09 | 3 | -12/+32 |
| | |||||
* | Merge pull request #1188 from karalabe/newblockhashes-proposal | Jeffrey Wilcke | 2015-06-09 | 4 | -81/+262 |
|\ | | | | | eth: implement the NewBlockHashes protocol proposal | ||||
| * | eth: clean up pending announce download map, polish logs | Péter Szilágyi | 2015-06-09 | 2 | -14/+26 |
| | | |||||
| * | eth: split and handle explicitly vs. download requested blocks | Péter Szilágyi | 2015-06-09 | 2 | -23/+81 |
| | | |||||
| * | eth: fetch announced hashes from origin, periodically | Péter Szilágyi | 2015-06-09 | 2 | -32/+80 |
| | | |||||
| * | eth: mark blocks as known when broadcasting hashes too | Péter Szilágyi | 2015-06-08 | 1 | -0/+3 |
| | | |||||
| * | eth: implement the NewBlockHashes protocol proposal | Péter Szilágyi | 2015-06-08 | 3 | -63/+123 |
| | | |||||
* | | Merge pull request #1153 from karalabe/downloader-banned-starvation-attack | Jeffrey Wilcke | 2015-06-09 | 6 | -177/+315 |
|\ \ | | | | | | | eth/downloader: gather and ban hashes from invalid chains | ||||
| * | | eth/downloader: test registration rejection on head ban | Péter Szilágyi | 2015-06-08 | 1 | -2/+10 |
| | | | |||||
| * | | eth/downloader: reject peer registration if head is banned | Péter Szilágyi | 2015-06-08 | 1 | -4/+15 |
| | | | |||||
| * | | eth/downloader: cap the hash ban set, add test for it | Péter Szilágyi | 2015-06-08 | 6 | -12/+64 |
| | | | |||||
| * | | eth/downloader: fix throttling test to be less timing dependent | Péter Szilágyi | 2015-06-08 | 1 | -3/+7 |
| | | | |||||
| * | | eth/downloader: fix another rebase error | Péter Szilágyi | 2015-06-08 | 1 | -2/+1 |
| | | | |||||
| * | | eth/downloader: preallocate the block cache | Péter Szilágyi | 2015-06-08 | 3 | -21/+14 |
| | | | |||||
| * | | eth/downloader: fix merge compile error | Péter Szilágyi | 2015-06-08 | 1 | -1/+1 |
| | | | |||||
| * | | eth/downloader: don't block hash deliveries while pulling blocks | Péter Szilágyi | 2015-06-08 | 1 | -17/+14 |
| | | | |||||
| * | | eth/downloader: update test for shitty travis | Péter Szilágyi | 2015-06-08 | 1 | -1/+1 |
| | | | |||||
| * | | eth/downloader: clean up and simplify the code a bit | Péter Szilágyi | 2015-06-08 | 1 | -13/+3 |
| | | | |||||
| * | | eth/downloader: short circuit sync if head hash is banned | Péter Szilágyi | 2015-06-08 | 1 | -0/+4 |
| | | | |||||
| * | | eth/downloader: accumulating hash bans for reconnecting attackers | Péter Szilágyi | 2015-06-08 | 2 | -5/+126 |
| | | | |||||
| * | | eth/downloader: clean up tests and unused variables | Péter Szilágyi | 2015-06-08 | 2 | -120/+79 |
| |/ | |||||
* | | core: write accounts to statedb. Closes #1210 | obscuren | 2015-06-09 | 1 | -1/+1 |
| | | |||||
* | | core: settable genesis nonce | obscuren | 2015-06-09 | 1 | -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-polishes | Jeffrey Wilcke | 2015-06-05 | 3 | -19/+50 |
|\ | | | | | eth/downloader: handle timeouts more gracefully | ||||
| * | eth/downloader: differentiate stale and nonexistent deliveries | Péter Szilágyi | 2015-06-05 | 2 | -19/+46 |
| | | |||||
| * | eth/downloader: log hard timeouts and reset capacity | Péter Szilágyi | 2015-06-05 | 2 | -0/+4 |
| | | |||||
* | | eth, eth/downloader: fix #1098, elevate empty hash errors to peer drops | Péter Szilágyi | 2015-06-05 | 2 | -3/+3 |
|/ | |||||
* | Merge pull request #1181 from obscuren/txpool_fixes | Jeffrey Wilcke | 2015-06-05 | 1 | -30/+1 |
|\ | | | | | cmd: transaction pool fixes and improvements | ||||
| * | core, eth, miner: moved nonce management to tx pool. | obscuren | 2015-06-04 | 1 | -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 TxPool | Felix Lange | 2015-06-04 | 1 | -1/+1 |
| | | |||||
* | | eth/downloader: drop log entry from peer, it's covered already | Péter Szilágyi | 2015-06-04 | 1 | -5/+0 |
| | | |||||
* | | eth/downloader: log after state updates, easier to debug | Péter Szilágyi | 2015-06-04 | 1 | -5/+3 |
| | | |||||
* | | eth/downloader: fix #1178, don't request blocks beyond the cache bounds | Péter Szilágyi | 2015-06-04 | 3 | -15/+35 |
|/ | |||||
* | eth/downloader: demote peers if they exceed the soft limits at 1 blocks already | Péter Szilágyi | 2015-06-03 | 1 | -3/+8 |
| | |||||
* | eth/downloader: add a basic block download congestion control | Péter Szilágyi | 2015-06-03 | 5 | -55/+67 |
| | |||||
* | Update bootnode | Taylor Gerring | 2015-06-01 | 1 | -1/+1 |
| | |||||
* | eth: 100% block propogation | obscuren | 2015-05-28 | 1 | -2/+1 |
| | |||||
* | core, eth/downloader: expose the bad hashes, check in downloader | Péter Szilágyi | 2015-05-28 | 2 | -2/+17 |
| | |||||
* | eth: hard disconnect if a peer is flaky | Péter Szilágyi | 2015-05-27 | 1 | -4/+12 |
| | |||||
* | Merge pull request #1108 from karalabe/fine-seeding | Felix Lange | 2015-05-27 | 1 | -7/+5 |
|\ | | | | | Fine tune seeder and p2p peer handling | ||||
| * | cmd/geth, cmd/utils, eth, p2p: pass and honor a no discovery flag | Péter Szilágyi | 2015-05-27 | 1 | -0/+2 |
| | | |||||
| * | eth, p2p: start the p2p server even if maxpeers == 0 | Péter Szilágyi | 2015-05-26 | 1 | -7/+3 |
| | | |||||
* | | core: check negative value transactions. Closes #1109 | obscuren | 2015-05-27 | 1 | -1/+0 |
| | | |||||
* | | eth/downloader: silence "Added N blocks from..." if N == 0 | Péter Szilágyi | 2015-05-26 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #1014 from fjl/p2p-dialer-3000 | Jeffrey Wilcke | 2015-05-26 | 1 | -1/+1 |
|\ | | | | | p2p: new dialer, peer management without locks | ||||
| * | eth: stop p2p.Server on shutdown | Felix Lange | 2015-05-25 | 1 | -1/+1 |
| | | |||||
* | | eth, eth/downloader: surface downloaded block origin, drop on error | Péter Szilágyi | 2015-05-26 | 5 | -23/+39 |
| | |