/* * Copyright 2013 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.matthewmitchell.nubitsj.params; import com.matthewmitchell.nubitsj.core.*; import java.math.BigInteger; /** * Network parameters used by the nubitsj unit tests (and potentially your own). This lets you solve a block using * {@link com.matthewmitchell.nubitsj.core.Block#solve()} by setting difficulty to the easiest possible. */ public class UnitTestParams extends AbstractNubitsNetParams { // A simple static key/address for re-use in unit tests, to speed things up. public static ECKey TEST_KEY = new ECKey(); public static Address TEST_ADDRESS; public UnitTestParams() { super(); id = ID_UNITTESTNET; packetMagic = 0x0b110907; addressHeader = 25; p2shHeader = 26; acceptableAddressCodes = new int[] { addressHeader, p2shHeader }; genesisBlock.setTime(System.currentTimeMillis() / 1000); genesisBlock.setDifficultyTarget(Block.EASIEST_DIFFICULTY_TARGET); port = 18333; interval = 10; dumpedPrivateKeyHeader = 239; targetTimespan = 200000000; // 6 years. Just a very big number. spendableCoinbaseDepth = 5; dnsSeeds = null; addrSeeds = null; bip32HeaderPub = 0x043587CF; bip32HeaderPriv = 0x04358394; } private static UnitTestParams instance; public static synchronized UnitTestParams get() { if (instance == null) { instance = new UnitTestParams(); TEST_ADDRESS = TEST_KEY.toAddress(instance); } return instance; } @Override public String getPaymentProtocolId() { return "unittest"; } }