params-mainnet.go raw

   1  package chaincfg
   2  
   3  import (
   4  	"github.com/p9c/p9/pkg/wire"
   5  )
   6  
   7  // MainNetParams defines the network parameters for the main Bitcoin network.
   8  var MainNetParams = Params{
   9  	Name:        "mainnet",
  10  	Net:         wire.MainNet,
  11  	DefaultPort: "11047",
  12  	DNSSeeds: []DNSSeed{
  13  		{"seed1.parallelcoin.io", true},
  14  		{"seed2.parallelcoin.io", true},
  15  		{"seed3.parallelcoin.io", true},
  16  		{"seed4.parallelcoin.io", true},
  17  		{"seed5.parallelcoin.io", true},
  18  		{"185.69.55.35", true},
  19  		{"46.28.107.182", true},
  20  		{"91.206.16.214", true},
  21  		{"157.161.128.62", true},
  22  		{"85.15.179.171", true},
  23  		{"103.254.148.9", true},
  24  		{"144.217.73.92", true},
  25  		{"165.227.110.22", true},
  26  		{"194.135.88.119", true},
  27  		{"73.164.170.207", true},
  28  		{"76.176.77.120", true},
  29  		{"89.40.12.55", true},
  30  		{"coins.prohashing.com:6245", true},
  31  		//
  32  	},
  33  	// Chain parameters
  34  	GenesisBlock: &genesisBlock,
  35  	GenesisHash:  &genesisHash,
  36  	PowLimit:     &mainPowLimit,
  37  	PowLimitBits: MainPowLimitBits, // 0x1e0fffff,
  38  	// BIP0034Height:            math.MaxInt32,        // Reserved for future change
  39  	// BIP0065Height:            math.MaxInt32,
  40  	// BIP0066Height:            math.MaxInt32,
  41  	CoinbaseMaturity:         100,
  42  	SubsidyReductionInterval: 250000,
  43  	TargetTimespan:           TargetTimespan,
  44  	TargetTimePerBlock:       TargetTimePerBlock,
  45  	RetargetAdjustmentFactor: 2, // 50% less, 200% more (not used in parallelcoin)
  46  	ReduceMinDifficulty:      false,
  47  	MinDiffReductionTime:     0,
  48  	GenerateSupported:        true,
  49  	// Checkpoints ordered from oldest to newest.
  50  	Checkpoints: []Checkpoint{
  51  		// {, newHashFromStr("")},
  52  		// {200069, newHashFromStr("000000000000044e641986c8ee672460e853a11b352869cb8a4a8ba0b3f3e6dc")},
  53  	},
  54  	// Consensus rule change deployments.
  55  	//
  56  	// The miner confirmation window is defined as:
  57  	//   target proof of work timespan / target proof of work spacing
  58  	RuleChangeActivationThreshold: 1916, // 95% of MinerConfirmationWindow
  59  	MinerConfirmationWindow:       2016, //
  60  	// Deployments: [DefinedDeployments]ConsensusDeployment{
  61  	// 	DeploymentTestDummy: {
  62  	// 		BitNumber:  28,
  63  	// 		StartTime:  math.MaxUint64, // January 1, 2008 UTC
  64  	// 		ExpireTime: math.MaxUint64, // December 31, 2008 UTC
  65  	// 	},
  66  	// 	DeploymentCSV: {
  67  	// 		BitNumber:  0,
  68  	// 		StartTime:  math.MaxUint64, // May 1st, 2016
  69  	// 		ExpireTime: math.MaxUint64, // May 1st, 2017
  70  	// 	},
  71  	// 	DeploymentSegwit: {
  72  	// 		BitNumber:  1,
  73  	// 		StartTime:  math.MaxUint64, // November 15, 2016 UTC
  74  	// 		ExpireTime: math.MaxUint64, // November 15, 2017 UTC.
  75  	// 	},
  76  	// },
  77  	// Mempool parameters
  78  	RelayNonStdTxs: false,
  79  	// // Human-readable part for Bech32 encoded segwit addresses, as defined in
  80  	// // BIP 173.
  81  	// Bech32HRPSegwit: "p9", // always bc for main net
  82  	// Address encoding magics
  83  	PubKeyHashAddrID: 83,  // 0x00, // starts with 1
  84  	ScriptHashAddrID: 9,   // 0x05, // starts with 3
  85  	PrivateKeyID:     178, // 0x80, // starts with 5 (uncompressed) or K (compressed)
  86  	// WitnessPubKeyHashAddrID: 84,  // 0x06, // starts with p2
  87  	// WitnessScriptHashAddrID: 19,  // 0x0A, // starts with 7Xh
  88  	// BIP32 hierarchical deterministic extended key magics
  89  	HDPrivateKeyID: [4]byte{0x04, 0x88, 0xad, 0xe4}, // starts with xprv
  90  	HDPublicKeyID:  [4]byte{0x04, 0x88, 0xb2, 0x1e}, // starts with xpub
  91  	// BIP44 coin type used in the hierarchical deterministic path for address generation.
  92  	HDCoinType: 0,
  93  	// Parallelcoin specific difficulty adjustment parameters
  94  	Interval:                Interval,
  95  	AveragingInterval:       AveragingInterval, // Extend to target timespan to adjust better to hashpower (30000/300=100) post hardfork
  96  	AveragingTargetTimespan: AveragingTargetTimespan,
  97  	MaxAdjustDown:           MaxAdjustDown,
  98  	MaxAdjustUp:             MaxAdjustUp,
  99  	TargetTimespanAdjDown: AveragingTargetTimespan *
 100  		(Interval + MaxAdjustDown) / Interval,
 101  	MinActualTimespan:   2400,
 102  	MaxActualTimespan:   3300,
 103  	ScryptPowLimit:      &scryptPowLimit,
 104  	ScryptPowLimitBits:  ScryptPowLimitBits,
 105  	RPCClientPort:       "11048",
 106  	WalletRPCServerPort: "11046",
 107  	
 108  }
 109