Package

org.bitcoins.chain

blockchain

Permalink

package blockchain

Visibility
  1. Public
  2. All

Type Members

  1. case class Blockchain(headers: Vector[BlockHeaderDb]) extends BaseBlockChain with Product with Serializable

    Permalink

    <invalid inheritdoc annotation>

  2. sealed abstract class BlockchainUpdate extends AnyRef

    Permalink

    Represens the state of a batch of BlockHeaders being added to our blockchain

    Represens the state of a batch of BlockHeaders being added to our blockchain

    An example of a Failed update is when we receive a BlockHeader that is invalid and because of a TipUpdateFailure because of BadPOW or a BadNonce etc

  3. sealed abstract class ChainException extends RuntimeException

    Permalink

    A base class for various types of block chain exceptions

  4. case class ChainHandler(blockHeaderDAO: BlockHeaderDAO, filterHeaderDAO: CompactFilterHeaderDAO, filterDAO: CompactFilterDAO, blockchains: Vector[Blockchain], blockFilterCheckpoints: Map[DoubleSha256DigestBE, DoubleSha256DigestBE])(implicit chainConfig: ChainAppConfig, executionContext: ExecutionContext) extends ChainApi with ChainVerificationLogger with Product with Serializable

    Permalink

    Chain Handler is meant to be the reference implementation of ChainApi, this is the entry point in to the chain project.

    Chain Handler is meant to be the reference implementation of ChainApi, this is the entry point in to the chain project.

    blockHeaderDAO

    block header DB

    filterHeaderDAO

    filter header DB

    filterDAO

    filter DB

    blockchains

    current blockchains

    blockFilterCheckpoints

    compact filter checkpoints for filter header verification in form of a map (block header hash -> filter header hash)

    chainConfig

    config file

  5. case class CheckHeaderResult(result: TipUpdateResult, chain: Blockchain) extends Product with Serializable

    Permalink
  6. sealed trait ConnectTipResult extends AnyRef

    Permalink

    The result indicating how the TipUpdateResult modified the chain.

    The result indicating how the TipUpdateResult modified the chain.

    We can

    1. Extend the chain 2. Reorg the chain 3. Fail to connect to anything in the chain

  7. case class DuplicateFilters(message: String) extends ChainException with Product with Serializable

    Permalink

    org.bitcoins.chain.blockchain.ChainHandler tried to process multiple filters for the same block hash

  8. case class InvalidBlockRange(message: String) extends ChainException with Product with Serializable

    Permalink

    The given block range is invalid

  9. case class UnknownBlockHash(message: String) extends ChainException with Product with Serializable

    Permalink

    org.bitcoins.chain.blockchain.ChainHandler cannot find a blockchain item by its block hash

  10. case class UnknownBlockHeight(message: String) extends ChainException with Product with Serializable

    Permalink

    org.bitcoins.chain.blockchain.ChainHandler cannot find a blockchain item by its height

  11. case class UnknownFilterHash(message: String) extends ChainException with Product with Serializable

    Permalink

    org.bitcoins.chain.blockchain.ChainHandler cannot find a compact filter or header by its filter hash

Value Members

  1. object Blockchain extends BaseBlockChainCompObject with Serializable

    Permalink
  2. object BlockchainUpdate

    Permalink
  3. object ChainHandler extends Serializable

    Permalink
  4. object ConnectTipResult

    Permalink
  5. package sync

    Permalink

Ungrouped