@@ -146,9 +146,7 @@ type Params struct {
146146 GreatWallForkHeight int32 // May 15, 2019 hardfork
147147 GravitonForkHeight int32 // Nov 15, 2019 hardfork
148148 PhononForkHeight int32 // May 15, 2020 hardfork
149-
150- // Planned hardforks
151- AxionActivationTime uint64 // Nov 15, 2020 hardfork
149+ AxionActivationHeight int32 // Nov 15, 2020 hardfork
152150
153151 // CoinbaseMaturity is the number of blocks required before newly mined
154152 // coins (coinbase transactions) can be spent.
@@ -189,10 +187,22 @@ type Params struct {
189187 // NOTE: This only applies if ReduceMinDifficulty is true.
190188 MinDiffReductionTime time.Duration
191189
192- // AsertDifficultyHalflife the halflife parameter used by the asert
190+ // AsertDifficultyHalflife is the halflife parameter used by the asert
193191 // difficulty adjustment algorithm for the given network.
194192 AsertDifficultyHalflife int64
195193
194+ // AsertDifficultyAnchorHeight is the height of the asert difficulty
195+ // anchor block.
196+ AsertDifficultyAnchorHeight int32
197+
198+ // AsertDifficultyAnchorParentTimestamp is the timestamp of the asert difficulty
199+ // anchor block's parent.
200+ AsertDifficultyAnchorParentTimestamp int64
201+
202+ // AsertDifficultyAnchorBits is the bits of the asert difficulty
203+ // anchor block.
204+ AsertDifficultyAnchorBits uint32
205+
196206 // GenerateSupported specifies whether or not CPU mining is allowed.
197207 GenerateSupported bool
198208
@@ -264,19 +274,21 @@ var MainNetParams = Params{
264274 GreatWallForkHeight : 582679 , // 0000000000000000018596bdfd350a9fbc7297a62a3f510b74565d992d63d2ef
265275 GravitonForkHeight : 609135 , // 0000000000000000026f7ec9e79be2f5bb839f29ebcf734066d4bb9a13f6ea83
266276 PhononForkHeight : 635258 , // 000000000000000003302c47d01e78f1c86aa3b0e96b066761a5059bc8f5781a
267-
268- AxionActivationTime : 1605441600 ,
269-
270- CoinbaseMaturity : 100 ,
271- SubsidyReductionInterval : 210000 ,
272- TargetTimespan : time .Hour * 24 * 14 , // 14 days
273- TargetTimePerBlock : time .Minute * 10 , // 10 minutes
274- RetargetAdjustmentFactor : 4 , // 25% less, 400% more
275- ReduceMinDifficulty : false ,
276- NoDifficultyAdjustment : false ,
277- MinDiffReductionTime : 0 ,
278- AsertDifficultyHalflife : 2 * 24 * 3600 , // 2 days in seconds
279- GenerateSupported : false ,
277+ AxionActivationHeight : 661647 , // 00000000000000000083ed4b7a780d59e3983513215518ad75654bb02deee62f
278+
279+ CoinbaseMaturity : 100 ,
280+ SubsidyReductionInterval : 210000 ,
281+ TargetTimespan : time .Hour * 24 * 14 , // 14 days
282+ TargetTimePerBlock : time .Minute * 10 , // 10 minutes
283+ RetargetAdjustmentFactor : 4 , // 25% less, 400% more
284+ ReduceMinDifficulty : false ,
285+ NoDifficultyAdjustment : false ,
286+ MinDiffReductionTime : 0 ,
287+ AsertDifficultyHalflife : 2 * 24 * 3600 , // 2 days in seconds
288+ AsertDifficultyAnchorHeight : 661647 ,
289+ AsertDifficultyAnchorParentTimestamp : 1605447844 ,
290+ AsertDifficultyAnchorBits : 402971390 ,
291+ GenerateSupported : false ,
280292
281293 // Checkpoints ordered from oldest to newest.
282294 Checkpoints : []Checkpoint {
@@ -347,6 +359,17 @@ var MainNetParams = Params{
347359 "https://ipfs.io/ipfs/QmYhcrsLgGfRTuxoZUCPCEj5xzZx5sAgV32Z7p1qPerJBr" ,
348360 },
349361 },
362+ {
363+ Height : 661648 ,
364+ Hash : newHashFromStr ("0000000000000000029e471c41818d24b8b74c911071c4ef0b4a0509f9b5a8ce" ),
365+ UtxoSetHash : newHashFromStr ("fff228b2f788d2be35868fc2517d2557f856cbb9d6e2dad7310ab6054a29ef67" ),
366+ UtxoSetSize : 2931107971 ,
367+ UtxoSetSources : []string {
368+ "http://localhost:8080/ipfs/QmY9Anst9NB42RVSGZehNCF52B2DxAzAYXEPrLrar75VMT" ,
369+ "https://ipfs.greyh.at/ipfs/QmY9Anst9NB42RVSGZehNCF52B2DxAzAYXEPrLrar75VMT" ,
370+ "https://ipfs.io/ipfs/QmY9Anst9NB42RVSGZehNCF52B2DxAzAYXEPrLrar75VMT" ,
371+ },
372+ },
350373 },
351374
352375 // Consensus rule change deployments.
@@ -411,18 +434,20 @@ var RegressionNetParams = Params{
411434 DaaForkHeight : 0 , // Always active on regtest
412435 MagneticAnonomalyForkHeight : 1000 ,
413436 PhononForkHeight : 1000 ,
414-
415- AxionActivationTime : 1605441600 ,
416-
417- SubsidyReductionInterval : 150 ,
418- TargetTimespan : time .Hour * 24 * 14 , // 14 days
419- TargetTimePerBlock : time .Minute * 10 , // 10 minutes
420- RetargetAdjustmentFactor : 4 , // 25% less, 400% more
421- ReduceMinDifficulty : true ,
422- NoDifficultyAdjustment : true ,
423- MinDiffReductionTime : time .Minute * 20 , // TargetTimePerBlock * 2
424- AsertDifficultyHalflife : 3600 , // 1 hour
425- GenerateSupported : true ,
437+ AxionActivationHeight : 0 , // Always active on regtest
438+
439+ SubsidyReductionInterval : 150 ,
440+ TargetTimespan : time .Hour * 24 * 14 , // 14 days
441+ TargetTimePerBlock : time .Minute * 10 , // 10 minutes
442+ RetargetAdjustmentFactor : 4 , // 25% less, 400% more
443+ ReduceMinDifficulty : true ,
444+ NoDifficultyAdjustment : true ,
445+ MinDiffReductionTime : time .Minute * 20 , // TargetTimePerBlock * 2
446+ AsertDifficultyHalflife : 3600 , // 1 hour
447+ AsertDifficultyAnchorHeight : 0 ,
448+ AsertDifficultyAnchorParentTimestamp : regTestGenesisBlock .Header .Timestamp .Unix (),
449+ AsertDifficultyAnchorBits : regTestGenesisBlock .Header .Bits ,
450+ GenerateSupported : true ,
426451
427452 // Checkpoints ordered from oldest to newest.
428453 Checkpoints : nil ,
@@ -494,19 +519,21 @@ var TestNet3Params = Params{
494519 GreatWallForkHeight : 1303884 , // 00000000000001a749d7aa418c582a0e234ebc15643bf23a4f3107fa55120388
495520 GravitonForkHeight : 1341711 , // 00000000c678f67ea16d5bf803f68ce42991839d13849f77332d6f586f62d421
496521 PhononForkHeight : 1378460 , // 0000000070f33c64cb94629680fbc57d17bea354a73e693affcb366d023db324
497-
498- AxionActivationTime : 1605441600 ,
499-
500- CoinbaseMaturity : 100 ,
501- SubsidyReductionInterval : 210000 ,
502- TargetTimespan : time .Hour * 24 * 14 , // 14 days
503- TargetTimePerBlock : time .Minute * 10 , // 10 minutes
504- RetargetAdjustmentFactor : 4 , // 25% less, 400% more
505- ReduceMinDifficulty : true ,
506- NoDifficultyAdjustment : false ,
507- MinDiffReductionTime : time .Minute * 20 , // TargetTimePerBlock * 2
508- AsertDifficultyHalflife : 3600 , // 1 hour
509- GenerateSupported : false ,
522+ AxionActivationHeight : 1421481 , // 00000000062c7f32591d883c99fc89ebe74a83287c0f2b7ffeef72e62217d40b
523+
524+ CoinbaseMaturity : 100 ,
525+ SubsidyReductionInterval : 210000 ,
526+ TargetTimespan : time .Hour * 24 * 14 , // 14 days
527+ TargetTimePerBlock : time .Minute * 10 , // 10 minutes
528+ RetargetAdjustmentFactor : 4 , // 25% less, 400% more
529+ ReduceMinDifficulty : true ,
530+ NoDifficultyAdjustment : false ,
531+ MinDiffReductionTime : time .Minute * 20 , // TargetTimePerBlock * 2
532+ AsertDifficultyHalflife : 3600 , // 1 hour
533+ AsertDifficultyAnchorHeight : 1421481 ,
534+ AsertDifficultyAnchorParentTimestamp : 1605445400 ,
535+ AsertDifficultyAnchorBits : 486604799 ,
536+ GenerateSupported : false ,
510537
511538 // Checkpoints ordered from oldest to newest.
512539 Checkpoints : []Checkpoint {
@@ -523,6 +550,7 @@ var TestNet3Params = Params{
523550 {Height : 1000007 , Hash : newHashFromStr ("00000000001ccb893d8a1f25b70ad173ce955e5f50124261bbbc50379a612ddf" )},
524551 {Height : 1341712 , Hash : newHashFromStr ("00000000fffc44ea2e202bd905a9fbbb9491ef9e9d5a9eed4039079229afa35b" )},
525552 {Height : 1378461 , Hash : newHashFromStr ("0000000099f5509b5f36b1926bcf82b21d936ebeadee811030dfbbb7fae915d7" )},
553+ {Height : 1421482 , Hash : newHashFromStr ("0000000023e0680a8a062b3cc289a4a341124ce7fcb6340ede207e194d73b60a" )},
526554 },
527555
528556 // Consensus rule change deployments.
@@ -578,27 +606,31 @@ var SimNetParams = Params{
578606 DNSSeeds : []DNSSeed {}, // NOTE: There must NOT be any seeds.
579607
580608 // Chain parameters
581- GenesisBlock : & simNetGenesisBlock ,
582- GenesisHash : & simNetGenesisHash ,
583- PowLimit : simNetPowLimit ,
584- PowLimitBits : 0x207fffff ,
585- BIP0034Height : 0 , // Always active on simnet
586- BIP0065Height : 0 , // Always active on simnet
587- BIP0066Height : 0 , // Always active on simnet
588- UahfForkHeight : 0 , // Always active on simnet
589- DaaForkHeight : 2000 ,
590- MagneticAnonomalyForkHeight : 3000 ,
591- GreatWallForkHeight : 0 ,
592- CoinbaseMaturity : 100 ,
593- SubsidyReductionInterval : 210000 ,
594- TargetTimespan : time .Hour * 24 * 14 , // 14 days
595- TargetTimePerBlock : time .Minute * 10 , // 10 minutes
596- RetargetAdjustmentFactor : 4 , // 25% less, 400% more
597- ReduceMinDifficulty : true ,
598- NoDifficultyAdjustment : true ,
599- MinDiffReductionTime : time .Minute * 20 , // TargetTimePerBlock * 2
600- AsertDifficultyHalflife : 3600 , // 1 hour
601- GenerateSupported : true ,
609+ GenesisBlock : & simNetGenesisBlock ,
610+ GenesisHash : & simNetGenesisHash ,
611+ PowLimit : simNetPowLimit ,
612+ PowLimitBits : 0x207fffff ,
613+ BIP0034Height : 0 , // Always active on simnet
614+ BIP0065Height : 0 , // Always active on simnet
615+ BIP0066Height : 0 , // Always active on simnet
616+ UahfForkHeight : 0 , // Always active on simnet
617+ DaaForkHeight : 2000 ,
618+ MagneticAnonomalyForkHeight : 3000 ,
619+ GreatWallForkHeight : 0 ,
620+ AxionActivationHeight : 4000 ,
621+ CoinbaseMaturity : 100 ,
622+ SubsidyReductionInterval : 210000 ,
623+ TargetTimespan : time .Hour * 24 * 14 , // 14 days
624+ TargetTimePerBlock : time .Minute * 10 , // 10 minutes
625+ RetargetAdjustmentFactor : 4 , // 25% less, 400% more
626+ ReduceMinDifficulty : true ,
627+ NoDifficultyAdjustment : true ,
628+ MinDiffReductionTime : time .Minute * 20 , // TargetTimePerBlock * 2
629+ AsertDifficultyHalflife : 3600 , // 1 hour
630+ AsertDifficultyAnchorHeight : 0 ,
631+ AsertDifficultyAnchorParentTimestamp : simNetGenesisBlock .Header .Timestamp .Unix (),
632+ AsertDifficultyAnchorBits : simNetGenesisBlock .Header .Bits ,
633+ GenerateSupported : true ,
602634
603635 // Checkpoints ordered from oldest to newest.
604636 Checkpoints : nil ,
0 commit comments