aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
AgeCommit message (Collapse)Author
2015-06-15Add option `-alerts` to opt out of alert systemWladimir J. van der Laan
Make it possible to opt-out of the centralized alert system by providing an option `-noalerts` or `-alerts=0`. The default remains unchanged. This is a gentler form of #6260, in which I went a bit overboard by removing the alert system completely. I intend to add this to the GUI options in another pull after this. Conflicts: src/init.cpp src/main.cpp Github-Pull: #6274 Rebased-From: 02a6702a82a5b00e0e0351041dd3267308b7f319
2015-06-02Remove P2SH coinbase flag, no longer interestingLuke Dashjr
Github-Pull: #6203 Rebased-From: d449772cf69c01932fc5d72c46054815d6300b3c
2015-05-27Parameter interaction: disable upnp if -proxy setWladimir J. van der Laan
To protect privacy, do not use UPNP when a proxy is set. The user may still specify -listen=1 to listen locally (for a hidden service), so don't rely on this happening through -listen. Fixes #2927. Conflicts: src/init.cpp Rebased-From: 8c35b6f3be218101630101806300cfd75be23f58 Github-Pull: #6153
2015-03-27Add a consistency check for the block chain data structuresPieter Wuille
This adds a -checkblockindex (defaulting to true for regtest), which occasionally does a full consistency check for mapBlockIndex, setBlockIndexCandidates, chainActive, and mapBlocksUnlinked.
2015-01-26sleep-wait on genesis block during init with -reindexMatt Corallo
Rebased-From: ff09e31a51dcee404c9c037c7c5f50c522e67ea8 Github-Pull: #5243
2015-01-19Restore RPC HTTP keepalives to default.Gregory Maxwell
This avoids a regression for issues like #334 where high speed repeated connections eventually run the HTTP client out of sockets because all of theirs end up in time_wait. Maybe the trade-off here is suboptimal, but if both choices will fail then we prefer fewer changes until the root cause is solved. Rebased-From: 1a25a7edf82706c3152e2d978d320ec465a34de1 7d2cb485116636595250fce4ea4eab16a877479b Github-Pull: #5674
2015-01-15Add a -rpckeepalive and disable RPC use of HTTP persistent connections.Gregory Maxwell
It turns out that some miners have been staying with old versions of Bitcoin Core because their software behaves poorly with persistent connections and the Bitcoin Core thread and connection limits. What happens is that underlying HTTP libraries leave connections open invisibly to their users and then the user runs into the default four thread limit. This looks like Bitcoin Core is unresponsive to RPC. There are many things that should be improved in Bitcoin Core's behavior here, e.g. supporting more concurrent connections, not tying up threads for idle connections, disconnecting kept-alive connections when limits are reached, etc. All are fairly big, risky changes. Disabling keep-alive is a simple workaround. It's often not easy to turn off the keep-alive support in the client where it may be buried in some platform library. If you are one of the few who really needs persistent connections you probably know that you want them and can find a switch; while if you don't and the misbehavior is hitting you it is hard to discover the source of your problems is keepalive related. Given that it is best to default to off until they're handled better. Github-Merge: #5655 Rebased-From: 16a5c18cea7330bd68dc9d2f768eb518af88795b 56c1093dae0c523f9f643f00c67414691272a983 1dd8ee72afc26191da51d8d3a5590eab7c9368f6
2015-01-12Catch UTXO set read errors and shutdownv0.10.0rc2Pieter Wuille
Github-Pull: #5619 Rebased-From: 13cdce4336818d0f6cefe6b3e61c45762d97d7c6
2015-01-07Require sufficent priority for relay of free transactionsPieter Wuille
Rebased-From: 1c52aad540ec1370db60fd68fc3485413e3cb8e1 Github-Pull: #5535
2014-12-27en: Avoid ambiguous language regarding when transactions confirmLuke Dashjr
Rebased-From: a15dba5dff1229b67ff44bf16ff14063e885f376 Github-Pull: #5533
2014-12-23Enforce minRelayTxFee on wallet created tx and add a maxtxfee option.Gregory Maxwell
Previously the minRelayTxFee was only enforced on user specified values. It was possible for smartfee to produce a fee below minRelayTxFee which would just result in the transaction getting stuck because it can't be relayed. This also introduces a maxtxfee option which sets an absolute maximum for any fee created by the wallet, with an intention of increasing user confidence that the automatic fees won't burn them. This was frequently a concern even before smartfees. If the configured fee policy won't even allow the wallet to meet the relay fee the transaction creation may be aborted. Rebased-From: aa279d613152e87ea25edfdf76c86779c0632f18 Github-Pull: #5485
2014-12-22remove max orphan blocks config parameter since it is no longer functionalJameson Lopp
Rebased-From: 4bc95c43871645c1d69a0d719c13b38151a3a13f
2014-12-02Make comments in main an init doxygen compatibleMichael Ford
Fix typos where appropriate Update license/copyright
2014-11-27Remove -printblock, -printblocktree, and -printblockindexPieter Wuille
2014-11-26[REST] set REST API behind "-rest" optionJonas Schnelli
2014-11-25Merge pull request #5241Wladimir J. van der Laan
a206950 Introduce separate flushing modes (Pieter Wuille) 51ce901 Improve chainstate/blockindex disk writing policy (Pieter Wuille)
2014-11-24Improve chainstate/blockindex disk writing policyPieter Wuille
There are 3 pieces of data that are maintained on disk. The actual block and undo data, the block index (which can refer to positions on disk), and the chainstate (which refers to the best block hash). Earlier, there was no guarantee that blocks were written to disk before block index entries referring to them were written. This commit introduces dirty flags for block index data, and delays writing entries until the actual block data is flushed. With this stricter ordering in writes, it is now safe to not always flush after every block, so there is no need for the IsInitialBlockDownload() check there - instead we just write whenever enough time has passed or the cache size grows too large. Also updating the wallet's best known block is delayed until this is done, otherwise the wallet may end up referring to an unknown block. In addition, only do a write inside the block processing loop if necessary (because of cache size exceeded). Otherwise, move the writing to a point after processing is done, after relaying.
2014-11-23Make -proxy set all network types, avoiding a connect leak.Gregory Maxwell
Previously -proxy was not setting the proxy for IsLimited networks, so if you set your configuration to be onlynet=tor you wouldn't get an IPv4 proxy set. The payment protocol gets its proxy configuration from the IPv4 proxy, and so it would experience a connection leak. This addresses issue #5355 and also clears up a cosmetic bug where getinfo proxy output shows nothing when onlynet=tor is set.
2014-11-21Change MIT/X11 to MIT in license displayed in the programPhilip Kaufmann
2014-11-19[Qt] Add Smartfee to GUICozz Lovan
2014-11-12Merge pull request #5161Wladimir J. van der Laan
845c86d Do not use third party services for IP detection. (Gregory Maxwell)
2014-11-07Do not use third party services for IP detection.Gregory Maxwell
This is a simplified re-do of closed pull #3088. This patch eliminates the privacy and reliability problematic use of centralized web services for discovering the node's addresses for advertisement. The Bitcoin protocol already allows your peers to tell you what IP they think you have, but this data isn't trustworthy since they could lie. So the challenge is using it without creating a DOS vector. To accomplish this we adopt an approach similar to the one used by P2Pool: If we're announcing and don't have a better address discovered (e.g. via UPNP) or configured we just announce to each peer the address that peer told us. Since peers could already replace, forge, or drop our address messages this cannot create a new vulnerability... but if even one of our peers is giving us a good address we'll eventually make a useful advertisement. We also may randomly use the peer-provided address for the daily rebroadcast even if we otherwise have a seemingly routable address, just in case we've been misconfigured (e.g. by UPNP). To avoid privacy problems, we only do these things if discovery is enabled.
2014-11-06Change -genproclimit default to 1Wladimir J. van der Laan
This is less surprising. Avoids the overload-the-CPU default of using N threads for script verification as well as N threads for generation where N is number of cores.
2014-11-06Always log number of threads for script verificationWladimir J. van der Laan
Helps for troubleshooting.
2014-11-04Add "warmup mode" for RPC server.Daniel Kraft
Start the RPC server before doing all the (expensive) startup initialisations like loading the block index. Until the node is ready, return all calls immediately with a new error signalling "in warmup" with an appropriate status message (similar to the init message). This is useful for RPC clients to know that the server is there (e. g., they don't have to start it) but not yet available. It is used in Namecoin and Huntercoin already for some time, and there exists a UI hooked onto the RPC interface that actively uses this to its advantage.
2014-10-31Merge pull request #5077Wladimir J. van der Laan
2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option (Luke Dashjr)
2014-10-29Print parameter interactions to console, tooMatt Corallo
2014-10-27MOVEONLY: Move CFeeRate and Amount constants to amount.ojtimon
2014-10-27Enable customising node policy for datacarrier data size with a ↵Luke Dashjr
-datacarriersize option
2014-10-22Merge pull request #5108Wladimir J. van der Laan
a873823 CAutoFile: Explicit Get() and remove unused methods (Wladimir J. van der Laan) fef24ca Add IsNull() to class CAutoFile and remove operator ! (Ruben Dario Ponticeli)
2014-10-22CAutoFile: Explicit Get() and remove unused methodsWladimir J. van der Laan
Also add documentation to some methods.
2014-10-21qt: small English language updates from translatorsWladimir J. van der Laan
More friendly language, use placeholders where possible
2014-10-21Merge pull request #5076Wladimir J. van der Laan
c0195b1 Bugfix: Remove default from -zapwallettxes description (inaccurate) (Luke Dashjr) 0a08aa8 Parameterise command line option defaults, so translations are independent of them (Luke Dashjr)
2014-10-20Rename CWalletInterface to CValidationInterfacePieter Wuille
It's useful for much more than wallets.
2014-10-14Fix rebuild-chainstate feature and improve its performancePieter Wuille
Previous refactorings broke the ability to rebuild the chainstate by deleting the chainstate directory, resulting in an incorrect "Incorrect or no genesis block found" error message. Fix that. Also, improve the performance of ActivateBestBlockStep by using the skiplist to only discover a few potential blocks to connect at a time, instead of all blocks forever - as we likely bail out after connecting a single one anyway.
2014-10-14Bugfix: Remove default from -zapwallettxes description (inaccurate)Luke Dashjr
2014-10-14Merge pull request #4942Wladimir J. van der Laan
9406471 Write fee estimate and peers files only when initialized (Wladimir J. van der Laan)
2014-10-11Parameterise command line option defaults, so translations are independent ↵Luke Dashjr
of them
2014-10-08Merge pull request #4834Pieter Wuille
7c70438 Get rid of the dummy CCoinsViewCache constructor arg (Pieter Wuille) ed27e53 Add coins_tests with a large randomized CCoinViewCache test. (Pieter Wuille) 058b08c Do not keep fully spent but unwritten CCoins entries cached. (Pieter Wuille) c9d1a81 Get rid of CCoinsView's SetCoins and SetBestBlock. (Pieter Wuille) f28aec0 Use ModifyCoins instead of mutable GetCoins. (Pieter Wuille)
2014-10-08Merge pull request #4979Wladimir J. van der Laan
de10efd add -timeout default as constant and use them (Philip Kaufmann)
2014-10-06minor txindex documentation improvementCozz Lovan
2014-10-06add -timeout default as constant and use themPhilip Kaufmann
- update help message text - simplify code in init to check for -timeout
2014-10-02Merge pull request #4980Pieter Wuille
20a11ff minor variable init changes in init.cpp (Philip Kaufmann)
2014-10-01Merge pull request #4234Wladimir J. van der Laan
c122f55 qt: Register CAmount metatype (Wladimir J. van der Laan) a372168 Use a typedef for monetary values (Mark Friedenbach)
2014-09-29Merge pull request #4796Pieter Wuille
e8b5f0d Move CBlockIndex, CChain and related code out of main (jtimon) 6db83db Decouple CChain from mapBlockIndex (jtimon)
2014-09-26Use a typedef for monetary valuesMark Friedenbach
2014-09-25autofile: don't copy CAutoFile by valueCory Fields
2014-09-25minor variable init changes in init.cppPhilip Kaufmann
- explicit init of pcoinsdbview and pwalletMain (even if not needed, as globals are init to NULL, it seems cleaner) - remove check if (pwalletMain) in Shutdown() as delete is valid even if pwalletMain is NULL
2014-09-24Get rid of the dummy CCoinsViewCache constructor argPieter Wuille
2014-09-20Also create pid file in non-daemon modeWladimir J. van der Laan
Always make a pid file, not only when `-daemon` specified. This is useful for troubleshooting, for attaching debuggers and loggers and such. - Write the pid file only after the datadir lock was acquired - Don't create or remove a pid file on WIN32, and also don't show the option