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
- Alphabetic
- By Inheritance
- ChainParams
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- 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
- 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
- abstract def genesisBlock: Block
The Genesis Block in the blockchain.
- abstract def network: NetworkParameters
The network that corresponds to this chain param
- abstract def networkId: String
Return the BIP70 network string ( MainNetChainParams, TestNetChainParams or RegTestNetChainParams.)
Return the BIP70 network string ( MainNetChainParams, TestNetChainParams or RegTestNetChainParams.)
- See also
- 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
- abstract def powLimit: BigInteger
The minimum amount of proof of work required for a block bitcoin core pow limit
- abstract def powTargetSpacing: Duration
The targeted interval between blocks mainnet testnet regtest
- abstract def powTargetTimeSpan: Duration
The targetted timespan between difficulty adjustments As of this implementation, all of these are the same in bitcoin core
- abstract def signetBlocks: Boolean
Uses signet blocks that require checking the signet challenge
- abstract def signetChallenge: ScriptPubKey
Blocks must satisfy the given script to be considered valid (only for signet networks)
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def base58Prefix(base58: Base58Type): ByteVector
Takes in a Base58Type and returns its base58 prefix.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- lazy val compressedPowLimit: UInt32
The minimum proof of required for a block as specified by powLimit, compressed to a UInt32
- 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
- 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
- def difficultyChangeInterval: Int
In bitcoin mainnet, the network recalculates the difficulty for the network every 2016 blocks bitcoin core implementation
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def genesisHash: DoubleSha256Digest
- def genesisHashBE: DoubleSha256DigestBE
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def requireStandardTransaction: Boolean
Filter transactions that do not match well-defined patterns inside of Policy.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()