Packages

sealed abstract class ChainParams extends AnyRef

Created by chris on 5/22/16. ChainParams defines various tweakable parameters of a given instance of the Bitcoin system. There are three: the main network on which people trade goods and services, the public test network which gets reset from time to time and a regression test mode which is intended for private networks only. It has minimal difficulty to ensure that blocks can be found instantly.

See also

Mimics this C++ interface in Bitcoin Core

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ChainParams
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def allowMinDifficultyBlocks: Boolean

    Whether we should allow minimum difficulty blocks or not As an example you can trivially mine blocks on RegTestNetChainParams and TestNetChainParams but not the MainNetChainParams

  2. abstract def base58Prefixes: Map[Base58Type, ByteVector]

    The mapping from a Base58Typeto a String.

    The mapping from a Base58Typeto a String. Base58 prefixes for various keys/hashes on the network.

    See also

    Bitcoin wiki article on address prefixes

  3. abstract def genesisBlock: Block

    The Genesis Block in the blockchain.

  4. abstract def network: NetworkParameters

    The network that corresponds to this chain param

  5. abstract def networkId: String

    Return the BIP70 network string ( MainNetChainParams, TestNetChainParams or RegTestNetChainParams.)

    Return the BIP70 network string ( MainNetChainParams, TestNetChainParams or RegTestNetChainParams.)

    See also

    BIP70

  6. abstract def noRetargeting: Boolean

    Whether this chain supports proof of work retargeting or not

    Whether this chain supports proof of work retargeting or not

    See also

    link

  7. abstract def powLimit: BigInteger

    The minimum amount of proof of work required for a block bitcoin core pow limit

  8. abstract def powTargetSpacing: Duration

    The targeted interval between blocks mainnet testnet regtest

  9. abstract def powTargetTimeSpan: Duration

    The targetted timespan between difficulty adjustments As of this implementation, all of these are the same in bitcoin core

    The targetted timespan between difficulty adjustments As of this implementation, all of these are the same in bitcoin core

    mainnet testnet regtest

  10. abstract def signetBlocks: Boolean

    Uses signet blocks that require checking the signet challenge

  11. abstract def signetChallenge: ScriptPubKey

    Blocks must satisfy the given script to be considered valid (only for signet networks)

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def base58Prefix(base58: Base58Type): ByteVector

    Takes in a Base58Type and returns its base58 prefix.

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. lazy val compressedPowLimit: UInt32

    The minimum proof of required for a block as specified by powLimit, compressed to a UInt32

  8. def createGenesisBlock(timestamp: String, scriptPubKey: ScriptPubKey, time: UInt32, nonce: UInt32, nBits: UInt32, version: Int32, amount: CurrencyUnit): Block

    timestamp

    a piece of data to signify when this block was first created - satoshi used an article headline

    scriptPubKey

    the scriptPubKey that needs to be satisfied in able to spend the genesis block reward

    time

    the time when the miner started hashing the block header

    nonce

    the nonce used to mine the block

    nBits

    An encoded version of the target threshold this block's header hash must be less than or equal to

    version

    the block version

    amount

    the block reward for the genesis block (50 BTC in Bitcoin)

    returns

    the newly minted genesis block

  9. def createGenesisBlock(time: UInt32, nonce: UInt32, nBits: UInt32, version: Int32, amount: CurrencyUnit): Block

    Creates the Genesis Block for this blockchain.

    Creates the Genesis Block for this blockchain.

    time

    the time when the miner started hashing the block header

    nonce

    the nonce to mine the block

    nBits

    An encoded version of the target threshold this block’s header hash must be less than or equal to.

    version

    the block version

    amount

    the block reward for the genesis block (50 BTC in Bitcoin)

    returns

    the newly minted genesis block

    See also

    Mimics this function in Bitcoin Core

  10. def difficultyChangeInterval: Int

    In bitcoin mainnet, the network recalculates the difficulty for the network every 2016 blocks bitcoin core implementation

  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. def genesisHash: DoubleSha256Digest
  15. def genesisHashBE: DoubleSha256DigestBE
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. def requireStandardTransaction: Boolean

    Filter transactions that do not match well-defined patterns inside of Policy.

  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped