Skip to content

Instantly share code, notes, and snippets.

@dantudor
Created February 14, 2018 09:20
Show Gist options
  • Save dantudor/3a646dc2b08b1bfba7e0133e6e45d103 to your computer and use it in GitHub Desktop.
Save dantudor/3a646dc2b08b1bfba7e0133e6e45d103 to your computer and use it in GitHub Desktop.
NavNetParams
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";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment