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 Details

  • Constructor Details

    • BitcoinNetworkParams

      public BitcoinNetworkParams(BitcoinNetwork network)
      No-args constructor
  • Method Details

    • fromID

      @Nullable public static BitcoinNetworkParams fromID(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 a BitcoinNetwork enum
      Parameters:
      network - the network
      Returns:
      the network parameters for the given string ID
      Throws:
      IllegalArgumentException - if unknown network
    • getPaymentProtocolId

      @Deprecated public String getPaymentProtocolId()
      Specified by:
      getPaymentProtocolId in class NetworkParameters
      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: NetworkParameters
      Throws an exception if the block's difficulty is not correct.
      Specified by:
      checkDifficultyTransitions in class NetworkParameters
      Parameters:
      storedPrev - previous stored block
      nextBlock - proposed block
      blockStore - 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: NetworkParameters
      Returns 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:
      getMaxMoney in class NetworkParameters
      Returns:
      maximum number of coins for this network
    • getMonetaryFormat

      @Deprecated public MonetaryFormat getMonetaryFormat()
      Deprecated.
      Get one another way or construct your own MonetaryFormat as needed.
      Description copied from class: NetworkParameters
      The monetary object for this currency.
      Specified by:
      getMonetaryFormat in class NetworkParameters
      Returns:
      formatting utility object
    • getSerializer

      public BitcoinSerializer getSerializer()
      Description copied from class: NetworkParameters
      Construct and return a custom serializer.
      Specified by:
      getSerializer in class NetworkParameters
      Returns:
      the serializer
    • getUriScheme

      @Deprecated public String getUriScheme()
      Deprecated.
      Description copied from class: NetworkParameters
      Scheme part for URIs, for example "bitcoin".
      Specified by:
      getUriScheme in class NetworkParameters
      Returns:
      a string with the "scheme" part
    • hasMaxMoney

      @Deprecated public boolean hasMaxMoney()
      Deprecated.
      Description copied from class: NetworkParameters
      Returns 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:
      hasMaxMoney in class NetworkParameters
      Returns:
      true if network has a fixed maximum number of coins