aboutsummaryrefslogtreecommitdiff
path: root/src/main.h
AgeCommit message (Collapse)Author
2013-12-05Fix typo: make default maxblocksize 350k (not 300)Gavin Andresen
2013-11-28Increase default -blockmaxsize/prioritysize to 300K/30KGavin Andresen
2013-11-26Log reason for non-standard transaction rejectionJeff Garzik
Conflicts: src/main.cpp Rebased-from: cb3076a3daa68eebf19c681ab48a0c0d9f0ce7a5
2013-11-26Fix uninitialized variable added in 5c55bf5theuni
After discussing with BlueMatt, this appears to be harmless in its current state since it's always set before it's used. Initialize it anyway for readability and future safety. Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com> Rebased-From: 106f133de6bdb577c4135847fd703d08f525ba46
2013-11-26Fix comparison tool by asking for blocks more aggressivelyMatt Corallo
Rebased-from: b33b9a6fefbe832bf45a6c7717d0537f27597bff
2013-08-20Simplify storage of orphan transactionsGavin Andresen
Orphan transactions were stored as a CDataStream pointer; this changes the mapOrphanTransactions data structures to store orphans as a CTransaction. This also fixes CVE-2013-4627 by always re-serializing transactions before relaying them.
2013-05-21CreateNewBlock performance improvementsPieter Wuille
2013-05-04Merge pull request #2577 from gavinandresen/fee_bandaidGavin Andresen
Treat dust outputs as non-standard, un-hardcode TX_FEE constants
2013-05-03Un-hardcode TX_FEE constantsGavin Andresen
Allow setting of MIN_TX_FEE / MIN_RELAY_TX_FEE with -mintxfee / -mintxrelayfee Default values are the same (0.0001 BTC).
2013-05-03Define dust transaction outputs, and make them non-standardGavin Andresen
2013-05-01Improve gettxoutsetinfo commandPieter Wuille
* Bugfix: output the correct best block hash (during IBD, it can differ from the actual current best block) * Add height to output * Add hash_serialized, which is a hash of the entire UTXO state. Can be useful to compare two nodes. * Add total_amount, the sum of all UTXOs' values.
2013-04-12Use a uint256 for bnChainWorkPieter Wuille
Every block index entry currently requires a separately-allocated CBigNum. By replacing them with uint256, it's just 32 bytes extra in CBlockIndex itself. This should save us a few megabytes in RAM, and less allocation overhead.
2013-04-09Merge pull request #2478 from sipa/fullhashGavin Andresen
Always print full hashes (tx, block, inv)
2013-04-08Merge pull request #2403 from gmaxwell/minfee-to-relayfeePieter Wuille
Make MIN_TX_FEE match MIN_RELAY_TX_FEE.
2013-04-07Always print full hashes (tx, block, inv)Pieter Wuille
2013-04-03Port Thread* methods to boost::thread_groupGavin Andresen
2013-03-22Make MIN_TX_FEE match MIN_RELAY_TX_FEE.Gregory Maxwell
Current relay behavior is widely deployed. Supplying a higher minfee than mining and relaying just irritates users without anti-spam gain.
2013-02-23Merge pull request #2186 from Diapolo/misc_stuffWladimir J. van der Laan
small changes in init, main, checkpoints.h and bitcoin-qt.pro
2013-02-22Merge pull request #2221 from sipa/perfoGavin Andresen
Various performance tweaks to CCoinsView
2013-02-20small changes in init, main, checkpoints.h and bitcoin-qt.proPhilip Kaufmann
- remove an unneeded MODAL flag, as MSG_ERROR sets MODAL - re-order an if-clause in main to have bool checks before a function call - fix some log messages that used wrong function names - make a log message use a correct ellipsis - remove some unneded spaces, brackets and line-breaks - fix style for adding files in the Qt project
2013-02-17Improve block database load error reportingPieter Wuille
2013-02-05Merge branch 'reindexgen' of git://github.com/sipa/bitcoinGavin Andresen
2013-02-05Make transactions larger than 100K non-standardGavin Andresen
Extremely large transactions with lots of inputs can cost the network almost as much to process as they cost the sender in fees. We would never create transactions larger than 100K big; this change makes transactions larger than 100K non-standard, so they are not relayed/mined by default. This is most important for miners that might create blocks larger than 250K big, who could be vulnerable to a make-your-blocks-so-expensive-to-verify-they-get-orphaned attack.
2013-02-01Make sure the genesis block is present after reindexPieter Wuille
2013-01-29Merge pull request #2224 from sipa/valstateGavin Andresen
Improve error handling during validation
2013-01-29Fix two clang3.3 warningsGavin Andresen
2013-01-30Improve dealing with abort conditionsPieter Wuille
2013-01-30CValidationState frameworkPieter Wuille
2013-01-28Remove support for pre-checksum undo filesPieter Wuille
2013-01-26Merge pull request #2182 from gavinandresen/addressoracleGavin Andresen
Remove IsFromMe() check in CTxMemPool::accept()
2013-01-26Various performance tweaks to CCoinsViewPieter Wuille
* Pass txid's to CCoinsView functions by reference instead of by value * Add a method to swap CCoins, and use it in some places to avoid a allocating copy + destruct. * Optimize CCoinsViewCache::FetchCoins to do only a single search through the backing map.
2013-01-18Add optional transaction index to databasesPieter Wuille
By specifying -txindex when initializing the database, a txid-to-diskpos index is maintained in the blktree database. This database is used to help answering getrawtransaction() RPC queries, when enabled. Changing the -txindex value requires a -reindex; the client will abort at startup if the database and the specified -txindex mismatch.
2013-01-17Merge pull request #2060 from sipa/parallelGavin Andresen
Parallel script verification
2013-01-16Use CPartialMerkleTree for CMerkleBlock transactions.Matt Corallo
2013-01-16Add CPartialMerkleTreePieter Wuille
This adds a compact representation for a subset of a merkle tree's nodes.
2013-01-16Add a CMerkleBlock to store merkle branches of filtered txes.Matt Corallo
2013-01-16Add a CBlock.GetBlockHeaderMatt Corallo
2013-01-15Remove IsFromMe() check in CTxMemPool::accept()Gavin Andresen
Fixes issue #2178 : attacker could penny-flood with invalid-signature transactions to deduce which addresses belonged to your node. I'm committing this early for code review; I still need to write up a test plan. Executive summary of fix: check all transactions received from the network for penny-flood rate-limiting before adding to the memory pool. But do NOT ratelimit transactions added to the memory pool: - because of blockchain reorgs - stored in the wallet and added at startup - sent from the GUI or one of the send* RPC commands (CWallet::CommitTransaction) The limit-free-transactions code really should be a method on CNode, with counters per-peer. But that is a bigger change for another day.
2013-01-11small main.h cleanup (no code changes)Philip Kaufmann
- removes some obsolete comments about CTransaction::FetchInputs(), a space and a few new-lines
2013-01-11Merge pull request #2145 from sipa/checkcoinsGregory Maxwell
Coin database checks
2013-01-08Parallelize script verificationPieter Wuille
* During block verification (when parallelism is requested), script check actions are stored instead of being executed immediately. * After every processed transactions, its signature actions are pushed to a CScriptCheckQueue, which maintains a queue and some synchronization mechanism. * Two or more threads (if enabled) start processing elements from this queue, * When the block connection code is finished processing transactions, it joins the worker pool until the queue is empty. As cs_main is held the entire time, and all verification must be finished before the block continues processing, this does not reach the best possible performance. It is a less drastic change than some more advanced mechanisms (like doing verification out-of-band entirely, and rolling back blocks when a failure is detected). The -par=N flag controls the number of threads (1-16). 0 means auto, and is the default.
2013-01-08Remove CheckSig_mode and move logic out of CheckInputs()Pieter Wuille
2013-01-08Add CScriptCheck: a closure representing a script checkPieter Wuille
2013-01-08Move VerifySignature to mainPieter Wuille
2013-01-04New database check routinePieter Wuille
-checklevel gets a new meaning: 0: verify blocks can be read from disk (like before) 1: verify (contextless) block validity (like before) 2: verify undo files can be read and have good checksums 3: verify coin database is consistent with the last few blocks (close to level 6 before) 4: verify all validity rules of the last few blocks Level 3 is the new default, as it's reasonably fast. As level 3 and 4 are implemented using an in-memory rollback of the database, they are limited to as many blocks as possible without exceeding the limits set by -dbcache. The default of -dbcache=25 allows for some 150-200 blocks to be rolled back. In case an error is found, the application quits with a message instructing the user to restart with -reindex. Better instructions, and automatic recovery (when possible) or automatic reindexing are left as future work.
2013-01-03Add checksums to undo dataPieter Wuille
This should be compatible with older code that didn't write checksums.
2013-01-03Make DisconnectBlock fault-tolerantPieter Wuille
2012-12-19changed CreateNewBlock to return a CBlockTemplate object, which includes ↵Forrest Voight
per-tx fee and sigop count data
2012-12-17Fix two typos in main.hfanquake
Break one long comment down into 3 lines so it's readable.
2012-12-05Add -benchmark for reporting block processing timesPieter Wuille