aboutsummaryrefslogtreecommitdiffstats
path: root/eth/backend.go
Commit message (Collapse)AuthorAgeFilesLines
* core, eth: fix database version (#18429)gary rong2019-01-111-2/+4
| | | | | | * core, eth: fix database version * eth: polish error message
* cmd/geth, core, eth: implement Constantinople override flag (#18273)Martin Holst Swende2018-12-111-1/+1
| | | | | | | | * geth/core/eth: implement constantinople override flag * les: implemnent constantinople override flag for les clients * cmd/geth, eth, les: fix typo, move flag to experimentals
* cmd, eth: Add support for `--whitelist <blocknum>=<hash>,...` flagRyan Schneider2018-12-101-1/+1
| | | | | * Rejects peers that respond with a different hash for any of the passed in block numbers. * Meant for emergency situations when the network forks unexpectedly.
* cmd, core, eth, light, trie: add trie read caching layerPéter Szilágyi2018-11-151-1/+1
|
* eth, miner: prefer locally generated uncles vs remote ones (#17715)gary rong2018-09-211-1/+1
| | | | | | * core, eth: fix dependency cycle * eth, miner: perfer to locally generated uncle
* core, eth: fix dependency cycle (#17720)gary rong2018-09-211-9/+39
|
* all: protect self-mined block during reorg (#17656)gary rong2018-09-201-2/+26
|
* core/vm: add switches to select evm+ewasm interpreters (#17687)Guillaume Ballet2018-09-201-1/+5
| | | | | Interpreter initialization is left to the PRs implementing them. Options for external interpreters are passed after a colon in the `--vm.ewasm` and `--vm.evm` switches.
* cmd, core, eth, miner, params: configurable gas floor and ceilPéter Szilágyi2018-08-291-1/+1
|
* consensus, miner: stale block mining support (#17506)gary rong2018-08-281-4/+4
| | | | | | | | | | * consensus, miner: stale block supporting * consensus, miner: refactor seal signature * cmd, consensus, eth: add miner noverify flag * cmd, consensus, miner: polish
* all: make indexer configurable (#17188)gary rong2018-08-281-2/+2
|
* cmd, eth: clean up miner startup API, drop noop config fieldPéter Szilágyi2018-08-231-18/+58
|
* cmd, eth, miner: make recommit configurable (#17444)gary rong2018-08-221-4/+4
| | | | | | | | | | | | * cmd, eth, miner: make recommit configurable * cmd, eth, les, miner: polish a bit * miner: filter duplicate sealing work * cmd: remove uncessary conversion * miner: avoid microptimization in favor of cleaner code
* eth: upgradedb subcommand was dropped (#17464)Pierre Neter2018-08-211-1/+1
|
* light: CHT and bloom trie indexers working in light mode (#16534)Felföldi Zsolt2018-08-161-1/+1
| | | | | | | This PR enables the indexers to work in light client mode by downloading a part of these tries (the Merkle proofs of the last values of the last known section) in order to be able to add new values and recalculate subsequent hashes. It also adds CHT data to NodeInfo.
* cmd, consensus/ethash, eth: miner push notificationsPéter Szilágyi2018-08-101-4/+4
|
* consensus/ethash: move remote agent logic to ethash internal (#15853)gary rong2018-08-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * consensus/ethash: start remote ggoroutine to handle remote mining * consensus/ethash: expose remote miner api * consensus/ethash: expose submitHashrate api * miner, ethash: push empty block to sealer without waiting execution * consensus, internal: add getHashrate API for ethash * consensus: add three method for consensus interface * miner: expose consensus engine running status to miner * eth, miner: specify etherbase when miner created * miner: commit new work when consensus engine is started * consensus, miner: fix some logics * all: delete useless interfaces * consensus: polish a bit
* eth: conform better to the golint standards (#16783)williambannas2018-06-141-3/+3
| | | | | | * eth: made changes to conform better to the golint standards * eth: fix comment nit
* eth, node, trie: fix minor typos (#16802)Wenbiao Zheng2018-05-241-5/+5
|
* eth: golint fixes to variable names (#16711)kiel barry2018-05-091-5/+5
|
* core/rawdb: separate raw database access to own package (#16666)Péter Szilágyi2018-05-071-10/+5
|
* eth: golint updates for this or self warning (#16632)kiel barry2018-05-031-6/+6
| | | | | | * eth/*:golint updates for this or self warning * eth/*: golint updates for this or self warning, pr updated per feedback
* eth: fix typos (#16414)Yusup2018-04-041-2/+2
|
* core, trie: intermediate mempool between trie and database (#15857)Péter Szilágyi2018-02-061-3/+5
| | | This commit reduces database I/O by not writing every state trie to disk.
* les: limit LES peer count and improve peer configuration logic (#16010)Felföldi Zsolt2018-02-051-3/+3
| | | | | | * les: limit number of LES connections * eth, cmd/utils: light vs max peer configuration logic
* cmd/utils, eth: init etherbase from within eth (#15528)Péter Szilágyi2017-12-101-2/+9
|
* cmd, consensus, eth: split ethash related config to it own (#15520)gary rong2017-11-241-7/+13
| | | | | | | | | | * cmd, consensus, eth: split ethash related config to it own * eth, consensus: minor polish * eth, consenus, console: compress pow testing config field to single one * consensus, eth: document pow mode
* les, light: LES/2 protocol version (#14970)Felföldi Zsolt2017-10-241-1/+3
| | | | | | | | | | | | | | | | | | This PR implements the new LES protocol version extensions: * new and more efficient Merkle proofs reply format (when replying to a multiple Merkle proofs request, we just send a single set of trie nodes containing all necessary nodes) * BBT (BloomBitsTrie) works similarly to the existing CHT and contains the bloombits search data to speed up log searches * GetTxStatusMsg returns the inclusion position or the pending/queued/unknown state of a transaction referenced by hash * an optional signature of new block data (number/hash/td) can be included in AnnounceMsg to provide an option for "very light clients" (mobile/embedded devices) to skip expensive Ethash check and accept multiple signatures of somewhat trusted servers (still a lot better than trusting a single server completely and retrieving everything through RPC). The new client mode is not implemented in this PR, just the protocol extension.
* eth: fix typo (#15252)Lio李欧2017-10-061-1/+1
|
* core, eth: clean up bloom filtering, add some testsPéter Szilágyi2017-09-061-7/+14
|
* core, eth: add bloombit indexer, filter based on itZsolt Felfoldi2017-09-061-4/+6
|
* eth: use maxpeers from p2p layer instead of extra configPéter Szilágyi2017-09-061-15/+15
|
* core, light: send chain events using event.Feed (#14865)Miya Chen2017-08-181-2/+2
|
* cmd, core, eth: journal local transactions to disk (#14784)Péter Szilágyi2017-07-281-2/+4
| | | | | | | | | | * core: reduce txpool event loop goroutines and sync structs * cmd, core, eth: journal local transactions to disk * core: journal replacement pending transactions too * core: separate transaction journal from pool
* core: remove redundant storage of transactions and receipts (#14801)Péter Szilágyi2017-07-151-3/+3
| | | | | | | | | | | | | | * core: remove redundant storage of transactions and receipts * core, eth, internal: new transaction schema usage polishes * eth: implement upgrade mechanism for db deduplication * core, eth: drop old sequential key db upgrader * eth: close last iterator on successful db upgrage * core: prefix the lookup entries to make their purpose clearer
* eth: drop leftover from previous nonce protection schemePéter Szilágyi2017-07-051-1/+0
|
* eth: gracefully error if database cannot be openedPéter Szilágyi2017-06-231-1/+4
|
* eth: remove les server from protocol manager (#14625)Alan Chen2017-06-151-1/+0
|
* Merge pull request #14523 from karalabe/txpool-cli-flagsPéter Szilágyi2017-05-291-1/+1
|\ | | | | cmd, core, eth: configurable txpool parameters
| * cmd, core, eth: configurable txpool parametersPéter Szilágyi2017-05-291-1/+1
| |
* | eth: update default gas price when not mining tooPéter Szilágyi2017-05-291-9/+15
|/
* cmd, core, eth, miner: remove txpool gas price limits (#14442)Péter Szilágyi2017-05-171-1/+3
|
* cmd, eth, les, mobile: make networkid uint64 everywherePéter Szilágyi2017-04-251-3/+3
|
* cmd/utils, node: remove unused solc references and improve RPC config (#14324)bas-vk2017-04-131-3/+1
| | | | | Currently http cors and websocket origins are a comma separated string in the config object. These are replaced with string arrays that are more expressive in case of a config file.
* cmd/geth: add --config file flag (#13875)Felix Lange2017-04-121-59/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * p2p/discover, p2p/discv5: add marshaling methods to Node * p2p/netutil: make Netlist decodable from TOML * common/math: encode nil HexOrDecimal256 as 0x0 * cmd/geth: add --config file flag * cmd/geth: add missing license header * eth: prettify Config again, fix tests * eth: use gasprice.Config instead of duplicating its fields * eth/gasprice: hide nil default from dumpconfig output * cmd/geth: hide genesis block in dumpconfig output * node: make tests compile * console: fix tests * cmd/geth: make TOML keys look exactly like Go struct fields * p2p: use discovery by default This makes the zero Config slightly more useful. It also fixes package node tests because Node detects reuse of the datadir through the NodeDatabase. * cmd/geth: make ethstats URL settable through config file * cmd/faucet: fix configuration * cmd/geth: dedup attach tests * eth: add comment for DefaultConfig * eth: pass downloader.SyncMode in Config This removes the FastSync, LightSync flags in favour of a more general SyncMode flag. * cmd/utils: remove jitvm flags * cmd/utils: make mutually exclusive flag error prettier It now reads: Fatal: flags --dev, --testnet can't be used at the same time * p2p: fix typo * node: add DefaultConfig, use it for geth * mobile: add missing NoDiscovery option * cmd/utils: drop MakeNode This exposed a couple of places that needed to be updated to use node.DefaultConfig. * node: fix typo * eth: make fast sync the default mode * cmd/utils: remove IPCApiFlag (unused) * node: remove default IPC path Set it in the frontends instead. * cmd/geth: add --syncmode * cmd/utils: make --ipcdisable and --ipcpath mutually exclusive * cmd/utils: don't enable WS, HTTP when setting addr * cmd/utils: fix --identity
* consensus/clique: Proof of Authority (#3753)Péter Szilágyi2017-04-101-0/+14
| | | | This PR is a prototype implementation of plugable consensus engines and the Clique PoA protocol ethereum/EIPs#225
* eth: accept transactions when starting CPU mining (#13882)Péter Szilágyi2017-04-101-1/+9
|
* consensus, eth: don't CPU mine by default during remote miningPéter Szilágyi2017-04-071-1/+3
|
* cmd, les, eth, eth/gasprice: using new gas price oracle (#13853)Felföldi Zsolt2017-04-061-15/+8
| | | | | | | | | | | | * cmd, les, eth, eth/gasprice: using new gas price oracle * eth/gasprice: renamed source file * eth/gasprice: added security checks for gpo params * eth/gasprice: fixed naming issues * eth/gasprice: max limit, maxEmpty
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-051-25/+24
| | | | | This commit adds pluggable consensus engines to go-ethereum. In short, it introduces a generic consensus interface, and refactors the entire codebase to use this interface.
* core: refactor genesis handlingFelix Lange2017-03-231-62/+25
| | | | | | | | | | | | | | | | | | | | | | | | This commit solves several issues concerning the genesis block: * Genesis/ChainConfig loading was handled by cmd/geth code. This left library users in the cold. They could specify a JSON-encoded string and overwrite the config, but didn't get any of the additional checks performed by geth. * Decoding and writing of genesis JSON was conflated in WriteGenesisBlock. This made it a lot harder to embed the genesis block into the forthcoming config file loader. This commit changes things so there is a single Genesis type that represents genesis blocks. All uses of Write*Genesis* are changed to use the new type instead. * If the chain config supplied by the user was incompatible with the current chain (i.e. the chain had already advanced beyond a scheduled fork), it got overwritten. This is not an issue in practice because previous forks have always had the highest total difficulty. It might matter in the future though. The new code reverts the local chain to the point of the fork when upgrading configuration. The change to genesis block data removes compression library dependencies from package core.
* all: finish integrating Go ethash, delete C++ vendorPéter Szilágyi2017-03-091-84/+3
|
* cmd, eth, les, node, pow: disk caching and progress reportsPéter Szilágyi2017-03-091-11/+13
|
* all: swap out the C++ ethash to the pure Go one (mining todo)Péter Szilágyi2017-03-091-4/+4
|
* Logger updates 3 (#3730)Péter Szilágyi2017-03-021-18/+16
| | | | | | | | * accounts, cmd, eth, ethdb: port logs over to new system * ethdb: drop concept of cache distribution between dbs * eth: fix some log nitpicks to make them nicer
* core, eth: drop database block splitting upgraderPéter Szilágyi2017-02-281-3/+0
|
* all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-231-17/+16
|
* accounts, cmd, eth, internal, miner, node: wallets and HD APIsPéter Szilágyi2017-02-131-2/+4
|
* accounts, cmd, eth, internal, mobile, node: split account backendsPéter Szilágyi2017-02-131-8/+6
|
* les: remove delayed les server startingZsolt Felfoldi2017-01-261-1/+0
|
* Merge pull request #3579 from bas-vk/natspecPéter Szilágyi2017-01-171-3/+0
|\ | | | | cmd,eth,les,internal: remove natspec support
| * cmd,eth,les,internal: remove natspec supportBas van Kervel2017-01-171-3/+0
| |
* | cmd/geth, core: add support for recording SHA3 preimages (#3543)Nick Johnson2017-01-171-3/+3
|/
* cmd/utils, eth, les: bubble --fakepow flag into eth/les tooPéter Szilágyi2017-01-041-6/+8
|
* eth, les: defer starting LES service until ETH initial sync is finishedZsolt Felfoldi2016-12-101-0/+2
|
* eth: removed http doc backend apiJeffrey Wilcke2016-11-251-7/+0
|
* common/registrar: delete the old registrar codeFelix Lange2016-11-251-7/+0
| | | | | | | The registrar was broken, unmaintained and there is a much better replacement: ENS. (cherry picked from commit 6ca8f57b08d550613175260cab7633adcacbe6ab)
* core: improved bad block error reporting (#3320)Jeffrey Wilcke2016-11-231-0/+2
|
* core, core/state, trie: EIP158, reprice & skip empty account writeJeffrey Wilcke2016-11-131-7/+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>
* p2p/discv5: added new topic discovery packageZsolt Felfoldi2016-11-091-3/+2
|
* cmd, eth: added light client and light server modeszsfelfoldi2016-11-091-12/+49
|
* les: light client protocol and APIZsolt Felfoldi2016-11-091-1/+1
|
* Godeps, vendor: convert dependency management to trash (#3198)Péter Szilágyi2016-10-291-0/+11
| | | | | | | | | | | | | | | | | | | | | | | This commit converts the dependency management from Godeps to the vendor folder, also switching the tool from godep to trash. Since the upstream tool lacks a few features proposed via a few PRs, until those PRs are merged in (if), use github.com/karalabe/trash. You can update dependencies via trash --update. All dependencies have been updated to their latest version. Parts of the build system are reworked to drop old notions of Godeps and invocation of the go vet command so that it doesn't run against the vendor folder, as that will just blow up during vetting. The conversion drops OpenCL (and hence GPU mining support) from ethash and our codebase. The short reasoning is that there's noone to maintain and having opencl libs in our deps messes up builds as go install ./... tries to build them, failing with unsatisfied link errors for the C OpenCL deps. golang.org/x/net/context is not vendored in. We expect it to be fetched by the user (i.e. using go get). To keep ci.go builds reproducible the package is "vendored" in build/_vendor.
* cmd, eth: drop the blockchain version from cli/eth configsPéter Szilágyi2016-09-151-4/+3
|
* common/compiler: simplify solc wrapperFelix Lange2016-08-171-3/+1
| | | | | | | | | | | | | Support for legacy version 0.9.x is gone. The compiler version is no longer cached. Compilation results (and the version) are read directly from stdout using the --combined-json flag. As a workaround for ethereum/solidity#651, source code is written to a temporary file before compilation. Integration of solc in package ethapi and cmd/abigen is now much simpler because the compiler wrapper is no longer passed around as a pointer. Fixes #2806, accidentally
* eth: remove dapp database remainsFelix Lange2016-08-171-22/+6
|
* cmd/utils, node: create account manager in package nodeFelix Lange2016-08-171-6/+5
| | | | | | | | | | | | | | | The account manager was previously created by packge cmd/utils as part of flag processing and then passed down into eth.Ethereum through its config struct. Since we are starting to create nodes which do not have eth.Ethereum as a registered service, the code was rearranged to register the account manager as its own service. Making it a service is ugly though and it doesn't really fix the root cause: creating nodes without eth.Ethereum requires duplicating lots of code. This commit splits utils.MakeSystemNode into three functions, making creation of other node/service configurations easier. It also moves the account manager into Node so it can be used by those configurations without requiring package eth.
* cmd, core, eth, params: implement flags to control dao fork blocksPéter Szilágyi2016-07-151-0/+2
|
* cmd, common, console, eth, release: drop redundant "full"sPéter Szilágyi2016-06-301-36/+36
|
* eth: separate common and full node-specific API and backend servicezsfelfoldi2016-06-161-172/+156
|
* core: improved chainDb using sequential keyszsfelfoldi2016-06-071-108/+10
|
* eth: add new RPC method (personal.) SignAndSendTransactionBas van Kervel2016-05-201-1/+3
|
* core, eth, miner: improve shutdown synchronisationFelix Lange2016-05-091-0/+1
| | | | | | | | | | | | | | | | | | | | 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.
* release, all: integrate the release service into gethPéter Szilágyi2016-05-021-11/+11
|
* core, core/types, eth: add and use Block.BodyFelix Lange2016-04-151-2/+2
| | | | | This fixes a few uses of unkeyed Body literals which go vet was complaining about.
* Merge pull request #2284 from fjl/accounts-addr-cachePéter Szilágyi2016-04-121-5/+5
|\ | | | | accounts: cache key addresses
| * accounts: streamline APIFelix Lange2016-04-121-5/+5
| | | | | | | | | | | | - Manager.Accounts no longer returns an error. - Manager methods take Account instead of common.Address. - All uses of Account with unkeyed fields are converted.
* | eth: gracefully fail if chain config is missingPéter Szilágyi2016-04-121-0/+4
|/
* rpc: various fixes/enhancementsBas van Kervel2016-04-121-3/+6
| | | | | | | | rpc: be less restrictive on the request id rpc: improved documentation console: upgrade web3.js to version 0.16.0 rpc: cache http connections rpc: rename wsDomains parameter to wsOrigins
* Merge pull request #2407 from bas-vk/rpc-notificationsJeffrey Wilcke2016-04-051-1/+1
|\ | | | | RPC pub sub
| * rpc: add pub/sub supportBas van Kervel2016-04-021-1/+1
| |
* | cmd/geth, eth: move --genesis deprecation warning to cmd/gethFelix Lange2016-04-021-4/+0
|/ | | | This prevents display of the warning for --dev and --olympic.
* core: added basic chain configurationJeffrey Wilcke2016-04-011-11/+31
| | | | | | | | | 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.
* core, eth, cmd: temporary work around for enabling the jitJeffrey Wilcke2016-03-241-0/+9
| | | | | This commit serves as a temporary workaround for enabling the jit until the block customisation PR is merged in.
* cmd, eth, ethdb, node: prioritise chaindata for resources, bump cachePéter Szilágyi2016-03-091-6/+3
|
* Godeps, eth, tests: update ethash, used shared for testingPéter Szilágyi2016-02-241-3/+8
|
* Merge pull request #2195 from obscuren/gpo-rpcPéter Szilágyi2016-02-111-1/+1
|\ | | | | eth: Added GPO to suggest default gas prices
| * eth: Added GPO to suggest default gas pricesJeffrey Wilcke2016-02-101-1/+1
| | | | | | | | | | | | | | | | | | This PR fixes a regression of the RPC where the default gas price that was being used for transaction wasn't properly using the GPO. This PR adds the GPO back to suggest gas prices rather than the hardcoded default of 10000000000000. Closes #2194
* | eth, miner: move the public miner api into eth to access etherbasePéter Szilágyi2016-02-091-1/+1
|/
* rpc: migrated the RPC insterface to a new reflection based RPC layerBas van Kervel2016-01-261-12/+24
|
* common: remove old RLP implementation, Value and ExtPackageFelix Lange2015-12-181-12/+2
| | | | | In order to make this happen, kill all remaining trivial uses of common/{rlp,value}.go. The non-trivial ones have been updated earlier.
* core, eth, node, rpc: port the admin and debug APIPéter Szilágyi2015-12-151-0/+13
|
* rpc: new RPC implementation with pub/sub supportBas van Kervel2015-12-141-0/+60
|
* eth: use global event mux insteadBas van Kervel2015-12-011-1/+1
|
* cmd, eth, node, rpc, xeth: use single-instance servicesPéter Szilágyi2015-11-271-2/+2
|
* cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacksPéter Szilágyi2015-11-271-299/+46
|
* core, eth, rpc: split out block validator and state processorJeffrey Wilcke2015-11-181-23/+18
| | | | | | | | | | | | 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).
* eth: fix error casting regression during database openPéter Szilágyi2015-11-051-18/+3
|
* Merge pull request #1934 from karalabe/polish-protocol-infosJeffrey Wilcke2015-11-041-56/+4
|\ | | | | eth, p2p, rpc/api: polish protocol info gathering
| * eth, p2p, rpc/api: polish protocol info gatheringPéter Szilágyi2015-10-281-56/+4
| |
* | Merge pull request #1952 from obscuren/testnet-peersJeffrey Wilcke2015-10-301-1/+2
|\ \ | | | | | | eth: added new testnet peers
| * | eth: added new testnet peersJeffrey Wilcke2015-10-301-1/+2
| |/
* / cmd/geth, cmd/utils, eth: group CLI flags by purposePéter Szilágyi2015-10-301-6/+0
|/
* rpc api: eth_getNatSpeczelig2015-10-271-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
* console:zelig2015-10-221-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 issuesPéter Szilágyi2015-10-211-1/+0
|
* eth: clean out light node notions from ethPéter Szilágyi2015-10-191-2/+2
|
* core: support inserting pure header chainsPéter Szilágyi2015-10-191-1/+1
|
* cmd, eth: support switching client modes of operationPéter Szilágyi2015-10-191-2/+4
|
* Merge pull request #1899 from obscuren/mipmap-bloomJeffrey Wilcke2015-10-171-0/+46
|\ | | | | core, eth/filters, miner, xeth: Optimised log filtering
| * core, eth/filters, miner, xeth: Optimised log filteringJeffrey Wilcke2015-10-171-0/+46
| | | | | | | | | | | | | | 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.
* | Merge pull request #1869 from Gustav-Simonsson/gpu_minerJeffrey Wilcke2015-10-161-12/+0
|\ \ | | | | | | all: Add GPU mining, disabled by default
| * | all: Add GPU mining, disabled by defaultGustav Simonsson2015-10-071-12/+0
| | |
* | | core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-1/+2
| |/ |/|
* | cmd, core, eth: added official testnetJeffrey Wilcke2015-10-091-1/+17
| |
* | cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-11/+11
|/ | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* ethdb: remove FlushFelix Lange2015-09-151-33/+2
|
* all: move common.Database to package ethdbFelix Lange2015-09-151-8/+8
|
* core: split out TD from database and all internalsPéter Szilágyi2015-09-111-4/+14
|
* core, eth: split the db blocks into headers and bodiesPéter Szilágyi2015-09-111-63/+45
|
* cmd/geth, cmd/utils, eth: added dev mode flagJeffrey Wilcke2015-09-091-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, eth/downloader: handle header requests, table driven proto testsPéter Szilágyi2015-08-241-1/+1
|
* Update CPP pubkeyTaylor Gerring2015-08-171-1/+1
|
* Added SG bootnodeTaylor Gerring2015-08-171-2/+3
|
* eth, trie: removed key prefixing from state entries & merge db fixJeffrey Wilcke2015-08-141-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 oneJeffrey Wilcke2015-08-081-72/+118
|
* cmd/geth, eth: added canonical extra dataJeffrey Wilcke2015-08-071-7/+2
| | | | | Implemented canonical extra data according to https://github.com/ethereum/wiki/wiki/Extra-Data
* cmd, core, eth: support for the olympic networkJeffrey Wilcke2015-08-041-0/+9
| | | | Added a --olympic flag which initialiser the olympic protocol settings
* Merge pull request #1533 from ethersphere/frontier/etherbaseJeffrey Wilcke2015-07-281-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 sessionzelig2015-07-271-1/+5
| |
* | Merge pull request #1515 from fjl/license-fixesJeffrey Wilcke2015-07-281-1/+1
|\ \ | |/ |/| all: fix license headers one more time
| * all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | params: reduce extra data to 32 bytesJeffrey Wilcke2015-07-261-2/+3
| |
* | eth: set default miner extra to client nameJeffrey Wilcke2015-07-251-0/+7
| |
* | Merge pull request #1510 from fjl/license-fixesJeffrey Wilcke2015-07-231-4/+4
|\| | | | | all: license fixes
| * all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-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".
* | cmd, core, eth, ethdb: cache flag to allocate memory for db internal usePéter Szilágyi2015-07-221-1/+2
|/
* cmd, core, eth, common: genesis preparationJeffrey Wilcke2015-07-101-16/+26
| | | | | Implemented the --genesis flag thru which we can set a custom genesis block, including the official Ethereum genesis block.
* eth, ethdb: fix a data race during startup/shutdownPéter Szilágyi2015-07-091-25/+3
|
* all: add some godoc synopsis commentsFelix Lange2015-07-071-0/+1
|
* all: update license informationFelix Lange2015-07-071-0/+16
|
* Merge pull request #1428 from obscuren/coinbase-fixesJeffrey Wilcke2015-07-071-2/+8
|\ | | | | cmd,eth,rpc,tests: default coinbase
| * eth,miner,rpc: set coinbaseJeffrey Wilcke2015-07-071-0/+1
| |
| * cmd,eth,rpc,tests: default coinbaseJeffrey Wilcke2015-07-071-2/+7
| |
* | Registrar and contractInfo handlingzelig2015-07-071-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
* Merge pull request #1283 from ethersphere/frontier/accountsJeffrey Wilcke2015-07-041-10/+2
|\ | | | | Account management improvements
| * require explicit etherbase address for mining. Falling back to primary is ↵zelig2015-07-031-3/+2
| | | | | | | | risky given it is inconsistent if keys are imported/merged/created or copied/transfered
| * unlock multiple passes and obsolete primaryzelig2015-07-031-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, miner: miner header validation, transaction & receipt writingJeffrey Wilcke2015-07-031-1/+1
|/ | | | | | | | * 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, eth/downloader: transition to eth 61Péter Szilágyi2015-07-011-2/+1
|
* cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61Péter Szilágyi2015-07-011-25/+34
|
* cmd, core, eth, metrics, p2p: require enabling metricsPéter Szilágyi2015-06-301-25/+26
|
* cmd/geth, eth, ethdb: monitor database compactionsPéter Szilágyi2015-06-301-15/+24
|
* eth, ethdb: measure database operation latencies tooPéter Szilágyi2015-06-241-9/+9
|
* eth: make sure dbs are lvldb before instrumentingPéter Szilágyi2015-06-241-18/+21
|
* core, eth, eth/fetcher, ethdb: polish metrics gathering a bitPéter Szilágyi2015-06-241-0/+19
|
* eth, eth/fetcher: propagate after header verify, announce only on insertPéter Szilágyi2015-06-181-1/+1
|
* Merge pull request #1260 from obscuren/tx-drop-low-txJeffrey Wilcke2015-06-161-0/+1
|\ | | | | core: drop low gas tx
| * core, miner: tx pool drops txs below ask priceobscuren2015-06-151-0/+1
| |
* | Merge pull request #990 from zsfelfoldi/gaspriceJeffrey Wilcke2015-06-151-16/+36
|\ \ | | | | | | eth: add GasPriceOracle
| * | fixed saving receiptszsfelfoldi2015-06-151-16/+36
| |/
* / eth, eth/downloader: move peer removal into downloaderPéter Szilágyi2015-06-151-5/+3
|/
* 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.
* core: fixed race condition in the transaction poolobscuren2015-06-101-5/+0
| | | | Removed `Stop/Start` mechanism from the transaction pool.
* 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.
* 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
|
* Update bootnodeTaylor Gerring2015-06-011-1/+1
|
* 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
|
* eth: stop p2p.Server on shutdownFelix Lange2015-05-251-1/+1
|
* 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
* eth: reduced max open files for LevelDBobscuren2015-05-211-1/+1
|
* solc now in ethereum, fixes solc path setting; setSolc() didnt workzelig2015-05-201-0/+20
|
* 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, cmd/geth: start mining from console respects CLI flagobscuren2015-05-161-0/+2
|
* eth, eth/downloader, miner: use download events to check miner startobscuren2015-05-151-2/+2
|
* 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
* 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)
* 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
* cmd/geth, cmd/mist, eth, flags: renamed loglevel to verbosityobscuren2015-05-091-7/+11
|
* 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
| |
* | eth, eth/downloader: Moved block processing & graceful shutdownobscuren2015-05-011-2/+2
| | | | | | | | | | | | | | 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
* | core: added a wait group to chain manager for graceful shutdownobscuren2015-04-301-0/+1
|/
* 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-251-3/+3
|\ \ | | | | | | eth, eth/downloader: improve downloader and remove asynchronousness
| * | 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, eth/downloader: don't require td on downloader. Fixed testsobscuren2015-04-241-2/+2
| |/
* / backend: start miner in its go routine (no wait to generate DAG)zelig2015-04-241-2/+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-231-26/+8
| | | | | | | | | 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)
* | NatSpec cli option, resolver tests passingzsfelfoldi2015-04-201-0/+3
|/
* 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.
* 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: additional cleanups to the subprotocol, improved block propagationobscuren2015-04-181-19/+22
| | | | | | | | * 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-181-12/+1
|
* Merge branch 'develop' into downloader-protoobscuren2015-04-161-3/+26
|\
| * 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)`
| * Added blockchain DB versioning support, closes #650Bas van Kervel2015-04-131-1/+23
| |
* | eth: added downloader for syncing up the chainobscuren2015-04-131-1/+5
|/
* 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-071-7/+7
|
* Update ethashobscuren2015-04-051-1/+1
|
* eth: update cpp bootnode addressFelix Lange2015-04-011-2/+2
|
* Update Go bootnode addressTaylor Gerring2015-03-311-1/+1
|
* settable etherbasezelig2015-03-271-4/+23
| | | | | | | | - etherbase flag for block reward destination - coinbase => etherbase - CLI- eth Config -> eth, xeth -> RPC / Miner - use primary instead of coinbase as the unlock magic wildcard - accounts: firstAddr/Coinbase -> Primary
* Merge pull request #560 from tgerring/xethcleanupJeffrey Wilcke2015-03-251-18/+21
|\ | | | | XEth cleanup
| * Improve protocol version reportingTaylor Gerring2015-03-251-18/+21
| |
* | Store protocol version in the block db **NOT** extra dbobscuren2015-03-251-2/+2
|/
* better block propagationobscuren2015-03-241-2/+2
|
* Implement RPC net_versionTaylor Gerring2015-03-241-5/+7
|
* Merge pull request #551 from ethersphere/frontier/eth-version-exportsTaylor Gerring2015-03-241-9/+10
|\ | | | | eth: fix protocol version/network id copied from config to Ethereum field
| * eth: fix protocol version/network id copied from config to Ethereum fieldzelig2015-03-241-9/+10
| |