|
public class NavNetParams extends AbstractBitcoinNetParams { |
|
public static final int MAINNET_MAJORITY_WINDOW = 1000; |
|
public static final int MAINNET_MAJORITY_REJECT_BLOCK_OUTDATED = 950; |
|
public static final int MAINNET_MAJORITY_ENFORCE_BLOCK_UPGRADE = 750; |
|
private static NavNetParams instance; |
|
|
|
public NavNetParams() { |
|
this.id = "main"; |
|
this.targetTimespan = 750; |
|
|
|
this.interval = 2016; |
|
this.maxTarget = Utils.decodeCompactBits(486604799L); |
|
this.dumpedPrivateKeyHeader = 128; |
|
this.addressHeader = 0; |
|
this.p2shHeader = 5; |
|
this.acceptableAddressCodes = new int[]{this.addressHeader, this.p2shHeader}; |
|
this.port = 8333; |
|
this.packetMagic = 4190024921L; |
|
this.bip32HeaderPub = 76067358; |
|
this.bip32HeaderPriv = 76066276; |
|
this.majorityEnforceBlockUpgrade = 750; |
|
this.majorityRejectBlockOutdated = 950; |
|
this.majorityWindow = 1000; |
|
this.genesisBlock.setDifficultyTarget(486604799L); |
|
this.genesisBlock.setTime(1231006505L); |
|
this.genesisBlock.setNonce(2083236893L); |
|
this.subsidyDecreaseBlockCount = 210000; |
|
this.spendableCoinbaseDepth = 100; |
|
String genesisHash = this.genesisBlock.getHashAsString(); |
|
String merkleRoot = this.genesisBlock.getMerkleRoot().toString(); |
|
Preconditions.checkState(genesisHash.equals("0x00006a4e3e18c71c6d48ad6c261e2254fa764cf29607a4357c99b712dfbb8e6a"), genesisHash); |
|
Preconditions.checkState(merkleRoot.equals("0xc507eec6ccabfd5432d764afceafba42d2d946594b8a60570cb2358a7392c61a"), merkleRoot); |
|
|
|
this.checkpoints.put(10000, Sha256Hash.wrap("0x844f1eab31e8773328ba21970362b4fcff19622f13787cbbe164649ad2393b7a")); |
|
this.checkpoints.put(20000, Sha256Hash.wrap("0xfea6d227117db665c5cff2fca0b29d850c5e7f064463d001f5228e80a7e21624")); |
|
this.checkpoints.put(50000, Sha256Hash.wrap("0xb0df7fbaa66f0844a607bd3d4b8d25d68a63c57fb34fdae7212c689165edcb8d")); |
|
this.checkpoints.put(100000, Sha256Hash.wrap("0x85e33b3e583fba18d1fc2227702ea97b9d5a441a1a3fa2633c28d6e5d3837218")); |
|
this.checkpoints.put(200000, Sha256Hash.wrap("0x9aa7fff01e07e800774b4ef7e11d55afffa8a1c6fdb0cd19762418cb8b901b32")); |
|
|
|
this.dnsSeeds = new String[]{"supernode.navcoin.org", "navtech1.navcoin.org", "navtech2.navcoin.org", "navtech3.navcoin.org", "navtech4.navcoin.org"}; |
|
this.httpSeeds = null; |
|
this.addrSeeds = null; |
|
} |
|
|
|
public static synchronized NavNetParams get() { |
|
if (instance == null) { |
|
instance = new NavNetParams(); |
|
} |
|
|
|
return instance; |
|
} |
|
|
|
public String getPaymentProtocolId() { |
|
return "main"; |
|
} |
|
} |