|
38 | 38 | // simNetPowLimit is the highest proof of work value a Bitcoin block
|
39 | 39 | // can have for the simulation test network. It is the value 2^255 - 1.
|
40 | 40 | simNetPowLimit = new(big.Int).Sub(new(big.Int).Lsh(bigOne, 255), bigOne)
|
| 41 | + |
| 42 | + // sigNetPowLimit is the highest proof of work value a bitcoin block can |
| 43 | + // have for the signet test network. It is the value 0x0377ae << 212. |
| 44 | + sigNetPowLimit = new(big.Int).Lsh(new(big.Int).SetInt64(0x0377ae), 212) |
41 | 45 | )
|
42 | 46 |
|
43 | 47 | // Checkpoint identifies a known good point in the block chain. Using
|
@@ -96,6 +100,11 @@ const (
|
96 | 100 | // includes the deployment of BIPS 141, 142, 144, 145, 147 and 173.
|
97 | 101 | DeploymentSegwit
|
98 | 102 |
|
| 103 | + // DeploymentTaproot defines the rule change deployment ID for the |
| 104 | + // Taproot (+Schnorr) soft-fork package. The taproot package includes |
| 105 | + // the deployment of BIPS 340, 341 and 342. |
| 106 | + DeploymentTaproot |
| 107 | + |
99 | 108 | // NOTE: DefinedDeployments must always come last since it is used to
|
100 | 109 | // determine how many defined deployments there currently are.
|
101 | 110 |
|
@@ -578,6 +587,91 @@ var SimNetParams = Params{
|
578 | 587 | HDCoinType: 115, // ASCII for s
|
579 | 588 | }
|
580 | 589 |
|
| 590 | +// SigNetParams defines the network parameters for the signet Bitcoin network. |
| 591 | +// Not to be confused with the regression test network, this network is |
| 592 | +// sometimes simply called "signet". |
| 593 | +var SigNetParams = Params{ |
| 594 | + Name: "signet", |
| 595 | + Net: wire.SigNet, |
| 596 | + DefaultPort: "38333", |
| 597 | + DNSSeeds: []DNSSeed{ |
| 598 | + {"178.128.221.177", false}, |
| 599 | + {"2a01:7c8:d005:390::5", false}, |
| 600 | + {"v7ajjeirttkbnt32wpy3c6w3emwnfr3fkla7hpxcfokr3ysd3kqtzmqd.onion:38333", false}, |
| 601 | + }, |
| 602 | + |
| 603 | + // Chain parameters |
| 604 | + GenesisBlock: &sigNetGenesisBlock, |
| 605 | + GenesisHash: &sigNetGenesisHash, |
| 606 | + PowLimit: sigNetPowLimit, |
| 607 | + PowLimitBits: 0x1e0377ae, |
| 608 | + BIP0034Height: 1, |
| 609 | + BIP0065Height: 1, |
| 610 | + BIP0066Height: 1, |
| 611 | + CoinbaseMaturity: 100, |
| 612 | + SubsidyReductionInterval: 210000, |
| 613 | + TargetTimespan: time.Hour * 24 * 14, // 14 days |
| 614 | + TargetTimePerBlock: time.Minute * 10, // 10 minutes |
| 615 | + RetargetAdjustmentFactor: 4, // 25% less, 400% more |
| 616 | + ReduceMinDifficulty: true, |
| 617 | + MinDiffReductionTime: time.Minute * 20, // TargetTimePerBlock * 2 |
| 618 | + GenerateSupported: false, |
| 619 | + |
| 620 | + // Checkpoints ordered from oldest to newest. |
| 621 | + Checkpoints: nil, |
| 622 | + |
| 623 | + // Consensus rule change deployments. |
| 624 | + // |
| 625 | + // The miner confirmation window is defined as: |
| 626 | + // target proof of work timespan / target proof of work spacing |
| 627 | + RuleChangeActivationThreshold: 1512, // 95% of 2016 |
| 628 | + MinerConfirmationWindow: 2016, |
| 629 | + Deployments: [DefinedDeployments]ConsensusDeployment{ |
| 630 | + DeploymentTestDummy: { |
| 631 | + BitNumber: 28, |
| 632 | + StartTime: 1199145601, // January 1, 2008 UTC |
| 633 | + ExpireTime: 1230767999, // December 31, 2008 UTC |
| 634 | + }, |
| 635 | + DeploymentCSV: { |
| 636 | + BitNumber: 0, |
| 637 | + StartTime: 0, // Always available for vote |
| 638 | + ExpireTime: math.MaxInt64, // Never expires |
| 639 | + }, |
| 640 | + DeploymentSegwit: { |
| 641 | + BitNumber: 1, |
| 642 | + StartTime: 0, // Always available for vote |
| 643 | + ExpireTime: math.MaxInt64, // Never expires. |
| 644 | + }, |
| 645 | + DeploymentTaproot: { |
| 646 | + BitNumber: 2, |
| 647 | + StartTime: 0, // Always available for vote |
| 648 | + ExpireTime: math.MaxInt64, // Never expires. |
| 649 | + }, |
| 650 | + }, |
| 651 | + |
| 652 | + // Mempool parameters |
| 653 | + RelayNonStdTxs: true, |
| 654 | + |
| 655 | + // Human-readable part for Bech32 encoded segwit addresses, as defined in |
| 656 | + // BIP 173. |
| 657 | + Bech32HRPSegwit: "tb", // always tb for test net |
| 658 | + |
| 659 | + // Address encoding magics |
| 660 | + PubKeyHashAddrID: 0x6f, // starts with m or n |
| 661 | + ScriptHashAddrID: 0xc4, // starts with 2 |
| 662 | + WitnessPubKeyHashAddrID: 0x03, // starts with QW |
| 663 | + WitnessScriptHashAddrID: 0x28, // starts with T7n |
| 664 | + PrivateKeyID: 0xef, // starts with 9 (uncompressed) or c (compressed) |
| 665 | + |
| 666 | + // BIP32 hierarchical deterministic extended key magics |
| 667 | + HDPrivateKeyID: [4]byte{0x04, 0x35, 0x83, 0x94}, // starts with tprv |
| 668 | + HDPublicKeyID: [4]byte{0x04, 0x35, 0x87, 0xcf}, // starts with tpub |
| 669 | + |
| 670 | + // BIP44 coin type used in the hierarchical deterministic path for |
| 671 | + // address generation. |
| 672 | + HDCoinType: 1, |
| 673 | +} |
| 674 | + |
581 | 675 | var (
|
582 | 676 | // ErrDuplicateNet describes an error where the parameters for a Bitcoin
|
583 | 677 | // network could not be set due to the network already being a standard
|
|
0 commit comments