aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | | build: fix build weirdness after 54372482.Cory Fields2014-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitcoin-config.h moved, but the old file is likely to still exist when reconfiguring or switching branches. This would've caused files to not rebuild correctly, and other strange problems. Make the path explicit so that the old one cannot be found. Core libs use config/bitcoin-config.h. Libs (like crypto) which don't want access to bitcoin's headers continue to use -Iconfig and #include bitcoin-config.h.
* | | Remove getwork() RPC callPieter Wuille2014-06-211-3/+0
| | |
* | | Merge pull request #4339Wladimir J. van der Laan2014-06-181-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | 92a6220 sanity: hook up sanity checks (Cory Fields) 679240d sanity: add libc/stdlib sanity checks (Cory Fields) 11404af sanity: autoconf check for sys/select.h (Cory Fields)
| * | | sanity: hook up sanity checksCory Fields2014-06-161-2/+3
| |/ /
* | | Merge pull request #4346Wladimir J. van der Laan2014-06-171-0/+6
|\ \ \ | | | | | | | | | | | | 1569353 Add `-stopafterblockimport` option (Wladimir J. van der Laan)
| * | | Add `-stopafterblockimport` optionWladimir J. van der Laan2014-06-161-0/+6
| |/ / | | | | | | | | | | | | Stop after importing blocks. This can be useful for development and trouble shooting.
* / / add comment to HelpMessage() to ensure alphabetical orderingPhilip Kaufmann2014-06-171-3/+4
|/ / | | | | | | - also rename hmm to mode, to be consistent between .h and .cpp
* | Add 'about' information to `-version` outputWladimir J. van der Laan2014-06-121-1/+12
| | | | | | | | | | | | | | Adds a copyright and attribution message to the `-version` output (the same as shown in the About dialog in the GUI). Move the message to a function LicenseInfo in init.cpp.
* | [Qt] allow setting listen via GUIPhilip Kaufmann2014-06-111-1/+1
|/ | | | | | | | | | - add DEFAULT_LISTEN in net.h and use in the code (shared setting between core and GUI) Important: This makes it obvious, that we need to re-think the settings/options handling, as GUI settings are processed before any parameter-interaction (which is mostly important for network stuff) in AppInit2()!
* Merge pull request #4277Wladimir J. van der Laan2014-06-111-0/+21
|\ | | | | | | 4a09e1d key.cpp: fail with a friendlier message on missing ssl EC support (Andrew Poelstra)
| * key.cpp: fail with a friendlier message on missing ssl EC supportAndrew Poelstra2014-06-031-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if bitcoind is linked with an OpenSSL which is compiled without EC support, this is seen as an assertion failure "pKey != NULL" at key.cpp:134, which occurs after several seconds. It is an esoteric piece of knowledge to interpret this as "oops, I linked with the wrong OpenSSL", and because of the delay it may not even be noticed. The new output is : OpenSSL appears to lack support for elliptic curve cryptography. For more information, visit https://en.bitcoin.it/wiki/OpenSSL_and_EC_Libraries : Initialization sanity check failed. Bitcoin Core is shutting down. which occurs immediately after attempted startup. This also blocks in an InitSanityCheck() function which currently only checks for EC support but should eventually do more. See #4081.
* | Merge pull request #3824Wladimir J. van der Laan2014-06-091-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f0a83fc Use Params().NetworkID() instead of TestNet() from the payment protocol (jtimon) 2871889 net.h was using std namespace through chainparams.h included in protocol.h (jtimon) c8c52de Replace virtual methods with static attributes, chainparams.h depends on protocol.h instead of the other way around (jtimon) a3d946e Get rid of TestNet() (jtimon) 6fc0fa6 Add RPCisTestNet chain parameter (jtimon) cfeb823 Add RequireStandard chain parameter (jtimon) 21913a9 Add AllowMinDifficultyBlocks chain parameter (jtimon) d754f34 Move majority constants to chainparams (jtimon) 8d26721 Get rid of RegTest() (jtimon) cb9bd83 Add DefaultCheckMemPool chain parameter (jtimon) 2595b9a Add DefaultMinerThreads chain parameter (jtimon) bfa9a1a Add MineBlocksOnDemand chain parameter (jtimon) 1712adb Add MiningRequiresPeers chain parameter (jtimon)
| * | Add DefaultCheckMemPool chain parameterjtimon2014-06-041-1/+2
| | |
* | | estimatefee / estimatepriority RPC methodsGavin Andresen2014-06-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New RPC methods: return an estimate of the fee (or priority) a transaction needs to be likely to confirm in a given number of blocks. Mike Hearn created the first version of this method for estimating fees. It works as follows: For transactions that took 1 to N (I picked N=25) blocks to confirm, keep N buckets with at most 100 entries in each recording the fees-per-kilobyte paid by those transactions. (separate buckets are kept for transactions that confirmed because they are high-priority) The buckets are filled as blocks are found, and are saved/restored in a new fee_estiamtes.dat file in the data directory. A few variations on Mike's initial scheme: To estimate the fee needed for a transaction to confirm in X buckets, all of the samples in all of the buckets are used and a median of all of the data is used to make the estimate. For example, imagine 25 buckets each containing the full 100 entries. Those 2,500 samples are sorted, and the estimate of the fee needed to confirm in the very next block is the 50'th-highest-fee-entry in that sorted list; the estimate of the fee needed to confirm in the next two blocks is the 150'th-highest-fee-entry, etc. That algorithm has the nice property that estimates of how much fee you need to pay to get confirmed in block N will always be greater than or equal to the estimate for block N+1. It would clearly be wrong to say "pay 11 uBTC and you'll get confirmed in 3 blocks, but pay 12 uBTC and it will take LONGER". A single block will not contribute more than 10 entries to any one bucket, so a single miner and a large block cannot overwhelm the estimates.
* | | Type-safe CFeeRate classGavin Andresen2014-06-061-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | Use CFeeRate instead of an int64_t for quantities that are fee-per-size. Helps prevent unit-conversion mismatches between the wallet, relaying, and mining code.
* | | Remove global strWalletFileWladimir J. van der Laan2014-06-051-2/+1
| | | | | | | | | | | | | | | As it says on the tin. There is no need to have this variable be global, it's only used in AppInit2.
* | | log used config file to debug.log on startupPhilip Kaufmann2014-06-041-0/+1
| | |
* | | Merge pull request #4247 from Diapolo/listenJeff Garzik2014-06-041-2/+2
|\ \ \ | | | | | | | | rename fNoListen to fListen and move to net
| * | | rename fNoListen to fListen and move to netPhilip Kaufmann2014-05-291-2/+2
| | |/ | |/| | | | | | | | | | - better code readability and it belongs to net - this is a prerequisite for a pull to add -listen to the GUI
* | | Merge pull request #4258Wladimir J. van der Laan2014-06-041-0/+1
|\ \ \ | |_|/ |/| | | | | 7b45d94 Make max number of orphan blocks kept in memory a startup parameter (fixes #4253) (shshshsh)
| * | Make max number of orphan blocks kept in memory a startup parameter (fixes ↵shshshsh2014-06-041-0/+1
| |/ | | | | | | #4253)
* / VerifyDB progressCozz Lovan2014-06-031-1/+1
|/
* Remove redundant c_strR E Broadley2014-05-221-1/+1
|
* Add -rpcbind option to allow binding RPC port on a specific interfaceWladimir J. van der Laan2014-05-131-1/+2
| | | | | | | | | | | | Add -rpcbind command option to specify binding RPC service on one or multiple specific interfaces. Functionality if -rpcbind is not specified remains the same as before: - If no -rpcallowip specified, bind on localhost - If no -rpcbind specified, bind on any interface Implements part of #3111.
* Merge pull request #4138Wladimir J. van der Laan2014-05-121-4/+4
|\ | | | | | | 783b182 Remove dummy PRIszX macros for formatting (Wladimir J. van der Laan)
| * Remove dummy PRIszX macros for formattingWladimir J. van der Laan2014-05-061-4/+4
| | | | | | | | | | | | | | | | | | Size specifiers are no longer needed now that we use typesafe tinyformat for string formatting, instead of the system's sprintf. No functional changes. This continues the work in #3735.
* | Switch stdout to line bufferingshshshsh2014-05-111-0/+2
|/ | | | | Use line buffering (instead of block buffering) so that messages arrive immediately in systemd-journald, tail -f debug.log, and the like.
* Merge pull request #4114Wladimir J. van der Laan2014-05-021-0/+3
|\ | | | | | | | | bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan) d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
| * Log BerkeleyDB version at startupWladimir J. van der Laan2014-05-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Prints the actual version of BerkeleyDB that is linked against, if wallet support is enabled. Useful for troubleshooting. For example: 2014-05-01 07:44:02 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2014-05-01 07:54:25 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 20 11)
* | Remove build-time no-IPv6 settingWladimir J. van der Laan2014-05-011-10/+0
|/ | | | | | | | | | | The year is 2014. All supported operating systems have IPv6 support, most certainly at build time (this doesn't mean that IPv6 is configured, of course). If noone is exercising the functionality to disable it, that means it doesn't get tested, and IMO it's better to get rid of it. (it's also not used consistently in RPC/boost and Net code...)
* Add nHighTransactionFeeWarning as per #3969.Bardi Harborow2014-03-291-1/+1
|
* add constant for shared (GUI/core) -par settingsPhilip Kaufmann2014-03-271-2/+2
| | | | | | | | | - introduce DEFAULT_SCRIPTCHECK_THREADS in main.h - only show values from -"MAX_HW_THREADS" up to 16 for -par, as it makes no sense to try to leave more "cores free" than the system supports anyway - use the new constant in optionsdialog and remove defaults from .ui file
* improve command-line options outputCozz Lovan2014-03-251-58/+86
|
* Merge pull request #3806Wladimir J. van der Laan2014-03-211-1/+1
|\ | | | | | | | | 9e2872c Adjust branding in datadir lock error message (Michagogo) d30d379 Slightly tweak error when unable to bind port (Michagogo)
| * Adjust branding in datadir lock error messageMichagogo2014-03-121-1/+1
| |
* | Log which wallet is used during initWladimir J. van der Laan2014-03-051-0/+1
|/ | | | | Now that the wallet can be selected using -wallet it is important to log which wallet is being used for later troubleshooting.
* Get rid of C99 PRI?64 usage in source filesWladimir J. van der Laan2014-02-241-5/+5
| | | | | | | | | | | | | | | | | | | | | | | Amend to d5f1e72. It turns out that BerkelyDB was including inttypes.h indirectly, so we cannot fix this with just macros. Trivial commit: apply the following script to all .cpp and .h files: # Middle sed -i 's/"PRIx64"/x/g' "$1" sed -i 's/"PRIu64"/u/g' "$1" sed -i 's/"PRId64"/d/g' "$1" # Initial sed -i 's/PRIx64"/"x/g' "$1" sed -i 's/PRIu64"/"u/g' "$1" sed -i 's/PRId64"/"d/g' "$1" # Trailing sed -i 's/"PRIx64/x"/g' "$1" sed -i 's/"PRIu64/u"/g' "$1" sed -i 's/"PRId64/d"/g' "$1" After this commit, `git grep` for PRI.64 should turn up nothing except the defines in util.h.
* Don't use PRIx64 formatting derives from inttypes.hWladimir J. van der Laan2014-02-221-1/+0
| | | | | | | | | | | | As the tinyformat-based formatting system (introduced in b77dfdc) is type-safe, no special format characters are needed to specify sizes. Tinyformat can support (ignore) the C99 prefixes such as "ll" but chokes on MSVC's inttypes.h defines prefixes such as "I64X". So don't include inttypes.h and define our own for compatibility. (an alternative would be to sweep the entire codebase using sed -i to get rid of the size specifiers but this has less diff impact)
* add constants for shared (GUI/core) -dbcache settingsPhilip Kaufmann2014-02-171-4/+6
| | | | - adds nDefaultDbCache, nMaxDbCache and nMinDbCache in txdb.h
* Increase default dbcache to 100 MiBPieter Wuille2014-02-171-2/+2
|
* Merge pull request #3643Wladimir J. van der Laan2014-02-171-1/+5
|\ | | | | | | d54e819 Log warnings when bootstrap files are specified but cannot be opened (Wladimir J. van der Laan)
| * Log warnings when bootstrap files are specified but cannot be openedWladimir J. van der Laan2014-02-091-1/+5
| | | | | | | | | | | | | | - Log a warning when bootstrap files are specified using `-loadblock` but cannot be opened. - Log a warning when bootstrap.dat exists in the home directory but cannot be opened.
* | Merge pull request #3646Wladimir J. van der Laan2014-02-161-1/+1
|\ \ | | | | | | | | | 5770254 Copyright header updates s/2013/2014 on files whose last git commit was done in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does. (gubatron)
| * | Copyright header updates s/2013/2014 on files whose last git commit was done ↵gubatron2014-02-091-1/+1
| |/ | | | | | | | | | | in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does.
* | Add -zapwallettxes cli/config option, used for wallet recoveryJeff Garzik2014-02-141-0/+21
| | | | | | | | | | This diagnostic tool removes all "tx" records from the wallet db, then forces a full rescan, to rebuild "tx" records accurately.
* | Add option to avoid spending unconfirmed changeWladimir J. van der Laan2014-02-111-0/+2
|/
* Merge pull request #3588Wladimir J. van der Laan2014-01-301-9/+17
|\ | | | | | | df966d1 log parameter interactions to debug.log (Philip Kaufmann)
| * log parameter interactions to debug.logPhilip Kaufmann2014-01-271-9/+17
| |
* | Prepare block connection logic for headers-first.Pieter Wuille2014-01-271-1/+1
|/ | | | | | | | | | | | | | | | | This changes the block processing logic from "try to atomically switch to a new block" to a continuous "(dis)connect a block, aiming for the assumed best chain". This means the smallest atomic operations on the chainstate become individual block connections or disconnections, instead of entire reorganizations. It may mean that we try to reorganize to one block, fail, and rereorganize again to the old block. This is slower, but doesn't require unbounded RAM. It also means that a ConnectBlock which fails may be no longer called from the ProcessBlock which knows which node sent it. To deal with that, a mapBlockSource is kept, and invalid blocks cause asynchronous "reject" messages and banning (if necessary).
* Remove redundant .c_str()sWladimir J. van der Laan2014-01-231-22/+22
| | | | | | | After the tinyformat switch sprintf() family functions support passing actual std::string objects. Remove unnecessary c_str calls (236 of them) in logging and formatting.