aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
AgeCommit message (Collapse)Author
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
2014-09-18Write fee estimate and peers files only when initializedWladimir J. van der Laan
Fixes #4669. Move the loading of addresses to StartNode() to make it more self-contained.
2014-09-16Merge pull request #4825Pieter Wuille
8d657a6 Fixing compiler warning C4800: 'type' forcing value to bool 'true' or 'false' (ENikS)
2014-09-16Merge pull request #4911Pieter Wuille
611116d header include cleanup (Philip Kaufmann)
2014-09-16Merge pull request #4875Pieter Wuille
f7e3637 Eliminate extra assignment (Suhas Daftuar) ec7eb0f When reindexing check for file before trying to open (refactored) (Suhas Daftuar)
2014-09-14header include cleanupPhilip Kaufmann
- ensures alphabetical ordering for includes etc. in source file headers
2014-09-11Merge pull request #4885Wladimir J. van der Laan
aa3c697 Store fewer orphan tx by default, add -maxorphantx option (Gavin Andresen) c74332c Stricter handling of orphan transactions (Gavin Andresen)
2014-09-10Store fewer orphan tx by default, add -maxorphantx optionGavin Andresen
There is no reason to store thousands of orphan transactions; normally an orphan's parents will either be broadcast or mined reasonably quickly. This pull drops the maximum number of orphans from 10,000 down to 100, and adds a command-line option (-maxorphantx) that is just like -maxorphanblocks to override the default.
2014-09-10When reindexing check for file before trying to open (refactored)Suhas Daftuar
2014-09-10Use explicit fflush() instead of setvbuf()Adam Weiss
Flushing after every line when printing to console is desirable when running with systemd but setvbuf() has slightly different semantics on Windows that causes warnings. Just do an explicit fflush() after each line print to console instead.
2014-09-08Decouple CChain from mapBlockIndexjtimon
2014-09-06Fixing compiler warning C4800: 'type' forcing value to bool 'true' or 'false'ENikS
2014-09-04Introduce BlockMap type for mapBlockIndexPieter Wuille
2014-09-01Merge pull request #4768Wladimir J. van der Laan
2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (Wladimir J. van der Laan)
2014-08-29missing include boost/algorithm/string/replace.hppjtimon
2014-08-29Merge pull request #4599Jeff Garzik
2014-08-27Perform CVerifyDB on pcoinsdbview instead of pcoinsTipWladimir J. van der Laan
Bypassing the main coins cache allows more thorough checking with the same memory budget. This has no effect on performance because everything ends up in the child cache created by VerifyDB itself. It has bugged me ever since #4675, which effectively reduced the number of checked blocks to reduce peak memory usage. - Pass the coinsview to use as argument to VerifyDB - This also avoids that the first `pcoinsTip->Flush()` after VerifyDB writes a large slew of unchanged coin records back to the database.
2014-08-26Split up util.cpp/hWladimir J. van der Laan
Split up util.cpp/h into: - string utilities (hex, base32, base64): no internal dependencies, no dependency on boost (apart from foreach) - money utilities (parsesmoney, formatmoney) - time utilities (gettime*, sleep, format date): - and the rest (logging, argument parsing, config file parsing) The latter is basically the environment and OS handling, and is stripped of all utility functions, so we may want to rename it to something else than util.cpp/h for clarity (Matt suggested osinterface). Breaks dependency of sha256.cpp on all the things pulled in by util.
2014-08-20Remove print() from core functionsWladimir J. van der Laan
Break dependency on util.
2014-08-18Merge pull request #4605Wladimir J. van der Laan
aa82795 Add detailed network info to getnetworkinfo RPC (Wladimir J. van der Laan) 075cf49 Add GetNetworkName function (Wladimir J. van der Laan) c91a947 Add IsReachable(net) function (Wladimir J. van der Laan) 60dc8e4 Allow -onlynet=onion to be used (Wladimir J. van der Laan)