aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2012-02-01Avoid advertising the node's address when it is not listening or ↵Gregory Maxwell
IsInitialBlockDownload(). This also avoids flushing setAddrKnown until 24 hours has passed, and avoids contacting the external IP services when not listening. Advertising non-listening nodes is just addr message spam. It doesn't help the network, in fact it hurts the network, and it also hurts user's privacy. Advertising far out of sync nodes doesn't help the network— they can't even forward (most) transactions and wastes nodes outbound slots.
2012-01-31Testnet difficulty calculation changes, to take effect Feb 15 2012Gavin Andresen
Allow mining of min-difficulty blocks if 20 minutes have gone by without mining a regular-difficulty block. Normal rules apply every 2016 blocks, though, so there may be a very-slow-to-confirm block at the difficulty-adjustment blocks.
2012-01-28CreateNewBlock was not adding in transaction fees.Gavin Andresen
2012-01-27Bitcoin-Qt signmessage GUI (pull request #582)Luke Dashjr
2012-01-25Merge pull request #773 from gavinandresen/p2shSigOpCountGavin Andresen
Simplify counting of P2SH sigops to match BIP 16
2012-01-23Merge branch 'bugfix_areinpstd' of https://github.com/luke-jr/bitcoinGavin Andresen
2012-01-23Only store transactions with missing inputs in the orphan pool.Gavin Andresen
All previous versions of bitcoin could store some types of invalid transactions in the orphan-transaction list.
2012-01-20Sanitize AreInputsStandard slightlyLuke Dashjr
Correct comment for why the check is unnecessary for coinbases Move testnet check out, to AcceptToMemoryPool where everything else checks it
2012-01-20Simplify counting of P2SH sigops to match BIP 16 (thanks to Matt Corallo for ↵Gavin Andresen
prompting this). This also removes an un-needed sigops-per-byte check when accepting transactions to the memory pool (un-needed assuming only standard transactions are being accepted). And it only counts P2SH sigops after the switchover date.
2012-01-14Separated COINBASE_FLAGS out into main.h and made RPC getmemorypool return itForrest Voight
2012-01-13Refactor: needing to call ConnectInputs to process coinbase transactions was ↵Gavin Andresen
counter-intuitive
2012-01-13Refactored ConnectInputs, so valid-transaction-checks are done before ↵Gavin Andresen
ECDSA-verifying signatures.
2012-01-13Replace OP_EVAL (BIP 12) with Pay-to-script-hash (BIP 16).Gavin Andresen
2012-01-12collect more info on tx pooling and block finding for getmininginfoLuke Dashjr
2012-01-12Merge pull request #743 from gavinandresen/blocknotifyGavin Andresen
-blocknotify : run a command when best-block changes
2012-01-06Network stack refactorPieter Wuille
This introduces CNetAddr and CService, respectively wrapping an (IPv6) IP address and an IP+port combination. This functionality used to be part of CAddress, which also contains network flags and connection attempt information. These extra fields are however not always necessary. These classes, along with logic for creating connections and doing name lookups, are moved to netbase.{h,cpp}, which does not depend on headers.h. Furthermore, CNetAddr is mostly IPv6-ready, though IPv6 functionality is not yet enabled for the application itself.
2012-01-03-blocknotify=command argument, implemented using system() and boost::threadGavin Andresen
2011-12-25Check all prevout.n if one transaction provides multiple inputsGavin Andresen
2011-12-25assert condition in previous commit was backwardsGavin Andresen
2011-12-25Check for valid prevout.n in FetchInputs.Gavin Andresen
IsStandardInputs could crash if given invalid input index.
2011-12-23Be more conservative: check all transactions in blocks after last checkpoint.Gavin Andresen
2011-12-21Revert "Use standard C99 (and Qt) types for 64-bit integers"Wladimir J. van der Laan
This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
2011-12-20Use standard C99 (and Qt) types for 64-bit integersLuke Dashjr
2011-12-20Merge pull request #677 from luke-jr/minfee_modesGavin Andresen
API: GetMinFee modes
2011-12-20Merge branch 'op_eval'Gavin Andresen
2011-12-19Code cleanup: use ECDSA_size() instead of fixed 10,000 byte sig buffer, and ↵Gavin Andresen
explicity init static var
2011-12-19Use std::numeric_limits<> for typesafe INT_MAX/etcGavin Andresen
2011-12-19Update bitcoin address numbers for latest luke-jr/sipa schemeGavin Andresen
2011-12-19Use block times for 'hard' OP_EVAL switchover, and refactored EvalScriptGavin Andresen
so it takes a flag for how to interpret OP_EVAL. Also increased IsStandard size of scriptSigs to 500 bytes, so a 3-of-3 multisig transaction IsStandard.
2011-12-19Put OP_EVAL string in coinbase of generated blocksGavin Andresen
2011-12-19OP_EVAL implementationGavin Andresen
OP_EVAL is a new opcode that evaluates an item on the stack as a script. It enables a new type of bitcoin address that needs an arbitrarily complex script to redeem.
2011-12-19Merge pull request #574 from sipa/dumpprivkeyGavin Andresen
Dumpprivkey
2011-12-19Implement BIP 14 : separate protocol version from client versionGavin Andresen
2011-12-17Preparations for key import/exportPieter Wuille
2011-12-14GetMinFee takes a mode parameter (GMF_{BLOCK,RELAY,SEND}) instead of fForRelayLuke Dashjr
2011-12-14Bugfix: fForRelay should be false when deciding required fee to include in ↵Luke Dashjr
blocks During the rushed transition from 0.01 BTC to 0.0005 BTC fees, we took the approach of dropping the relay and block-inclusion fee to 0.0005 BTC immediately, and only delayed adjusting the sending fee for the next release. Afterward, the relay fee was lowered to 0.0001 BTC to avoid having the same problem in the future. However, the block inclusion code was left setting fForRelay to true! This fixes that, so the lower 0.0001 BTC allowance is (as intended) only permitted for real relaying.
2011-12-01Orphan block fill-up-memory attack preventionGavin Andresen
2011-12-01Moved checkpoints out of main, to prep for using them to help prevent DoS ↵Gavin Andresen
attacks
2011-11-07Some extra commentsPieter Wuille
2011-10-06Merge pull request #564 from luke-jr/optimize_remove_CheckWork_delayGavin Andresen
Remove 2 second sleep from CheckWork
2011-10-05Merge branch 'no-cryptopp' of https://github.com/tcatm/bitcoinGavin Andresen
2011-10-04Remove 2 second sleep from CheckWorkDavid Joel Schwartz
2011-10-01Added RPC call 'getmemorypool' that provides everything needed to construct ↵Forrest Voight
a block with a custom generation transaction and submit a solution getmemorypool [data] If [data] is not specified, returns data needed to construct a block to work on: "version" : block version "previousblockhash" : hash of current highest block "transactions" : contents of non-coinbase transactions that should be included in the next block "coinbasevalue" : maximum allowable input to coinbase transaction, including the generation award and transaction fees "time" : timestamp appropriate for next block "bits" : compressed target of next block If [data] is specified, tries to solve the block and returns true if it was successful.
2011-09-30remove cryptopp dependency, add simple unittest for SHA256Transform()Nils Schneider
2011-09-28Merge branch 'master' of https://github.com/bitcoin/bitcoinWladimir J. van der Laan
Conflicts: .gitignore (used upstream version) bitcoin-qt.pro
2011-09-28use median filter for peer-reported reported number of blocksWladimir J. van der Laan
- fixes problem that one misconfigured or malicious node can mess up progress bar - implementation in src/util.h - testcase in src/test/util_tests.cpp
2011-09-27Remove DoS penalty for SigOpCount or immature transactionsGavin Andresen
2011-09-26Skip verifying transaction signatures during initial block-chain downloadGavin Andresen
2011-09-26Merge pull request #517 from gavinandresen/DoSpreventionGavin Andresen
Denial-of-service prevention
2011-09-26Merge pull request #521 from laanwj/qtGavin Andresen
Qt GUI