aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
AgeCommit message (Collapse)Author
2014-06-27Add -respendnotify option and new RPC dataTom Harding
-respendnotify=<cmd> Execute command when a network tx respends wallet tx input (%s=respend TxID, %t=wallet TxID) Add respendsobserved array to gettransaction, listtransactions, and listsinceblock RPCs. This omits the malleated clones that are included in the walletconflicts array. Add RPC help for respendsobserved and walletconflicts (help was missing for the latter).
2014-06-27Relay double-spends, subject to anti-DOSTom Harding
Allows network wallets and other clients to see transactions that respend a prevout already spent in an unconfirmed transaction in this node's mempool. Knowledge of an attempted double-spend is of interest to recipients of the first spend. In some cases, it will allow these recipients to withhold goods or services upon being alerted of a double-spend that deprives them of payment. As before, respends are not added to the mempool. Anti-Denial-of-Service-Attack provisions: - Use a bloom filter to relay only one respend per mempool prevout - Rate-limit respend relays to a default of 100 thousand bytes/minute - Define tx2.IsEquivalentTo(tx1): equality when scriptSigs are not considered - Do not relay these equivalent transactions Remove an unused variable declaration in txmempool.cpp.
2014-06-26Add an option to allow users to disable relaying/mining data carrier ↵Luke Dashjr
transactions
2014-06-24Merge pull request #4130Wladimir J. van der Laan
1c750db remove -tor compatibility code (only allow -onion) (Philip Kaufmann)
2014-06-24Merge pull request #3674Wladimir J. van der Laan
77cbd46 Let -zapwallettxes recover transaction meta data (Cozz Lovan)
2014-06-24remove -tor compatibility code (only allow -onion)Philip Kaufmann
- exit, if -tor option is found and give error to user
2014-06-23build: fix build weirdness after 54372482.Cory Fields
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.
2014-06-21Remove getwork() RPC callPieter Wuille
2014-06-18Merge pull request #4339Wladimir J. van der Laan
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)
2014-06-17Merge pull request #4346Wladimir J. van der Laan
1569353 Add `-stopafterblockimport` option (Wladimir J. van der Laan)
2014-06-17add comment to HelpMessage() to ensure alphabetical orderingPhilip Kaufmann
- also rename hmm to mode, to be consistent between .h and .cpp
2014-06-16sanity: hook up sanity checksCory Fields
2014-06-16Let -zapwallettxes recover transaction meta dataCozz Lovan
2014-06-16Add `-stopafterblockimport` optionWladimir J. van der Laan
Stop after importing blocks. This can be useful for development and trouble shooting.
2014-06-12Add 'about' information to `-version` outputWladimir J. van der Laan
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.
2014-06-11[Qt] allow setting listen via GUIPhilip Kaufmann
- 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()!
2014-06-11Merge pull request #4277Wladimir J. van der Laan
4a09e1d key.cpp: fail with a friendlier message on missing ssl EC support (Andrew Poelstra)
2014-06-09Merge pull request #3824Wladimir J. van der Laan
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)
2014-06-06estimatefee / estimatepriority RPC methodsGavin Andresen
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.
2014-06-06Type-safe CFeeRate classGavin Andresen
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.
2014-06-05Remove global strWalletFileWladimir J. van der Laan
As it says on the tin. There is no need to have this variable be global, it's only used in AppInit2.
2014-06-04log used config file to debug.log on startupPhilip Kaufmann
2014-06-04Merge pull request #4247 from Diapolo/listenJeff Garzik
rename fNoListen to fListen and move to net
2014-06-04Merge pull request #4258Wladimir J. van der Laan
7b45d94 Make max number of orphan blocks kept in memory a startup parameter (fixes #4253) (shshshsh)
2014-06-04Make max number of orphan blocks kept in memory a startup parameter (fixes ↵shshshsh
#4253)
2014-06-04Add DefaultCheckMemPool chain parameterjtimon
2014-06-03key.cpp: fail with a friendlier message on missing ssl EC supportAndrew Poelstra
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.
2014-06-03VerifyDB progressCozz Lovan
2014-05-29rename fNoListen to fListen and move to netPhilip Kaufmann
- better code readability and it belongs to net - this is a prerequisite for a pull to add -listen to the GUI
2014-05-22Remove redundant c_strR E Broadley
2014-05-13Add -rpcbind option to allow binding RPC port on a specific interfaceWladimir J. van der Laan
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.
2014-05-12Merge pull request #4138Wladimir J. van der Laan
783b182 Remove dummy PRIszX macros for formatting (Wladimir J. van der Laan)
2014-05-11Switch stdout to line bufferingshshshsh
Use line buffering (instead of block buffering) so that messages arrive immediately in systemd-journald, tail -f debug.log, and the like.
2014-05-06Remove dummy PRIszX macros for formattingWladimir J. van der Laan
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.
2014-05-02Merge pull request #4114Wladimir J. van der Laan
bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan) d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
2014-05-01Remove build-time no-IPv6 settingWladimir J. van der Laan
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...)
2014-05-01Log BerkeleyDB version at startupWladimir J. van der Laan
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)
2014-03-29Add nHighTransactionFeeWarning as per #3969.Bardi Harborow
2014-03-27add constant for shared (GUI/core) -par settingsPhilip Kaufmann
- 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
2014-03-25improve command-line options outputCozz Lovan
2014-03-21Merge pull request #3806Wladimir J. van der Laan
9e2872c Adjust branding in datadir lock error message (Michagogo) d30d379 Slightly tweak error when unable to bind port (Michagogo)
2014-03-12Adjust branding in datadir lock error messageMichagogo
2014-03-05Log which wallet is used during initWladimir J. van der Laan
Now that the wallet can be selected using -wallet it is important to log which wallet is being used for later troubleshooting.
2014-02-24Get rid of C99 PRI?64 usage in source filesWladimir J. van der Laan
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.
2014-02-22Don't use PRIx64 formatting derives from inttypes.hWladimir J. van der Laan
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)
2014-02-17add constants for shared (GUI/core) -dbcache settingsPhilip Kaufmann
- adds nDefaultDbCache, nMaxDbCache and nMinDbCache in txdb.h
2014-02-17Increase default dbcache to 100 MiBPieter Wuille
2014-02-17Merge pull request #3643Wladimir J. van der Laan
d54e819 Log warnings when bootstrap files are specified but cannot be opened (Wladimir J. van der Laan)
2014-02-16Merge pull request #3646Wladimir J. van der Laan
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)
2014-02-14Add -zapwallettxes cli/config option, used for wallet recoveryJeff Garzik
This diagnostic tool removes all "tx" records from the wallet db, then forces a full rescan, to rebuild "tx" records accurately.