Package org.bitcoinj.params
Class BitcoinNetworkParams
- java.lang.Object
-
- org.bitcoinj.core.NetworkParameters
-
- org.bitcoinj.params.BitcoinNetworkParams
-
- Direct Known Subclasses:
MainNetParams,RegTestParams,SigNetParams,TestNet3Params,UnitTestParams
public abstract class BitcoinNetworkParams extends NetworkParameters
Parameters for Bitcoin-like networks.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBITCOIN_SCHEMEDeprecated.protected BlockgenesisBlocklazy-initialized by the first call toNetworkParameters.getGenesisBlock()static intREWARD_HALVING_INTERVALBlock reward halving interval (number of blocks)-
Fields inherited from class org.bitcoinj.core.NetworkParameters
addressHeader, addrSeeds, BIP16_ENFORCE_TIME, bip32HeaderP2PKHpriv, bip32HeaderP2PKHpub, bip32HeaderP2WPKHpriv, bip32HeaderP2WPKHpub, checkpoints, defaultSerializer, dnsSeeds, dumpedPrivateKeyHeader, id, interval, INTERVAL, majorityEnforceBlockUpgrade, majorityRejectBlockOutdated, majorityWindow, MAX_COINS, MAX_MONEY, maxTarget, network, p2shHeader, packetMagic, PAYMENT_PROTOCOL_ID_MAINNET, PAYMENT_PROTOCOL_ID_REGTEST, PAYMENT_PROTOCOL_ID_SIGNET, PAYMENT_PROTOCOL_ID_TESTNET, PAYMENT_PROTOCOL_ID_UNIT_TESTS, port, segwitAddressHrp, spendableCoinbaseDepth, subsidyDecreaseBlockCount, TARGET_SPACING, TARGET_TIMESPAN, targetTimespan
-
-
Constructor Summary
Constructors Constructor Description BitcoinNetworkParams(BitcoinNetwork network)No-args constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcheckDifficultyTransitions(StoredBlock storedPrev, Block nextBlock, BlockStore blockStore)Throws an exception if the block's difficulty is not correct.static BitcoinNetworkParamsfromID(java.lang.String id)Return network parameters for a network idCoingetBlockInflation(int height)A utility method that calculates how much new Bitcoin would be created by the block at the given height.CoingetMaxMoney()Deprecated.MonetaryFormatgetMonetaryFormat()Deprecated.Get one another way or construct your ownMonetaryFormatas needed.java.lang.StringgetPaymentProtocolId()Deprecated.BitcoinSerializergetSerializer()Construct and return a custom serializer.java.lang.StringgetUriScheme()Deprecated.booleanhasMaxMoney()Deprecated.booleanisDifficultyTransitionPoint(int previousHeight)Checks if we are at a difficulty transition point.booleanisRewardHalvingPoint(int previousHeight)Checks if we are at a reward halving point.static BitcoinNetworkParamsof(BitcoinNetwork network)Return network parameters for aBitcoinNetworkenum-
Methods inherited from class org.bitcoinj.core.NetworkParameters
allowEmptyPeerChain, equals, fromAddress, fromPmtProtocolID, getAddressHeader, getAddrSeeds, getBip32HeaderP2PKHpriv, getBip32HeaderP2PKHpub, getBip32HeaderP2WPKHpriv, getBip32HeaderP2WPKHpub, getBlockVerificationFlags, getDefaultSerializer, getDnsSeeds, getDumpedPrivateKeyHeader, getGenesisBlock, getId, getInterval, getMajorityEnforceBlockUpgrade, getMajorityRejectBlockOutdated, getMajorityWindow, getMaxTarget, getP2SHHeader, getPacketMagic, getPort, getProtocolVersionNum, getSegwitAddressHrp, getSpendableCoinbaseDepth, getSubsidyDecreaseBlockCount, getTargetTimespan, getTransactionVerificationFlags, hashCode, isCheckpoint, network, of, passesCheckpoint
-
-
-
-
Field Detail
-
BITCOIN_SCHEME
@Deprecated public static final java.lang.String BITCOIN_SCHEME
Deprecated.Scheme part for Bitcoin URIs.- See Also:
- Constant Field Values
-
REWARD_HALVING_INTERVAL
public static final int REWARD_HALVING_INTERVAL
Block reward halving interval (number of blocks)- See Also:
- Constant Field Values
-
genesisBlock
protected Block genesisBlock
lazy-initialized by the first call toNetworkParameters.getGenesisBlock()
-
-
Constructor Detail
-
BitcoinNetworkParams
public BitcoinNetworkParams(BitcoinNetwork network)
No-args constructor
-
-
Method Detail
-
fromID
@Nullable public static BitcoinNetworkParams fromID(java.lang.String id)
Return network parameters for a network id- Parameters:
id- the network id- Returns:
- the network parameters for the given string ID or NULL if not recognized
-
of
public static BitcoinNetworkParams of(BitcoinNetwork network)
Return network parameters for aBitcoinNetworkenum- Parameters:
network- the network- Returns:
- the network parameters for the given string ID
- Throws:
java.lang.IllegalArgumentException- if unknown network
-
getPaymentProtocolId
@Deprecated public java.lang.String getPaymentProtocolId()
Deprecated.- Specified by:
getPaymentProtocolIdin classNetworkParameters- Returns:
- the payment protocol network id string
-
isRewardHalvingPoint
public final boolean isRewardHalvingPoint(int previousHeight)
Checks if we are at a reward halving point.- Parameters:
previousHeight- The height of the previous stored block- Returns:
- If this is a reward halving point
-
getBlockInflation
public Coin getBlockInflation(int height)
A utility method that calculates how much new Bitcoin would be created by the block at the given height. The inflation of Bitcoin is predictable and drops roughly every 4 years (210,000 blocks). At the dawn of the system it was 50 coins per block, in late 2012 it went to 25 coins per block, and so on. The size of a coinbase transaction is inflation plus fees.
The half-life is controlled by
NetworkParameters.getSubsidyDecreaseBlockCount().- Parameters:
height- the height of the block to calculate inflation for- Returns:
- block reward (inflation) for specified block
-
isDifficultyTransitionPoint
public final boolean isDifficultyTransitionPoint(int previousHeight)
Checks if we are at a difficulty transition point.- Parameters:
previousHeight- The height of the previous stored block- Returns:
- If this is a difficulty transition point
-
checkDifficultyTransitions
public void checkDifficultyTransitions(StoredBlock storedPrev, Block nextBlock, BlockStore blockStore) throws VerificationException, BlockStoreException
Description copied from class:NetworkParametersThrows an exception if the block's difficulty is not correct.- Specified by:
checkDifficultyTransitionsin classNetworkParameters- Parameters:
storedPrev- previous stored blocknextBlock- proposed blockblockStore- active BlockStore- Throws:
VerificationException- if the block's difficulty is not correct.BlockStoreException- if an error occurred accessing the BlockStore
-
getMaxMoney
@Deprecated public Coin getMaxMoney()
Deprecated.Description copied from class:NetworkParametersReturns the number of coins that will be produced in total, on this network. Where not applicable, a very large number of coins is returned instead (e.g. the main coin issue for Dogecoin).- Specified by:
getMaxMoneyin classNetworkParameters- Returns:
- maximum number of coins for this network
-
getMonetaryFormat
@Deprecated public MonetaryFormat getMonetaryFormat()
Deprecated.Get one another way or construct your ownMonetaryFormatas needed.Description copied from class:NetworkParametersThe monetary object for this currency.- Specified by:
getMonetaryFormatin classNetworkParameters- Returns:
- formatting utility object
-
getSerializer
public BitcoinSerializer getSerializer()
Description copied from class:NetworkParametersConstruct and return a custom serializer.- Specified by:
getSerializerin classNetworkParameters- Returns:
- the serializer
-
getUriScheme
@Deprecated public java.lang.String getUriScheme()
Deprecated.Description copied from class:NetworkParametersScheme part for URIs, for example "bitcoin".- Specified by:
getUriSchemein classNetworkParameters- Returns:
- a string with the "scheme" part
-
hasMaxMoney
@Deprecated public boolean hasMaxMoney()
Deprecated.Description copied from class:NetworkParametersReturns whether this network has a maximum number of coins (finite supply) or not. Always returns true for Bitcoin, but exists to be overridden for other networks.- Specified by:
hasMaxMoneyin classNetworkParameters- Returns:
- true if network has a fixed maximum number of coins
-
-