package blockchain
- Alphabetic
- Public
- Protected
Type Members
- sealed abstract class Base58Type extends AnyRef
- sealed abstract class BitcoinChainParams extends ChainParams
- sealed abstract class Block extends NetworkElement
Created by chris on 5/19/16.
Created by chris on 5/19/16. Represents a block in our blockchain Bitcoin Core implementation: https://github.com/bitcoin/bitcoin/blob/master/src/primitives/block.h#L73 Bitcoin Developer Reference link: https://bitcoin.org/en/developer-reference#serialized-blocks
- sealed trait BlockHeader extends NetworkElement
Nodes collect new transactions into a block, hash them into a hash tree, and scan through nonce values to make the block's hash satisfy proof-of-work requirements.
Nodes collect new transactions into a block, hash them into a hash tree, and scan through nonce values to make the block's hash satisfy proof-of-work requirements. When they solve the proof-of-work, they broadcast the block to everyone and the block is added to the block chain. The first transaction in the block is a special one that creates a new coin owned by the creator of the block.
- See also
Bitcoin Developer reference: https://bitcoin.org/en/developer-reference#block-headers
Bitcoin Core implementation: https://github.com/bitcoin/bitcoin/blob/master/src/primitives/block.h#L20
- sealed abstract class ChainParams extends AnyRef
Created by chris on 5/22/16.
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
- sealed abstract class MerkleBlock extends NetworkElement
Created by chris on 8/7/16.
- sealed trait PartialMerkleTree extends AnyRef
Created by chris on 8/7/16.
Created by chris on 8/7/16. Represents a subset of known txids inside of a Block in a way that allows recovery of the txids & merkle root without having to store them all explicitly. See BIP37 for more details
Encoding procedure: "Bitcoin.org: creating a merkleblock message" "Bitcoin Core: merkleblock.cpp" Traverse the tree in depth first order, storing a bit for each traversal. This bit signifies if the node is a parent of at least one matched leaf txid (or a matched leaf txid) itself. In case we are the leaf level, or this bit is 0, it's merkle node hash is stored and it's children are not explored any further. Otherwise no hash is stored, but we recurse all of this node's child branches.
Decoding procedure: "Bitcoin.org: parsing a merkleblock message" "Bitcoin Core: merkleblock.cpp" The same depth first decoding procedure is performed, but we consume the bits and hashes that we used during encoding
- case class SigNetChainParams(signetChallenge: ScriptPubKey = ScriptPubKey.fromAsmHex( "512103ad5e0edad18cb1f0fc0d28a3d4f1f3e445640337489abb10404f2d1e086be430210359ef5021964fe22d6f8e05b2463c9540ce96883fe3b278760f048f5189f2e6c452ae")) extends BitcoinChainParams with Product with Serializable
Value Members
- object Base58Type
- object Block extends Factory[Block]
Companion object for creating Blocks
- object BlockHeader extends Factory[BlockHeader]
Companion object used for creating BlockHeaders
- object MainNetChainParams extends BitcoinChainParams
The Main Network parameters.
- object MerkleBlock extends Factory[MerkleBlock]
- object PartialMerkleTree
- object RegTestNetChainParams extends BitcoinChainParams
- object TestNetChainParams extends BitcoinChainParams