Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13711179
params.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
params.h
View Options
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_CONSENSUS_PARAMS_H
#define BITCOIN_CONSENSUS_PARAMS_H
#include
"uint256.h"
#include
<map>
#include
<string>
namespace
Consensus
{
enum
DeploymentPos
{
DEPLOYMENT_TESTDUMMY
,
// NOTE: Also add new deployments to VersionBitsDeploymentInfo in
// versionbits.cpp
MAX_VERSION_BITS_DEPLOYMENTS
};
/**
* Struct for each individual consensus rule change using BIP9.
*/
struct
BIP9Deployment
{
/** Bit position to select the particular bit in nVersion. */
int
bit
;
/**
* Start MedianTime for version bits miner confirmation. Can be a date in
* the past.
*/
int64_t
nStartTime
;
/** Timeout/expiry MedianTime for the deployment attempt. */
int64_t
nTimeout
;
};
/**
* Parameters that influence chain consensus.
*/
struct
Params
{
uint256
hashGenesisBlock
;
int
nSubsidyHalvingInterval
;
/** Block height and hash at which BIP34 becomes active */
int
BIP34Height
;
uint256
BIP34Hash
;
/** Block height at which BIP65 becomes active */
int
BIP65Height
;
/** Block height at which BIP66 becomes active */
int
BIP66Height
;
/** Block height at which CSV (BIP68, BIP112 and BIP113) becomes active */
int
CSVHeight
;
/** Block height at which UAHF kicks in */
int
uahfHeight
;
/** Block height at which the new DAA becomes active */
int
daaHeight
;
/** Block height at which the magnetic anomaly activation becomes active */
int
magneticAnomalyHeight
;
/** Unix time used for MTP activation of 15 May 2019 12:00:00 UTC upgrade */
int
greatWallActivationTime
;
/** Unix time used for MTP activation of Nov 15 2019 12:00:00 UTC upgrade */
int
gravitonActivationTime
;
/**
* Minimum blocks including miner confirmation of the total of 2016 blocks
* in a retargeting period, (nPowTargetTimespan / nPowTargetSpacing) which
* is also used for BIP9 deployments.
* Examples: 1916 for 95%, 1512 for testchains.
*/
uint32_t
nRuleChangeActivationThreshold
;
uint32_t
nMinerConfirmationWindow
;
BIP9Deployment
vDeployments
[
MAX_VERSION_BITS_DEPLOYMENTS
];
/** Proof of work parameters */
uint256
powLimit
;
bool
fPowAllowMinDifficultyBlocks
;
bool
fPowNoRetargeting
;
int64_t
nPowTargetSpacing
;
int64_t
nPowTargetTimespan
;
int64_t
DifficultyAdjustmentInterval
()
const
{
return
nPowTargetTimespan
/
nPowTargetSpacing
;
}
uint256
nMinimumChainWork
;
uint256
defaultAssumeValid
;
};
}
// namespace Consensus
#endif
// BITCOIN_CONSENSUS_PARAMS_H
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sun, Apr 27, 10:43 (1 d, 5 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5573321
Default Alt Text
params.h (2 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment