Dash Core  0.12.2.1
P2P Digital Currency
chainparams.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2015 The Bitcoin Core developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 
6 #ifndef BITCOIN_CHAINPARAMS_H
7 #define BITCOIN_CHAINPARAMS_H
8 
9 #include "chainparamsbase.h"
10 #include "consensus/params.h"
11 #include "primitives/block.h"
12 #include "protocol.h"
13 
14 #include <vector>
15 
16 struct CDNSSeedData {
17  std::string name, host;
18  CDNSSeedData(const std::string &strName, const std::string &strHost) : name(strName), host(strHost) {}
19 };
20 
21 struct SeedSpec6 {
22  uint8_t addr[16];
23  uint16_t port;
24 };
25 
26 typedef std::map<int, uint256> MapCheckpoints;
27 
33 };
34 
43 {
44 public:
45  enum Base58Type {
48  SECRET_KEY, // BIP16
49  EXT_PUBLIC_KEY, // BIP32
50  EXT_SECRET_KEY, // BIP32
51 
53  };
54 
55  const Consensus::Params& GetConsensus() const { return consensus; }
57  const std::vector<unsigned char>& AlertKey() const { return vAlertPubKey; }
58  int GetDefaultPort() const { return nDefaultPort; }
59 
60  const CBlock& GenesisBlock() const { return genesis; }
62  bool MiningRequiresPeers() const { return fMiningRequiresPeers; }
66  bool RequireStandard() const { return fRequireStandard; }
67  int64_t MaxTipAge() const { return nMaxTipAge; }
68  int64_t DelayGetHeadersTime() const { return nDelayGetHeadersTime; }
69  uint64_t PruneAfterHeight() const { return nPruneAfterHeight; }
71  bool MineBlocksOnDemand() const { return fMineBlocksOnDemand; }
75  std::string NetworkIDString() const { return strNetworkID; }
76  const std::vector<CDNSSeedData>& DNSSeeds() const { return vSeeds; }
77  const std::vector<unsigned char>& Base58Prefix(Base58Type type) const { return base58Prefixes[type]; }
78  int ExtCoinType() const { return nExtCoinType; }
79  const std::vector<SeedSpec6>& FixedSeeds() const { return vFixedSeeds; }
80  const CCheckpointData& Checkpoints() const { return checkpointData; }
81  int PoolMaxTransactions() const { return nPoolMaxTransactions; }
83  std::string SporkPubKey() const { return strSporkPubKey; }
84 protected:
86 
90  std::vector<unsigned char> vAlertPubKey;
92  long nMaxTipAge;
95  std::vector<CDNSSeedData> vSeeds;
96  std::vector<unsigned char> base58Prefixes[MAX_BASE58_TYPES];
98  std::string strNetworkID;
100  std::vector<SeedSpec6> vFixedSeeds;
109  std::string strSporkPubKey;
111 };
112 
117 const CChainParams &Params();
118 
122 CChainParams& Params(const std::string& chain);
123 
128 void SelectParams(const std::string& chain);
129 
130 #endif // BITCOIN_CHAINPARAMS_H
const std::vector< CDNSSeedData > & DNSSeeds() const
Definition: chainparams.h:76
int64_t nDelayGetHeadersTime
Definition: chainparams.h:93
const std::vector< SeedSpec6 > & FixedSeeds() const
Definition: chainparams.h:79
const std::vector< unsigned char > & AlertKey() const
Definition: chainparams.h:57
std::string NetworkIDString() const
Definition: chainparams.h:75
std::vector< SeedSpec6 > vFixedSeeds
Definition: chainparams.h:100
std::map< int, uint256 > MapCheckpoints
Definition: chainparams.h:26
int64_t MaxTipAge() const
Definition: chainparams.h:67
int nFulfilledRequestExpireTime
Definition: chainparams.h:108
const Consensus::Params & GetConsensus() const
Definition: chainparams.h:55
int nDefaultPort
Definition: chainparams.h:91
std::string name
Definition: chainparams.h:17
uint16_t port
Definition: chainparams.h:23
int PoolMaxTransactions() const
Definition: chainparams.h:81
CBlock genesis
Definition: chainparams.h:99
CDNSSeedData(const std::string &strName, const std::string &strHost)
Definition: chainparams.h:18
int ExtCoinType() const
Definition: chainparams.h:78
std::vector< unsigned char > vAlertPubKey
Raw pub key bytes for the broadcast alert signing key.
Definition: chainparams.h:90
std::vector< CDNSSeedData > vSeeds
Definition: chainparams.h:95
bool fMineBlocksOnDemand
Definition: chainparams.h:104
int GetDefaultPort() const
Definition: chainparams.h:58
uint64_t nPruneAfterHeight
Definition: chainparams.h:94
const CBlock & GenesisBlock() const
Definition: chainparams.h:60
long nMaxTipAge
Definition: chainparams.h:92
int nPoolMaxTransactions
Definition: chainparams.h:107
uint64_t PruneAfterHeight() const
Definition: chainparams.h:69
bool fRequireStandard
Definition: chainparams.h:103
int FulfilledRequestExpireTime() const
Definition: chainparams.h:82
int nExtCoinType
Definition: chainparams.h:97
bool TestnetToBeDeprecatedFieldRPC() const
Definition: chainparams.h:73
void SelectParams(const std::string &chain)
CMessageHeader::MessageStartChars pchMessageStart
Definition: chainparams.h:88
int64_t nTransactionsLastCheckpoint
Definition: chainparams.h:31
std::vector< unsigned char > base58Prefixes[MAX_BASE58_TYPES]
Definition: chainparams.h:96
const CMessageHeader::MessageStartChars & MessageStart() const
Definition: chainparams.h:56
const CCheckpointData & Checkpoints() const
Definition: chainparams.h:80
std::string host
Definition: chainparams.h:17
std::string SporkPubKey() const
Definition: chainparams.h:83
std::string strSporkPubKey
Definition: chainparams.h:109
const CChainParams & Params()
int64_t nTimeLastCheckpoint
Definition: chainparams.h:30
bool fDefaultConsistencyChecks
Definition: chainparams.h:102
Consensus::Params consensus
Definition: chainparams.h:87
unsigned char MessageStartChars[MESSAGE_START_SIZE]
Definition: protocol.h:32
bool fTestnetToBeDeprecatedFieldRPC
Definition: chainparams.h:105
bool fMiningRequiresPeers
Definition: chainparams.h:101
bool RequireStandard() const
Definition: chainparams.h:66
int64_t DelayGetHeadersTime() const
Definition: chainparams.h:68
bool MiningRequiresPeers() const
Definition: chainparams.h:62
CCheckpointData checkpointData
Definition: chainparams.h:106
MapCheckpoints mapCheckpoints
Definition: chainparams.h:29
std::string strNetworkID
Definition: chainparams.h:98
Definition: block.h:73
bool MineBlocksOnDemand() const
Definition: chainparams.h:71
uint8_t addr[16]
Definition: chainparams.h:22
std::string strMasternodePaymentsPubKey
Definition: chainparams.h:110
const std::vector< unsigned char > & Base58Prefix(Base58Type type) const
Definition: chainparams.h:77
bool DefaultConsistencyChecks() const
Definition: chainparams.h:64
double fTransactionsPerDay
Definition: chainparams.h:32