aboutsummaryrefslogtreecommitdiff
path: root/src/chainparams.cpp
AgeCommit message (Collapse)Author
2017-02-16Update nMinimumChainWork and defaultAssumeValid.Gregory Maxwell
2017-02-09Remove bitseed.xf2.org form the dns seed listJonas Schnelli
2017-01-13Introduce assumevalid setting to skip presumed valid scripts.Gregory Maxwell
This disentangles the script validation skipping from checkpoints. A new option is introduced "assumevalid" which specifies a block whos ancestors we assume all have valid scriptsigs and so we do not check them when they are also burried under the best header by two weeks worth of work. Unlike checkpoints this has no influence on consensus unless you set it to a block with an invalid history. Because of this it can be easily be updated without risk of influencing the network consensus. This results in a massive IBD speedup. This approach was independently recommended by Peter Todd and Luke-Jr since POW based signature skipping (see PR#9180) does not have the verifiable properties of a specific hash and may create bad incentives. The downside is that, like checkpoints, the defaults bitrot and older releases will sync slower. On the plus side users can provide their own value here, and if they set it to something crazy all that will happen is more time will be spend validating signatures. Checkblocks and checklevel are also moved to the hidden debug options: Especially now that checkblocks has a low default there is little need to change these settings, and users frequently misunderstand them as influencing security or IBD speed. By hiding them we offset the space added by this new option.
2017-01-11Update estimated transaction count dataPieter Wuille
2017-01-11Shorten variable names and switch to tx/sPieter Wuille
2017-01-04Move tx estimation data out of CCheckPointDataPieter Wuille
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-11-19Introduce convenience type CTransactionRefPieter Wuille
2016-11-19Make CBlock::vtx a vector of shared_ptr<CTransaction>Pieter Wuille
2016-11-02IBD check uses minimumchain work instead of checkpoints.Gregory Maxwell
This introduces a 'minimum chain work' chainparam which is intended to be the known amount of work in the chain for the network at the time of software release. If you don't have this much work, you're not yet caught up. This is used instead of the count of blocks test from checkpoints. This criteria is trivial to keep updated as there is no element of subjectivity, trust, or position dependence to it. It is also a more reliable metric of sync status than a block count.
2016-10-18Merge #8921: RPC: Chainparams: Remove ↵Wladimir J. van der Laan
Chainparams::fTestnetToBeDeprecatedFieldRPC b26a7b5 RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPC (Jorge Timón)
2016-10-18RPC: Chainparams: Remove Chainparams::fTestnetToBeDeprecatedFieldRPCJorge Timón
2016-10-17My DNS seed supports filteringChristian Decker
Currently supports filtering by any combination of the 4 least significant bits.
2016-10-17Add x9 service bit support to dnsseed.bluematt.meMatt Corallo
2016-10-17Comment that most dnsseeds only support some service bits combosMatt Corallo
2016-10-17Define start and end time for segwit deploymentPieter Wuille
2016-08-24Set jonasschnellis dns-seeder filter flagJonas Schnelli
2016-08-04Merge #8391: Consensus: Remove ISMWladimir J. van der Laan
122786d Consensus: Remove ISM (NicolasDorier)
2016-07-29Allow changing BIP9 parameters on regtestSuhas Daftuar
2016-07-23Consensus: Remove ISMNicolasDorier
2016-06-24Merge #8149: Segregated witness rebasedWladimir J. van der Laan
f852813 BIP9 parameters for testnet (Johnson Lau) 070dbc4 --- [SEGWIT] begin: deployment --- (Pieter Wuille) fdb43df [qa] Add GetTransactionSigOpCost unit tests (Jonas Nick) d846e02 [qa] script_tests: witness tests can specify tx amount (Suhas Daftuar) 330b0f3 [qa] p2p segwit tests (Suhas Daftuar) 4f7ff00 [qa] Add rpc test for segwit (Alex Morcos) 66cca79 [qa] Autogeneration support for witness in script_tests (Pieter Wuille) 06d3805 [qa] Add segwit support to script_tests (Pieter Wuille) 00f46cb [qa] Add transaction tests for segwit (NicolasDorier) 0aa9207 [qa] Witness version 0 signing unit tests (Pieter Wuille) 978e200 --- [SEGWIT] begin: tests --- (Pieter Wuille) 745eb67 [RPC] signrawtransaction can sign P2WSH (NicolasDorier) f4691ab [RPC] Add wallet support for witness transactions (using P2SH) (Pieter Wuille) 605e847 BIP143: Signing logic (Pieter Wuille) 9757b57 --- [SEGWIT] begin: wallet --- (Pieter Wuille) af87a67 Do not use compact blocks when segwit is enabled (Pieter Wuille) 6032f69 Add rewind logic to deal with post-fork software updates (Pieter Wuille) b7dbeb2 [libconsensus] Script verification API with amounts (Thomas Kerin) 2b1f6f9 BIP141: Other consensus critical limits, and BIP145 (Pieter Wuille) 7c4bf77 [RPC] Return witness data in blockchain RPCs (Johnson Lau) 3dd4102 BIP143: Verification logic (Pieter Wuille) 0ef1dd3 Refactor script validation to observe amounts (Pieter Wuille) b8a9749 BIP144: Handshake and relay (receiver side) (Pieter Wuille) 8b49040 BIP141: Commitment structure and deployment (Pieter Wuille) 449f9b8 BIP141: Witness program (Pieter Wuille) 7030d9e BIP144: Serialization, hashes, relay (sender side) (Pieter Wuille) ecacfd9 --- [SEGWIT] begin: P2P/node/consensus --- (Pieter Wuille)
2016-06-23Mark my dnsseed as supporting filteringPieter Wuille
2016-06-23Merge #8204: Update petertodd's testnet seedWladimir J. van der Laan
d80efec Update petertodd's testnet seed (Peter Todd)
2016-06-22BIP9 parameters for testnetJohnson Lau
2016-06-22BIP141: Commitment structure and deploymentPieter Wuille
Includes a fix by Suhas Daftuar and LongShao007
2016-06-15Do not set extra flags for unfiltered DNS seed resultsPieter Wuille
2016-06-15Update petertodd's testnet seedPeter Todd
New seed with servicebit filtering support.
2016-05-25Add support for dnsseeds with option to filter by servicebitsJonas Schnelli
2016-04-03[doc] Fix doxygen comments for membersMarcoFalke
2016-03-30Merge #7648: BIP9 versionbits softfork for BIP68, BIP112 and BIP113Wladimir J. van der Laan
71527a0 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier) 19d73d5 Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos) 12c89c9 Policy: allow transaction version 2 relay policy. (BtcDrak) 02c2435 Soft fork logic for BIP68 (BtcDrak) 478fba6 Soft fork logic for BIP113 (BtcDrak) 65751a3 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
2016-03-18Remove alert keysBtcDrak
2016-03-18Add CHECKSEQUENCEVERIFY softfork through BIP9Pieter Wuille
2016-03-15Add testing of ComputeBlockVersionSuhas Daftuar
2016-03-15BIP9 ImplementationPieter Wuille
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and based on code by Jorge Timon.
2016-01-18Merge pull request #7208Wladimir J. van der Laan
64360f1 Make max tip age an option instead of chainparam (Wladimir J. van der Laan)
2016-01-05Merge pull request #7205Wladimir J. van der Laan
fa71669 [devtools] Use git pretty-format for year parsing (MarcoFalke) fa24439 Bump copyright headers to 2015 (MarcoFalke) fa6ad85 [devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
2015-12-15Removed offline testnet DNSSeed 'alexykot.me'.Elias Rohrer
2015-12-14Make max tip age an option instead of chainparamWladimir J. van der Laan
After discussion in #7164 I think this is better. Max tip age was introduced in #5987 to make it possible to run testnet-in-a-box. But associating this behavior with the testnet chain is wrong conceptually, as it is not needed in normal usage. Should aim to make testnet test the software as-is. Replace it with a (debug) option `-maxtipage`, which can be specified only in the specific case.
2015-12-13Bump copyright headers to 2015MarcoFalke
2015-11-27Switch blocks to a constant-space Merkle root/branch algorithm.Pieter Wuille
This switches the Merkle tree logic for blocks to one that runs in constant (small) space. The old code is moved to tests, and a new test is added that for various combinations of block sizes, transaction positions to compute a branch for, and mutations: * Verifies that the old code and new code agree for the Merkle root. * Verifies that the old code and new code agree for the Merkle branch. * Verifies that the computed Merkle branch is valid. * Verifies that mutations don't change the Merkle root. * Verifies that mutations are correctly detected.
2015-11-02Make skipping BIP30 check chain agnosticAlex Morcos
2015-10-20Merge pull request #6235Wladimir J. van der Laan
55a8975 Chainparams: Translations: DRY: options and error strings (Jorge Timón) f3525e2 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) (Jorge Timón)
2015-10-20Chainparams: Translations: DRY: options and error stringsJorge Timón
Also remove SelectBaseParamsFromCommandLine and SelectParamsFromCommandLine
2015-10-20Chainparams: Replace CBaseChainParams::Network enum with string constants ↵Jorge Timón
(suggested by Wladimir)
2015-10-19Added fPowNoRetargeting field to Consensus::Params that disables nBits ↵Eric Lombrozo
recalculation.
2015-10-01Merge pull request #5987Wladimir J. van der Laan
e761d7a Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
2015-09-29Bugfix: Allow mining on top of old tip blocks for testnet (fixes ↵Luke Dashjr
testnet-in-a-box use case)
2015-09-22Do not store Merkle branches in the wallet.Pieter Wuille
Assume that when a wallet transaction has a valid block hash and transaction position in it, the transaction is actually there. We're already trusting wallet data in a much more fundamental way anyway. To prevent backward compatibility issues, a new record is used for storing the block locator in the wallet. Old wallets will see a wallet file synchronized up to the genesis block, and rescan automatically.
2015-08-20Merge pull request #6242Wladimir J. van der Laan
17221bf chainparams: don't use std namespace (Cory Fields) f0deec5 chainparams: move CCheckpointData into chainparams.h (Cory Fields)
2015-07-29Clean up chainparams some more.Daniel Kraft
Clean up the code in chainparams a bit more after the recent refactorings. In particular, make sure the structure of the "RegTest" params matches the structure of the other classes. This makes the code clearer to read. Also remove redundant values of the genesis block in always-specified optional arguments and mark variable/argument as "const".