aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge pull request #5947Wladimir J. van der Laan2015-05-261-0/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 36cba8f Alert if it is very likely we are getting a bad chain (Gavin Andresen)
| * | | | | Alert if it is very likely we are getting a bad chainGavin Andresen2015-05-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a monitoring task that counts how many blocks have been found in the last four hours. If very few or too many have been found, an alert is triggered. "Very few" and "too many" are set based on a false positive rate of once every fifty years of constant running with constant hashing power, which works out to getting 5 or fewer or 48 or more blocks in four hours (instead of the average of 24). Only one alert per day is triggered, so if you get disconnected from the network (or are being Sybil'ed) -alertnotify will be triggered after 3.5 hours but you won't get another -alertnotify for 24 hours. Tested with a new unit test and by running on the main network with -debug=partitioncheck Run test/test_bitcoin --log_level=message to see the alert messages: WARNING: check your network connection, 3 blocks received in the last 4 hours (24 expected) WARNING: abnormally high number of blocks generated, 60 blocks received in the last 4 hours (24 expected) The -debug=partitioncheck debug.log messages look like: ThreadPartitionCheck : Found 22 blocks in the last 4 hours ThreadPartitionCheck : likelihood: 0.0777702
* | | | | | Merge pull request #6159Wladimir J. van der Laan2015-05-241-4/+14
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | ffdda4e Catch errors on datadir lock and pidfile delete (Adam Weiss)
| * | | | | Catch errors on datadir lock and pidfile deleteAdam Weiss2015-05-221-4/+14
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Prevents bad permissions (or other fs related problems) from resulting in hard crashes with cryptic messages on startup and shutdown.
* | | | | wallet: Introduce constant for `-txconfirmtarget` defaultWladimir J. van der Laan2015-05-181-2/+2
| |_|/ / |/| | |
* | | | Merge pull request #6135Wladimir J. van der Laan2015-05-151-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f13dac9 Comment edits and cleanup (BitcoinPRReadingGroup) ff734e9 Alphabetic order in makefile (Jorge Timón) 5207f33 fix header include groups (Philip Kaufmann) 59b149f remove unneeded incude of wallet/db.h from rpcmining.cpp (Philip Kaufmann) 3703385 remove unused classes from db.h (Philip Kaufmann) 0a7bcb7 fix IDE/compiler warning "extra ';'" in validationinterface.h (Philip Kaufmann) 3b00e7c [Trivial] Update COPYING (sandakersmann) dd9e688 Trivial: Corrected owner of DNS seeder (ayeowch) a60bfd8 [init] better message when no wallet support is compiled in (Philip Kaufmann) 78f44b6 Capitalized P2P (sandakersmann) 8e9248d [Trivial] Cryptocurrency is one word (sandakersmann) 803f51e Typo in GetRawMemPool RPC method help: "]" --> "}" (Chris Arnesen) 605a735 addrman: update comments (Pavel Vasin)
| * | | | [init] better message when no wallet support is compiled inPhilip Kaufmann2015-05-141-1/+1
| | | | |
* | | | | Merge pull request #6102Wladimir J. van der Laan2015-05-151-8/+10
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 86a5f4b Relocate calls to CheckDiskSpace (Alex Morcos) 67708ac Write block index more frequently than cache flushes (Pieter Wuille) b3ed423 Cache tweak and logging improvements (Pieter Wuille) fc684ad Use accurate memory for flushing decisions (Pieter Wuille) 046392d Keep track of memory usage in CCoinsViewCache (Pieter Wuille) 540629c Add memusage.h (Pieter Wuille)
| * | | | Cache tweak and logging improvementsPieter Wuille2015-05-111-8/+10
| | | | |
| * | | | Use accurate memory for flushing decisionsPieter Wuille2015-05-111-1/+1
| | |/ / | |/| |
* | | | Merge pull request #5964Gavin Andresen2015-05-141-2/+7
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a1dcea Use CScheduler for net's DumpAddresses (Gavin Andresen) ddd0acd Create a scheduler thread for lightweight tasks (Gavin Andresen) 68d370b CScheduler unit test (Gavin Andresen) cfefe5b scheduler: fix with boost <= 1.50 (Cory Fields) ca66717 build: make libboost_chrono mandatory (Cory Fields) 928b950 CScheduler class for lightweight task scheduling (Gavin Andresen) e656560 [Qt] add defaultConfirmTarget constant to sendcoinsdialog (Philip Kaufmann)
| * | | Use CScheduler for net's DumpAddressesGavin Andresen2015-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | Instead of starting Yet Another Thread to dump addresses, use CScheduler to do it.
| * | | Create a scheduler thread for lightweight tasksGavin Andresen2015-05-141-1/+6
| |/ /
* / / Clean up parsing of bool command line argsAlex Morcos2015-05-121-5/+5
|/ /
* | re-add -reindex help messageJonas Schnelli2015-05-081-1/+1
| | | | | | | | was suddenly removed with fc44231cb72afae2fffe0fac64e236a1d33b90e6 (probably not by purpose)
* | Merge pull request #6047Wladimir J. van der Laan2015-05-061-0/+4
|\ \ | | | | | | | | | | | | a56054b Update key.cpp to use new libsecp256k1 (Pieter Wuille) a591d98 Squashed 'src/secp256k1/' changes from 1897b8e..22f60a6 (Pieter Wuille)
| * | Update key.cpp to use new libsecp256k1Pieter Wuille2015-05-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libsecp256k1's API changed, so update key.cpp to use it. Libsecp256k1 now has explicit context objects, which makes it completely thread-safe. In turn, keep an explicit context object in key.cpp, which is explicitly initialized destroyed. This is not really pretty now, but it's more efficient than the static initialized object in key.cpp (which made for example bitcoin-tx slow, as for most of its calls, libsecp256k1 wasn't actually needed). This also brings in the new blinding support in libsecp256k1. By passing in a random seed, temporary variables during the elliptic curve computations are altered, in such a way that if an attacker does not know the blind, observing the internal operations leaks less information about the keys used. This was implemented by Greg Maxwell.
* | | Merge pull request #6055Wladimir J. van der Laan2015-05-061-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | a8cdaf5 checkpoints: move the checkpoints enable boolean into main (Cory Fields) 11982d3 checkpoints: Decouple checkpoints from Params (Cory Fields) 6996823 checkpoints: make checkpoints a member of CChainParams (Cory Fields) 9f13a10 checkpoints: store mapCheckpoints in CCheckpointData rather than a pointer (Cory Fields)
| * | | checkpoints: move the checkpoints enable boolean into mainCory Fields2015-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | This pertains to app-state, so it doesn't make sense to handle inside the checkpoint functions.
* | | | trivial: Merge pruning help message after Transifex commentWladimir J. van der Laan2015-05-041-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The prune help message was broken in nonsensical parts. Merge it into one, this is easier for translators. Reported by yahoe.001 on transifex.
* | | | Show an init message while activating best chainWladimir J. van der Laan2015-05-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Connecting the chain can take quite a while. All the while it is still showing `Loading wallet...`. Add an init message to inform the user what is happening.
* | | | Merge pull request #6085Wladimir J. van der Laan2015-05-041-2/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | b05a89b Non-grammatical language improvements (Luke Dashjr) 7e6d23b Bugfix: Grammar fixes (Corinne Dashjr)
| * | | Bugfix: Grammar fixesCorinne Dashjr2015-05-011-2/+2
| | | |
* | | | Merge pull request #6022Wladimir J. van der Laan2015-04-301-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | b74dcb3 Separate CTranslationInterface from CClientUIInterface (Jorge Timón)
| * | | Separate CTranslationInterface from CClientUIInterfaceJorge Timón2015-04-161-1/+1
| | | |
* | | | Add block pruning functionalitymrbandrews2015-04-221-4/+86
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a -prune=N option to bitcoind, which if set to N>0 will enable block file pruning. When pruning is enabled, block and undo files will be deleted to try to keep total space used by those files to below the prune target (N, in MB) specified by the user, subject to some constraints: - The last 288 blocks on the main chain are always kept (MIN_BLOCKS_TO_KEEP), - N must be at least 550MB (chosen as a value for the target that could reasonably be met, with some assumptions about block sizes, orphan rates, etc; see comment in main.h), - No blocks are pruned until chainActive is at least 100,000 blocks long (on mainnet; defined separately for mainnet, testnet, and regtest in chainparams as nPruneAfterHeight). This unsets NODE_NETWORK if pruning is enabled. Also included is an RPC test for pruning (pruning.py). Thanks to @rdponticelli for earlier work on this feature; this is based in part off that work.
* | | Merge pull request #5911Wladimir J. van der Laan2015-04-201-6/+7
|\ \ \ | | | | | | | | | | | | | | | | 6be3562 rpc-tests: Add proxy test (Wladimir J. van der Laan) 67a7949 privacy: Stream isolation for Tor (Wladimir J. van der Laan)
| * | | privacy: Stream isolation for TorWladimir J. van der Laan2015-04-171-6/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Tor's extensions to the SOCKS protocol (https://gitweb.torproject.org/torspec.git/tree/socks-extensions.txt) it is possible to perform stream isolation by providing authentication to the proxy. Each set of credentials will create a new circuit, which makes it harder to correlate connections. This patch adds an option, `-proxyrandomize` (on by default) that randomizes credentials for every outgoing connection, thus creating a new circuit. 2015-03-16 15:29:59 SOCKS5 Sending proxy authentication 3842137544:3256031132
* | | Make 'Default: %u' spacing consistent in help messageWladimir J. van der Laan2015-04-201-2/+2
| | | | | | | | | | | | Comment by pryds on Transifex.
* | | Fix typo in init.cpp interpration/interpretationMichael Ford2015-04-201-1/+1
|/ /
* | Merge pull request #5997Wladimir J. van der Laan2015-04-151-3/+4
|\ \ | | | | | | | | | 4e38217 Chainparams: Refactor: Remove redundant HashGenesisBlock() getter (Jorge Timón)
| * | Chainparams: Refactor: Remove redundant HashGenesisBlock() getterJorge Timón2015-04-121-3/+4
| | |
* | | Push down RPC reqWallet flagJonas Schnelli2015-04-121-5/+0
|/ /
* | Merge pull request #5951Wladimir J. van der Laan2015-04-081-0/+2
|\ \ | | | | | | | | | | | | 77650cc add -walletbroadcast=0 rpc test (Jonas Schnelli) 6f25262 wallet: make it possible to disable transaction broadcast (Wladimir J. van der Laan)
| * | wallet: make it possible to disable transaction broadcastWladimir J. van der Laan2015-04-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an advanced feature which will disable any kind of automatic transaction broadcasting in the wallet. This gives the user full control of how the transaction is sent. For example they can broadcast new transactions through some other mechanism themselves, after getting the transaction hex through `gettransaction`. This just adds the option `-walletbroadcast=<0,1>`. Right now these transactions will get the status Status: conflicted, has not been successfully broadcast yet They shouldn't be shown as conflicted at all (`walletconflicts` is empty). This status will go away when the transaction is received through the network.
* | | Add a consistency check for the block chain data structuresPieter Wuille2015-03-271-2/+3
|/ / | | | | | | | | | | This adds a -checkblockindex (defaulting to true for regtest), which occasionally does a full consistency check for mapBlockIndex, setBlockIndexCandidates, chainActive, and mapBlocksUnlinked.
* | Fix --disable-wallet build after merge of #5681Wladimir J. van der Laan2015-03-241-0/+1
| |
* | refactor: move bdb (bitdb) interaction from init.cpp to wallet.cppJonas Schnelli2015-03-201-44/+13
| | | | | | | | this will remove db.h from init.cpp
* | [Move Only] Move wallet related things to src/wallet/Jonas Schnelli2015-03-121-3/+3
| | | | | | | | could once be renamed from /src/wallet to /src/legacywallet.
* | Fix - bitcoin-qt usage messageLuca Venturini2015-03-101-0/+13
| | | | | | | | | | | | | | . Closes the bug from commit e179eb3d9bfec7e67908242c71c87b716a41c97c ("bitcoin-qt -help" did not show any message) . Move all the options in init.cpp (there were already some options related to bitcoin-qt)
* | Help messages correctly formatted (79 chars)Luca Venturini2015-03-101-119/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Help messages are formatted programmatically with FormatParagraph in order not to break existing strings in Transifex. The new format works even if the translation of the strings modifies the lenght of the message. Sqashed 6 commits in a single one. Help messages correctly formatted for SVGA text mode (132 chars) Help messages are formatted programmatically with FormatParagraph in order not to break existing strings in Transifex. The new format should work even if the translation of the strings modifies the lenght of the message. Fix - syntax error Correct formatting for 79 chars Correctly based on C++ functions Removed spare spaces from option strings Fix - syntax error
* | Merge pull request #5711Wladimir J. van der Laan2015-02-041-0/+22
|\ \ | | | | | | | | | | | | 5ebe095 Trim RPC command table (Wladimir J. van der Laan) 4401b2d Removed main.h dependency from rpcserver.cpp (Eric Lombrozo)
| * | Removed main.h dependency from rpcserver.cppEric Lombrozo2015-01-281-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | Rebased by @laanwj: - update for RPC methods added since 84d13ee: setmocktime, invalidateblock, reconsiderblock. Only the first, setmocktime, required a change, the other two are thread safe.
* | | Remove whitespaces before double colon in errors and logsPavel Janík2015-01-311-1/+1
|/ /
* | Merge pull request #5243Wladimir J. van der Laan2015-01-261-0/+5
|\ \ | | | | | | | | | ff09e31 sleep-wait on genesis block during init with -reindex (Matt Corallo)
| * | sleep-wait on genesis block during init with -reindexMatt Corallo2014-12-201-0/+5
| | |
* | | Merge pull request #4805Wladimir J. van der Laan2015-01-261-1/+3
|\ \ \ | | | | | | | | | | | | 44bc988 [Wallet] Do not flush the wallet in AddToWalletIfInvolvingMe(..) (Cozz Lovan)
| * | | [Wallet] Do not flush the wallet in AddToWalletIfInvolvingMe(..)Cozz Lovan2014-10-031-1/+3
| | | |
* | | | Restore RPC HTTP keepalives to default.Gregory Maxwell2015-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Add a -rpckeepalive and disable RPC use of HTTP persistent connections.Gregory Maxwell2015-01-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.