|
| 1 | +using NBitcoin.DataEncoders; |
| 2 | + |
| 3 | +namespace NBitcoin.Altcoins |
| 4 | +{ |
| 5 | + public class DigiByte : NetworkSetBase |
| 6 | + { |
| 7 | + public static DigiByte Instance { get; } = new(); |
| 8 | + public override string CryptoCode => "DGB"; |
| 9 | + |
| 10 | + private DigiByte() { } |
| 11 | + |
| 12 | + protected override NetworkBuilder CreateMainnet() |
| 13 | + { |
| 14 | + var builder = new NetworkBuilder(); |
| 15 | + |
| 16 | + builder.SetName("dgb-main") |
| 17 | + .AddAlias("dgb-mainnet") |
| 18 | + .AddAlias("digibyte-main") |
| 19 | + .SetConsensus(new Consensus |
| 20 | + { |
| 21 | + SubsidyHalvingInterval = 210000, |
| 22 | + MajorityEnforceBlockUpgrade = 750, |
| 23 | + MajorityRejectBlockOutdated = 950, |
| 24 | + MajorityWindow = 1000, |
| 25 | + }) |
| 26 | + .SetBase58Bytes(Base58Type.PUBKEY_ADDRESS, [30]) |
| 27 | + .SetBase58Bytes(Base58Type.SCRIPT_ADDRESS, [63]) |
| 28 | + .SetBase58Bytes(Base58Type.SECRET_KEY, [128]) |
| 29 | + .SetBase58Bytes(Base58Type.EXT_PUBLIC_KEY, [0x04, 0x88, 0xB2, 0x1E]) |
| 30 | + .SetBase58Bytes(Base58Type.EXT_SECRET_KEY, [0x04, 0x88, 0xAD, 0xE4]) |
| 31 | + .SetBech32(Bech32Type.WITNESS_PUBKEY_ADDRESS, Encoders.Bech32("dgb")) |
| 32 | + .SetBech32(Bech32Type.WITNESS_SCRIPT_ADDRESS, Encoders.Bech32("dgb")) |
| 33 | + .SetMagic(0xDAB6C3FA) |
| 34 | + .SetPort(12024) |
| 35 | + .SetRPCPort(14022) |
| 36 | + .SetGenesis("0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c") |
| 37 | + .AddDNSSeeds([ |
| 38 | + new DNSSeedData("seed.digibyte.org", "seed.digibyte.org"), |
| 39 | + new DNSSeedData("seed.digibyte.co", "seed.digibyte.co"), |
| 40 | + new DNSSeedData("digiexplorer.info", "digiexplorer.info") |
| 41 | + ]); |
| 42 | + |
| 43 | + return builder; |
| 44 | + } |
| 45 | + |
| 46 | + protected override NetworkBuilder CreateTestnet() |
| 47 | + { |
| 48 | + var builder = new NetworkBuilder() |
| 49 | + .SetName("dgb-test") |
| 50 | + .AddAlias("digibyte-testnet") |
| 51 | + .AddAlias("digibyte-test") |
| 52 | + .SetConsensus(new Consensus |
| 53 | + { |
| 54 | + SubsidyHalvingInterval = 210000, |
| 55 | + MajorityEnforceBlockUpgrade = 750, |
| 56 | + MajorityRejectBlockOutdated = 950, |
| 57 | + MajorityWindow = 1000 |
| 58 | + }) |
| 59 | + .SetBase58Bytes(Base58Type.PUBKEY_ADDRESS, [0x7E]) // tD |
| 60 | + .SetBase58Bytes(Base58Type.SCRIPT_ADDRESS, [0x8C]) // tS |
| 61 | + .SetBase58Bytes(Base58Type.SECRET_KEY, [0xFE]) // tWIF |
| 62 | + .SetBase58Bytes(Base58Type.EXT_PUBLIC_KEY, [0x04, 0x35, 0x87, 0xCF]) |
| 63 | + .SetBase58Bytes(Base58Type.EXT_SECRET_KEY, [0x04, 0x35, 0x83, 0x94]) |
| 64 | + .SetBech32(Bech32Type.WITNESS_PUBKEY_ADDRESS, Encoders.Bech32("dgbt")) |
| 65 | + .SetBech32(Bech32Type.WITNESS_SCRIPT_ADDRESS, Encoders.Bech32("dgbt")) |
| 66 | + .SetMagic(0xDDB6C3FA) |
| 67 | + .SetPort(12026) |
| 68 | + .SetRPCPort(14023) |
| 69 | + .SetGenesis("0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c") |
| 70 | + .AddDNSSeeds([ |
| 71 | + new DNSSeedData("seed.testnet-1.us.digibyteservers.io", "seed.testnet-1.us.digibyteservers.io"), |
| 72 | + new DNSSeedData("seed.testnetexplorer.digibyteservers.io", "seed.testnetexplorer.digibyteservers.io") |
| 73 | + ]); |
| 74 | + |
| 75 | + return builder; |
| 76 | + } |
| 77 | + |
| 78 | + protected override NetworkBuilder CreateRegtest() |
| 79 | + { |
| 80 | + var builder = new NetworkBuilder() |
| 81 | + .SetName("dgb-regtest") |
| 82 | + .AddAlias("digibyte-regtest") |
| 83 | + .AddAlias("digibyte-reg") |
| 84 | + .SetConsensus(new Consensus |
| 85 | + { |
| 86 | + SubsidyHalvingInterval = 150, |
| 87 | + MajorityEnforceBlockUpgrade = 750, |
| 88 | + MajorityRejectBlockOutdated = 950, |
| 89 | + MajorityWindow = 1000 |
| 90 | + }) |
| 91 | + .SetBase58Bytes(Base58Type.PUBKEY_ADDRESS, [126]) |
| 92 | + .SetBase58Bytes(Base58Type.SCRIPT_ADDRESS, [140]) |
| 93 | + .SetBase58Bytes(Base58Type.SECRET_KEY, [254]) |
| 94 | + .SetBase58Bytes(Base58Type.EXT_PUBLIC_KEY, [0x04, 0x35, 0x87, 0xCF]) |
| 95 | + .SetBase58Bytes(Base58Type.EXT_SECRET_KEY, [0x04, 0x35, 0x83, 0x94]) |
| 96 | + .SetBech32(Bech32Type.WITNESS_PUBKEY_ADDRESS, Encoders.Bech32("dgbrt")) |
| 97 | + .SetBech32(Bech32Type.WITNESS_SCRIPT_ADDRESS, Encoders.Bech32("dgbrt")) |
| 98 | + .SetMagic(0xDAB5BFFA) |
| 99 | + .SetPort(18444) |
| 100 | + .SetRPCPort(18443) |
| 101 | + .SetGenesis( |
| 102 | + "01000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d01045468652054696d65732030332f4a616e2f32303039204368616e63656c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff010040b743ba000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000"); |
| 103 | + |
| 104 | + return builder; |
| 105 | + } |
| 106 | + } |
| 107 | +} |
0 commit comments