aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge #9625: Increase minimum debug.log size to 10MB after shrink.Wladimir J. van der Laan2017-02-011-1/+4
|\ | | | | | | 29fb311 Increase minimum debug.log size to 10MB after shrink. (Alex Morcos)
| * Increase minimum debug.log size to 10MB after shrink.Alex Morcos2017-01-241-1/+4
| |
* | Merge #9644: [refactor] Remove using namespace <xxx> from src/MarcoFalke2017-01-301-16/+13
|\ \ | | | | | | | | | b7b48c8 Refactor: Remove using namespace <xxx> from src/*.cpp. (Karl-Johan Alm)
| * | Refactor: Remove using namespace <xxx> from src/*.cpp.Karl-Johan Alm2017-01-271-16/+13
| |/
* / [trivial] Fix typos in commentspracticalswift2017-01-271-1/+1
|/
* Merge #9499: Use recent-rejects, orphans, and recently-replaced txn for ↵Wladimir J. van der Laan2017-01-191-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | compact-block-reconstruction c594580 Add braces around AddToCompactExtraTransactions (Matt Corallo) 1ccfe9b Clarify comment about mempool/extra conflicts (Matt Corallo) fac4c78 Make PartiallyDownloadedBlock::InitData's second param const (Matt Corallo) b55b416 Add extra_count lower bound to compact reconstruction debug print (Matt Corallo) 863edb4 Consider all (<100k memusage) txn for compact-block-extra-txn cache (Matt Corallo) 7f8c8ca Consider all orphan txn for compact-block-extra-txn cache (Matt Corallo) 93380c5 Use replaced transactions in compact block reconstruction (Matt Corallo) 1531652 Keep shared_ptrs to recently-replaced txn for compact blocks (Matt Corallo) edded80 Make ATMP optionally return the CTransactionRefs it replaced (Matt Corallo) c735540 Move ORPHAN constants from validation.h to net_processing.h (Matt Corallo)
| * Keep shared_ptrs to recently-replaced txn for compact blocksMatt Corallo2017-01-101-0/+1
| |
* | Merge #9484: Introduce assumevalid setting to skip validation presumed valid ↵Pieter Wuille2017-01-161-2/+9
|\ \ | | | | | | | | | | | | | | | | | | scripts. 7b5e3fe Add assumevalid testcase (John Newbery) e440ac7 Introduce assumevalid setting to skip presumed valid scripts. (Gregory Maxwell)
| * | Introduce assumevalid setting to skip presumed valid scripts.Gregory Maxwell2017-01-131-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This disentangles the script validation skipping from checkpoints. A new option is introduced "assumevalid" which specifies a block whos ancestors we assume all have valid scriptsigs and so we do not check them when they are also burried under the best header by two weeks worth of work. Unlike checkpoints this has no influence on consensus unless you set it to a block with an invalid history. Because of this it can be easily be updated without risk of influencing the network consensus. This results in a massive IBD speedup. This approach was independently recommended by Peter Todd and Luke-Jr since POW based signature skipping (see PR#9180) does not have the verifiable properties of a specific hash and may create bad incentives. The downside is that, like checkpoints, the defaults bitrot and older releases will sync slower. On the plus side users can provide their own value here, and if they set it to something crazy all that will happen is more time will be spend validating signatures. Checkblocks and checklevel are also moved to the hidden debug options: Especially now that checkblocks has a low default there is little need to change these settings, and users frequently misunderstand them as influencing security or IBD speed. By hiding them we offset the space added by this new option.
* | | Merge #9380: Separate different uses of minimum feesWladimir J. van der Laan2017-01-161-1/+37
|\ \ \ | |/ / |/| | | | | | | | | | | eb30d1a Introduce -dustrelayfee (Alex Morcos) 7b1add3 Introduce -incrementalrelayfee (Alex Morcos) daec955 Introduce -blockmintxfee (Alex Morcos)
| * | Introduce -dustrelayfeeAlex Morcos2017-01-161-0/+11
| | |
| * | Introduce -incrementalrelayfeeAlex Morcos2017-01-161-1/+16
| | |
| * | Introduce -blockmintxfeeAlex Morcos2017-01-041-0/+10
| | |
* | | Add pruneblockchain RPC to enable manual block file pruning.mrbandrews2017-01-101-6/+10
| |/ |/|
* | Merge #9408: Allow shutdown during LoadMempool, dump only when necessaryPieter Wuille2017-01-061-1/+4
|\ \ | | | | | | | | | | | | 325e400 [Qt] Do proper shutdown (Jonas Schnelli) 9479f8d Allow shutdown during LoadMempool, dump only when necessary (Jonas Schnelli)
| * | Allow shutdown during LoadMempool, dump only when necessaryJonas Schnelli2016-12-231-1/+4
| | |
* | | Merge #9319: Break addnode out from the outbound connection limits.Pieter Wuille2017-01-061-4/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | 032ba3f RPC help documentation for addnode peerinfo. (Gregory Maxwell) 90f13e1 Add release notes for addnode changes. (Gregory Maxwell) 50bd12c Break addnode out from the outbound connection limits. (Gregory Maxwell)
| * | | Break addnode out from the outbound connection limits.Gregory Maxwell2017-01-051-4/+5
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously addnodes were in competition with outbound connections for access to the eight outbound slots. One result of this is that frequently a node with several addnode configured peers would end up connected to none of them, because while the addnode loop was in its two minute sleep the automatic connection logic would fill any free slots with random peers. This is particularly unwelcome to users trying to maintain links to specific nodes for fast block relay or purposes. Another result is that a group of nine or more nodes which are have addnode configured towards each other can become partitioned from the public network. This commit introduces a new limit of eight connections just for addnode peers which is not subject to any of the other connection limitations (including maxconnections). The choice of eight is sufficient so that under no condition would a user find themselves connected to fewer addnoded peers than previously. It is also low enough that users who are confused about the significance of more connections and have gotten too copy-and-paste happy will not consume more than twice the slot usage of a typical user. Any additional load on the network resulting from this will likely be offset by a reduction in users applying even more wasteful workaround for the prior behavior. The retry delays are reduced to avoid nodes sitting around without their added peers up, but are still sufficient to prevent overly aggressive repeated connections. The reduced delays also make the system much more responsive to the addnode RPC. Ban-disconnects are also exempted for peers added via addnode since the outbound addnode logic ignores bans. Previously it would ban an addnode then immediately reconnect to it. A minor change was also made to CSemaphoreGrant so that it is possible to re-acquire via an object whos grant was moved.
* | | Merge #8610: Share unused mempool memory with coincachePieter Wuille2017-01-051-1/+2
|\ \ \ | |/ / |/| | | | | ba3cecf Share unused mempool memory with coincache (Pieter Wuille)
| * | Share unused mempool memory with coincachePieter Wuille2016-12-221-1/+2
| |/ | | | | | | | | | | | | | | | | If the mempool is not completely full, treat the difference between the maximum size and the actual usage as available for the coin cache. This also changes the early flush trigger from (usage > 0.9 * space) to (usage > 0.9 * space && usage > space - 100MB). This means we're not permanently leaving 10% of the space unused when the space is large.
* | Merge #9401: Make rpcauth help message clearer, add example in example .confMarcoFalke2017-01-041-1/+1
|\ \ | | | | | | | | | 0513c70 Make rpcauth help message clearer, add example in example .conf (Gregory Sanders)
| * | Make rpcauth help message clearer, add example in example .confGregory Sanders2016-12-211-1/+1
| |/
* | Merge #9289: net: drop boost::thread_groupWladimir J. van der Laan2017-01-041-1/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 67ee4ec net: misc header cleanups (Cory Fields) 8b3159e net: make proxy receives interruptible (Cory Fields) 5cb0fce net: remove thread_interrupted catch (Cory Fields) d3d7056 net: make net processing interruptible (Cory Fields) 0985052 net: make net interruptible (Cory Fields) 799df91 net: add CThreadInterrupt and InterruptibleSleep (Cory Fields) 7325b15 net: a few small cleanups before replacing boost threads (Cory Fields)
| * | net: make net interruptibleCory Fields2017-01-031-1/+3
| | | | | | | | | | | | | | | Also now that net threads are interruptible, switch them to use std threads/binds/mutexes/condvars.
* | | Increment MIT Licence copyright header year on files modified in 2016isle29832016-12-311-1/+1
|/ / | | | | | | | | | | Edited via: $ contrib/devtools/copyright_header.py update .
* | Un-expose mapArgs from utils.hMatt Corallo2016-12-241-2/+2
| |
* | Get rid of mapArgs direct access in ZMQ constructionMatt Corallo2016-12-241-1/+1
| |
* | Introduce (and use) an IsArgSet accessor methodMatt Corallo2016-12-231-10/+10
| |
* | Fix non-const mapMultiArgs[] access after init.Matt Corallo2016-12-231-26/+34
|/ | | | | Swap mapMultiArgs for a const-reference to a _mapMultiArgs which is only accessed in util.cpp
* Merge #9236: Fix races for strMiscWarning and fLargeWork*Found, make QT ↵Wladimir J. van der Laan2016-12-191-0/+1
|\ | | | | | | | | | | | | | | runawayException use GetWarnings 749be01 Move GetWarnings() into its own file. (Gregory Maxwell) e3ba0ef Eliminate data races for strMiscWarning and fLargeWork*Found. (Gregory Maxwell) c63198f Make QT runawayException call GetWarnings instead of directly access strMiscWarning. (Gregory Maxwell)
| * Move GetWarnings() into its own file.Gregory Maxwell2016-12-031-0/+1
| |
* | Merge #9322: [qa] Don't set unknown rpcserialversionWladimir J. van der Laan2016-12-151-1/+4
|\ \ | | | | | | | | | | | | fa615d3 [qa] Don't set unknown rpcserialversion (MarcoFalke) 80d073c Complain when unknown rpcserialversion is specified (Pieter Wuille)
| * | Complain when unknown rpcserialversion is specifiedPieter Wuille2016-12-051-1/+4
| | |
* | | Merge #8895: Better SigCache ImplementationPieter Wuille2016-12-141-0/+2
|\ \ \ | |/ / |/| | | | | | | | 67dac4e Add unit tests for the CuckooCache (Jeremy Rubin) c9e69fb Add CuckooCache implementation and replace the sigcache map_type with it (Jeremy Rubin)
| * | Add CuckooCache implementation and replace the sigcache map_type with itJeremy Rubin2016-12-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | SQUASHME: Change cuckoocache to only work for powers of two, to avoid mod operator SQUASHME: Update Documentation and simplify logarithm logic SQUASHME: OSX Build Errors SQUASHME: minor Feedback from sipa + bluematt SQUASHME: DOCONLY: Clarify a few comments.
* | | Add option to return non-segwit serialization via rpcGregory Sanders2016-12-051-0/+4
| |/ |/|
* | Merge #9260: Mrs Peacock in The Library with The Candlestick (killed ↵Pieter Wuille2016-12-021-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | main.{h,cpp}) 76faa3c Rename the remaining main.{h,cpp} to validation.{h,cpp} (Matt Corallo) e736772 Move network-msg-processing code out of main to its own file (Matt Corallo) 87c35f5 Remove orphan state wipe from UnloadBlockIndex. (Matt Corallo)
| * | Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo2016-12-021-1/+1
| | |
| * | Move network-msg-processing code out of main to its own fileMatt Corallo2016-12-021-0/+1
| | |
* | | Merge #9251: Improvement of documentation of command line parameter 'whitelist'MarcoFalke2016-12-021-1/+1
|\ \ \ | |/ / |/| | | | | 8a70a9d Improvement of documentation of command line parameter 'whitelist' (wodry)
| * | Improvement of documentation of command line parameter 'whitelist'wodry2016-11-301-1/+1
| | |
* | | Fix calculation of number of bound sockets to useMatt Corallo2016-11-301-1/+3
| | |
* | | Merge #9010: Split up AppInit2 into multiple phases, daemonize after datadir ↵Pieter Wuille2016-11-301-26/+60
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | lock errors deec83f init: Get rid of fServer flag (Wladimir J. van der Laan) 16ca0bf init: Try to aquire datadir lock before and after daemonization (Wladimir J. van der Laan) 0cc8b6b init: Split up AppInit2 into multiple phases (Wladimir J. van der Laan)
| * | init: Get rid of fServer flagWladimir J. van der Laan2016-11-291-3/+1
| | | | | | | | | | | | | | | | | | | | | There is no need to store this flag globally, the variable is only used inside the initialization process. Thanks to Alex Morcos for the idea.
| * | init: Try to aquire datadir lock before and after daemonizationWladimir J. van der Laan2016-11-291-11/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before daemonization, just probe the data directory lock and print an early error message if possible. After daemonization get the data directory lock again and hold on to it until exit This creates a slight window for a race condition to happen, however this condition is harmless: it will at most make us exit without printing a message to console. $ src/bitcoind -testnet -daemon Bitcoin server starting $ src/bitcoind -testnet -daemon Error: Cannot obtain a lock on data directory /home/orion/.bitcoin/testnet3. Bitcoin Core is probably already running.
| * | init: Split up AppInit2 into multiple phasesWladimir J. van der Laan2016-11-291-14/+34
| | | | | | | | | | | | | | | This allows doing some of the steps before e.g. daemonization and some fater.
* | | Merge #9142: Move -salvagewallet, -zap(wtx) to where they belongWladimir J. van der Laan2016-11-231-14/+1
|\ \ \ | | | | | | | | | | | | 2e44893 Move -salvagewallet, -zap(wtx) to where they belong (Jonas Schnelli)
| * | | Move -salvagewallet, -zap(wtx) to where they belongJonas Schnelli2016-11-121-14/+1
| | | |
* | | | Unset fImporting for loading mempoolAlex Morcos2016-11-111-1/+3
|/ / /
* | | Merge #8969: Decouple peer-processing-logic from block-connection-logic (#2)Wladimir J. van der Laan2016-11-031-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f5b960b Move nTimeBestReceived updating into net processing code (Matt Corallo) d8670fb Move all calls to CheckBlockIndex out of net-processing logic (Matt Corallo) d6ea737 Remove network state wipe from UnloadBlockIndex. (Matt Corallo) fc0c24f Move MarkBlockAsReceived out of ProcessNewMessage (Matt Corallo) 65f35eb Move FlushStateToDisk call out of ProcessMessages::TX into ATMP (Matt Corallo)