aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Use DEFAULT_BLOCKSONLY and DEFAULT_WHITELISTALWAYSRELAY constantsPatick Strateman2015-11-141-1/+1
| | | | | |
| * | | | | Add whitelistalwaysrelay optionPatick Strateman2015-11-141-1/+1
| | | | | |
| * | | | | Do not process tx inv's in blocksonly modePatick Strateman2015-11-141-1/+1
| | |_|/ / | |/| | |
* / | | | don't enforce maxuploadtargets disconnect for whitelisted peersJonas Schnelli2015-11-131-1/+2
|/ / / /
* | | | Merge pull request #6639Wladimir J. van der Laan2015-11-121-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 58ef0ff doc: update docs for Tor listening (Wladimir J. van der Laan) 68ccdc4 doc: Mention Tor listening in release notes (Wladimir J. van der Laan) 09c1ae1 torcontrol improvements and fixes (Wladimir J. van der Laan) 2f796e5 Better error message if Tor version too old (Peter Todd) 8f4e67f net: Automatically create hidden service, listen on Tor (Wladimir J. van der Laan)
| * | | | net: Automatically create hidden service, listen on TorWladimir J. van der Laan2015-11-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket API, to create and destroy 'ephemeral' hidden services programmatically. https://stem.torproject.org/api/control.html#stem.control.Controller.create_ephemeral_hidden_service This means that if Tor is running (and proper authorization is available), bitcoin automatically creates a hidden service to listen on, without user manual configuration. This will positively affect the number of available .onion nodes. - When the node is started, connect to Tor through control socket - Send `ADD_ONION` command - First time: - Make it create a hidden service key - Save the key in the data directory for later usage - Make it redirect port 8333 to the local port 8333 (or whatever port we're listening on). - Keep control socket connection open for as long node is running. The hidden service will (by default) automatically go away when the connection is closed.
* | | | | Merge pull request #6918Wladimir J. van der Laan2015-11-121-1/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 69d373f Don't wipe the sigcache in TestBlockValidity (Pieter Wuille) 0b9e9dc Evict sigcache entries that are seen in a block (Pieter Wuille) 830e3f3 Make sigcache faster and more efficient (Pieter Wuille)
| * | | | | Don't wipe the sigcache in TestBlockValidityPieter Wuille2015-11-021-1/+2
| | | | | |
* | | | | | Merge pull request #6931Pieter Wuille2015-11-121-0/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 33c90cf Make skipping BIP30 check chain agnostic (Alex Morcos) 06d81ad Skip BIP30 check after BIP34 activation (Alex Morcos)
| * | | | | | Make skipping BIP30 check chain agnosticAlex Morcos2015-11-021-4/+4
| | | | | | |
| * | | | | | Skip BIP30 check after BIP34 activationAlex Morcos2015-11-021-0/+11
| | |_|_|/ / | |/| | | |
* | | | | | Merge pull request #6974Wladimir J. van der Laan2015-11-111-3/+3
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | 40b77d4 Always allow getheaders from whitelisted peers (Wladimir J. van der Laan)
| * | | | | Always allow getheaders from whitelisted peersWladimir J. van der Laan2015-11-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Process `getheaders` messages from whitelisted peers even if we are in initial block download. Whitelisted peers can always use a node as a block source. Also log a debug message when the request is ignored, for troubleshooting. Fixes #6971.
* | | | | | Merge pull request #6982Wladimir J. van der Laan2015-11-111-4/+3
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | 7267843 Globals: Make AcceptBlockHeader static (Fix #6163) (Jorge Timón)
| * | | | | Globals: Make AcceptBlockHeader static (Fix #6163)Jorge Timón2015-11-111-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | ..and at the same time prevent AcceptBlockHeader() from calling global function Params()
* | | | | | Merge pull request #6965Wladimir J. van der Laan2015-11-101-9/+19
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | 77f1f59 Benchmark sanity checks and fork checks in ConnectBlock (Matt Corallo)
| * | | | | Benchmark sanity checks and fork checks in ConnectBlockMatt Corallo2015-11-061-9/+19
| | |/ / / | |/| | |
* | | | | Merge pull request #6822Wladimir J. van der Laan2015-11-101-1/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | e20d924 [trivial] init: Use defaults MIN_RELAY_TX_FEE & TRANSACTION_MAXFEE (MarcoFalke) 536766c [trivial] New DEFAULT_MIN_RELAY_TX_FEE = 1000 (MarcoFalke) 5f46a7d transaction_tests: Be more strict checking dust (MarcoFalke)
| * | | | [trivial] New DEFAULT_MIN_RELAY_TX_FEE = 1000MarcoFalke2015-11-091-1/+1
| |/ / /
* | | | Merge pull request #6163Wladimir J. van der Laan2015-11-101-29/+35
|\ \ \ \ | |/ / / |/| | | | | | | 87cbdb8 Globals: Explicit Consensus::Params arg for main: (Jorge Timón)
| * | | Globals: Explicit Consensus::Params arg for main:Jorge Timón2015-10-301-29/+35
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | -CheckBlockIndex -DisconnectTip -GetTransaction -InvalidateBlock -ProcessGetData -ReadBlockFromDisk
* | | Merge pull request #6948Wladimir J. van der Laan2015-11-051-3/+8
|\ \ \ | | | | | | | | | | | | 22e7807 Always flush block and undo when switching to new file (Pieter Wuille)
| * | | Always flush block and undo when switching to new filePieter Wuille2015-11-051-3/+8
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | Previously, the undo weren't being flushed during a reindex because fKnown was set to true in FindBlockPos. That is the correct behaviour for block files as they aren't being touched, but undo files are touched. This changes the behaviour to always flush when switching to a new file (even for block files, though that isn't really necessary).
* | | Merge pull request #6934Wladimir J. van der Laan2015-11-051-5/+35
|\ \ \ | | | | | | | | | | | | | | | | d1c3762 Revert "Revert "Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints"" (Gregory Maxwell) e4e5334 Restore MedianTimePast for locktime. (Gregory Maxwell)
| * | | Restore MedianTimePast for locktime.Gregory Maxwell2015-11-031-5/+35
| |/ / | | | | | | | | | | | | | | | | | | | | | Revert "Revert "Add rules--presently disabled--for using GetMedianTimePast as endpoint for lock-time calculations"" This reverts commit 40cd32e835092c3158175511da5193193ec54939. After careful analysis it was determined that the change was, in fact, safe and several people were suffering momentary confusion about locktime semantics.
* | | Merge pull request #6887Wladimir J. van der Laan2015-11-051-1/+1
|\ \ \ | |/ / |/| | | | | | | | 53238ff Clarify what minrelaytxfee does (MarcoFalke) abd8b76 [qt] Properly display required fee instead of minTxFee (MarcoFalke)
| * | Clarify what minrelaytxfee doesMarcoFalke2015-11-031-1/+1
| | |
* | | Revert "Add rules--presently disabled--for using GetMedianTimePast as ↵Gregory Maxwell2015-11-011-35/+5
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | endpoint for lock-time calculations" This reverts commit 9d55050773d57c0e12005e524f2e54d9e622c6e2. As noted by Luke-Jr, under some conditions this will accept transactions which are invalid by the network rules. This happens when the current block time is head of the median time past and a transaction's locktime is in the middle. This could be addressed by changing the rule to MAX(this_block_time, MTP+offset) but this solution and the particular offset used deserve some consideration.
* | Merge pull request #6622Wladimir J. van der Laan2015-10-261-0/+10
|\ \ | | | | | | | | | | | | 17a073a Add RPC test for -maxuploadtarget (Suhas Daftuar) 872fee3 Introduce -maxuploadtarget (Jonas Schnelli)
| * | Introduce -maxuploadtargetJonas Schnelli2015-10-261-0/+10
| |/ | | | | | | | | | | | | * -maxuploadtarget can be set in MiB * if <limit> - ( time-left-in-24h-cycle / 600 * MAX_BLOCK_SIZE ) has reach, stop serve blocks older than one week and filtered blocks * no action if limit has reached, no guarantee that the target will not be surpassed * add outbound limit informations to rpc getnettotals
* / Add rules--presently disabled--for using GetMedianTimePast as endpoint for ↵Mark Friedenbach2015-10-231-5/+35
|/ | | | | | | | lock-time calculations The lock-time code currently uses CBlock::nTime as the cutoff point for time based locked transactions. This has the unfortunate outcome of creating a perverse incentive for miners to lie about the time of a block in order to collect more fees by including transactions that by wall clock determination have not yet matured. By using CBlockIndex::GetMedianTimePast from the prior block instead, the self-interested miner no longer gains from generating blocks with fraudulent timestamps. Users can compensate for this change by simply adding an hour (3600 seconds) to their time-based lock times. If enforced, this would be a soft-fork change. This commit only adds the functionality on an unexecuted code path, without changing the behaviour of Bitcoin Core.
* Merge pull request #6856Wladimir J. van der Laan2015-10-231-1/+1
|\ | | | | | | d3b09f6 Do not allow blockfile pruning during reindex. (Alex Morcos)
| * Do not allow blockfile pruning during reindex.Alex Morcos2015-10-191-1/+1
| | | | | | | | Also clarify startup message.
* | Merge pull request #6351Wladimir J. van der Laan2015-10-231-1/+13
|\ \ | | | | | | | | | | | | | | | 65ef372 Add BIP65 to getblockchaininfo softforks list (Peter Todd) cde7ab2 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd) 287f54f Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
| * | Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logicPeter Todd2015-10-081-1/+13
| | | | | | | | | | | | | | | Based on the earlier BIP66 soft-fork logic implemented by Pieter Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
* | | Merge pull request #6722Wladimir J. van der Laan2015-10-211-20/+38
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 58254aa Fix stale comment in CTxMemPool::TrimToSize. (Matt Corallo) 2bc5018 Fix comment formatting tabs (Matt Corallo) 8abe0f5 Undo GetMinFee-requires-extra-call-to-hit-0 (Matt Corallo) 9e93640 Drop minRelayTxFee to 1000 (Matt Corallo) 074cb15 Add reasonable test case for mempool trimming (Matt Corallo) d355cf4 Only call TrimToSize once per reorg/blocks disconnect (Matt Corallo) 794a8ce Implement on-the-fly mempool size limitation. (Matt Corallo) e6c7b36 Print mempool size in KB when adding txn (Matt Corallo) 241d607 Add CFeeRate += operator (Matt Corallo) e8bcdce Track (and define) ::minRelayTxFee in CTxMemPool (Matt Corallo) 9c9b66f Fix calling mempool directly, instead of pool, in ATMP (Matt Corallo) 49b6fd5 Add Mempool Expire function to remove old transactions (Pieter Wuille) 78b82f4 Reverse the sort on the mempool's feerate index (Suhas Daftuar)
| * | | Drop minRelayTxFee to 1000Matt Corallo2015-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no exact science to setting this parameter, but 5000 (just over 1 US cent at the time of writing) is higher than the cost to relay a transaction around the network (the new benchmark due to mempool limiting).
| * | | Only call TrimToSize once per reorg/blocks disconnectMatt Corallo2015-10-131-9/+18
| | | |
| * | | Implement on-the-fly mempool size limitation.Matt Corallo2015-10-131-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After each transaction which is added to mempool, we first call Expire() to remove old transactions, then throwing away the lowest-feerate transactions. After throwing away transactions by feerate, we set the minimum relay fee to the maximum fee transaction-and-dependant-set we removed, plus the default minimum relay fee. After the next block is received, the minimum relay fee is allowed to decrease exponentially. Its halflife defaults to 12 hours, but is decreased to 6 hours if the mempool is smaller than half its maximum size, and 3 hours if the mempool is smaller than a quarter its maximum size. The minimum -maxmempool size is 40*-limitdescendantsize, as it is easy for an attacker to play games with the cheapest -limitdescendantsize transactions. -maxmempool defaults to 300MB. This disables high-priority transaction relay when the min relay fee adjustment is >0 (ie when the mempool is full). When the relay fee adjustment drops below the default minimum relay fee / 2 it is set to 0 (re-enabling priority-based free relay).
| * | | Print mempool size in KB when adding txnMatt Corallo2015-10-131-2/+2
| | | |
| * | | Fix calling mempool directly, instead of pool, in ATMPMatt Corallo2015-10-131-12/+9
| | |/ | |/|
* / | doc: add comment explaining initial header requestDaniel Kraft2015-10-141-1/+10
|/ / | | | | | | | | | | | | Add a comment that explains why the initial "getheader" requests are made starting from the block preceding the currently best one. Thanks to sdaftuar for the explanation!
* / Bump minrelaytxfee defaultWladimir J. van der Laan2015-10-091-1/+1
|/ | | | | | | | | To bridge the time until a dynamic method for determining this fee is merged. This is especially aimed at the stable releases (0.10, 0.11) because full mempool limiting, as will be in 0.12, is too invasive and risky to backport.
* Merge pull request #5987Wladimir J. van der Laan2015-10-011-1/+1
|\ | | | | | | e761d7a Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
| * Bugfix: Allow mining on top of old tip blocks for testnet (fixes ↵Luke Dashjr2015-09-291-1/+1
| | | | | | | | testnet-in-a-box use case)
* | Merge pull request #6588Jeff Garzik2015-10-011-7/+7
|\ \
| * | In (strCommand == "tx"), return if AlreadyHave()Tom Harding2015-09-031-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main effect is to exit processing for recently-rejected hashes, in case they are pushed to us without prior advertisement. This behavior was seen in the wild. An additional effect is to do early checks for mempool or mapOrphan existence. No logging or nDoS tracking is needed for failures of these checks.
* | | Merge pull request #6680Wladimir J. van der Laan2015-09-301-1/+1
|\ \ \ | | | | | | | | | | | | d76a8ac use CBlockIndex* insted of uint256 for UpdatedBlockTip signal (Jonas Schnelli)
| * | | use CBlockIndex* insted of uint256 for UpdatedBlockTip signalJonas Schnelli2015-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | - removes mapBlockIndex find operation - theoretically allows removing the cs_main lock during zqm notification while introducing a new file position lock
* | | | Merge pull request #6550Wladimir J. van der Laan2015-09-231-1/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 3b33ec8 Avoid duplicate CheckBlock checks (Pieter Wuille) 391dff1 Do not store Merkle branches in the wallet. (Pieter Wuille)