Packages

trait ChainApi extends ChainQueryApi

Entry api to the chain project for adding new things to our blockchain

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

Abstract Value Members

  1. abstract def epochSecondToBlockHeight(time: Long): Future[Int]

    Gets the block height of the closest block to the given time

    Gets the block height of the closest block to the given time

    Definition Classes
    ChainQueryApi
  2. abstract def getBestBlockHash(): Future[DoubleSha256DigestBE]

    Gets the hash of the block that is what we consider "best"

    Gets the hash of the block that is what we consider "best"

    Definition Classes
    ChainQueryApi
  3. abstract def getBestBlockHeader(): Future[BlockHeaderDb]

    Gets the best block header we have

  4. abstract def getBestChainTips(): Future[Vector[BlockHeaderDb]]

    Gets all chain tips with the heaviest work

  5. abstract def getBestFilter(): Future[Option[CompactFilterDb]]
  6. abstract def getBestFilterHeader(): Future[Option[CompactFilterHeaderDb]]

    Finds the "best" filter header we have stored in our database What this means in practice is the latest filter header we have received from our peer.

    Finds the "best" filter header we have stored in our database What this means in practice is the latest filter header we have received from our peer. Returns none if we have no filters in the database

  7. abstract def getBlockCount(): Future[Int]

    Gets the number of blocks in the database

  8. abstract def getBlockHeight(blockHash: DoubleSha256DigestBE): Future[Option[Int]]

    Gets the height of the given block

    Gets the height of the given block

    Definition Classes
    ChainQueryApi
  9. abstract def getFilter(hash: DoubleSha256DigestBE): Future[Option[CompactFilterDb]]

    Looks up a compact filter by its hash.

  10. abstract def getFilterCount(): Future[Int]

    Gets the number of compact filters in the database

    Gets the number of compact filters in the database

    Definition Classes
    ChainApiChainQueryApi
  11. abstract def getFilterHeader(blockHash: DoubleSha256DigestBE): Future[Option[CompactFilterHeaderDb]]

    Looks up a compact filter header by its hash.

  12. abstract def getFilterHeaderCount(): Future[Int]

    Gets the number of compact filter headers in the database

  13. abstract def getFilterHeadersAtHeight(height: Int): Future[Vector[CompactFilterHeaderDb]]

    Looks up a compact filter header by its height.

  14. abstract def getFiltersAtHeight(height: Int): Future[Vector[CompactFilterDb]]

    Looks up a compact filter by its height.

  15. abstract def getFiltersBetweenHeights(startHeight: Int, endHeight: Int): Future[Vector[FilterResponse]]
    Definition Classes
    ChainQueryApi
  16. abstract def getHeader(hash: DoubleSha256DigestBE): Future[Option[BlockHeaderDb]]

    Gets a org.bitcoins.core.api.chain.db.BlockHeaderDb from the chain's database

  17. abstract def getHeaders(hashes: Vector[DoubleSha256DigestBE]): Future[Vector[Option[BlockHeaderDb]]]
  18. abstract def getHeadersAtHeight(height: Int): Future[Vector[BlockHeaderDb]]

    Gets all org.bitcoins.core.api.chain.db.BlockHeaderDbs at a given height

  19. abstract def getHeadersBetween(from: BlockHeaderDb, to: BlockHeaderDb): Future[Vector[BlockHeaderDb]]

    Fetchs the block headers between from and to (inclusive).

  20. abstract def getHeightByBlockStamp(blockStamp: BlockStamp): Future[Int]

    Returns the block height of the given block stamp

    Returns the block height of the given block stamp

    Definition Classes
    ChainApiChainQueryApi
  21. abstract def getMedianTimePast(): Future[Long]

    calculates the median time passed

    calculates the median time passed

    Definition Classes
    ChainQueryApi
  22. abstract def getNumberOfConfirmations(blockHash: DoubleSha256DigestBE): Future[Option[Int]]

    Gets number of confirmations for the given block hash

    Gets number of confirmations for the given block hash

    Definition Classes
    ChainQueryApi
  23. abstract def isIBD(): Future[Boolean]
  24. abstract def isSyncing(): Future[Boolean]
  25. abstract def isTipStale(): Future[Boolean]

    Checks if our chain tip is stale

  26. abstract def nextBlockHeaderBatchRange(prevStopHash: DoubleSha256DigestBE, stopHash: DoubleSha256DigestBE, batchSize: Int): Future[Option[FilterSyncMarker]]

    Generates a block range in form of (startHeight, stopHash) by the given stop hash.

    Generates a block range in form of (startHeight, stopHash) by the given stop hash. Returns None if we are synced

    prevStopHash

    our previous block hash where filter header sync stopped

    stopHash

    the block hash we want to sync the new batch of filters to

    batchSize

    the batch size of filter headers

  27. abstract def nextFilterHeaderBatchRange(stopBlockHash: DoubleSha256DigestBE, batchSize: Int, startHeightOpt: Option[Int]): Future[Option[FilterSyncMarker]]

    Generates a query for a range of compact filters

    Generates a query for a range of compact filters

    stopBlockHash

    the block hash to stop receiving filters at

    startHeightOpt

    the block height to start syncing filters from. If None, we query our chainstate for the last filter we've seen

  28. abstract def processCheckpoints(checkpoints: Vector[DoubleSha256DigestBE], blockHash: DoubleSha256DigestBE): Future[ChainApi]

    Process all compact filter header check points.

  29. abstract def processFilterHeaders(filterHeaders: Vector[FilterHeader], stopHash: DoubleSha256DigestBE): Future[ChainApi]

    Process all of the given compact filter headers and returns a new chain api that contains these headers.

  30. abstract def processFilters(message: Vector[CompactFilterMessage]): Future[ChainApi]

    Process all of the given compact filters and returns a new chain api that contains these headers.

  31. abstract def processHeaders(headers: Vector[BlockHeader]): Future[ChainApi]

    Process all of the given headers and returns a new chain api that contains these headers.

    Process all of the given headers and returns a new chain api that contains these headers. This method processes headers in the order that they are given. If the headers are out of order, this method will fail.

    This method will also fail when there are zero headers given that are valid.

  32. abstract def setIBD(value: Boolean): Future[ChainApi]
  33. abstract def setSyncing(value: Boolean): Future[ChainApi]

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 clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. def getBestHashBlockHeight()(implicit ec: ExecutionContext): Future[Int]
    Definition Classes
    ChainQueryApi
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def nextFilterHeaderBatchRange(stopBlockHash: DoubleSha256DigestBE, batchSize: Int): Future[Option[FilterSyncMarker]]

    Generates a filter header range in form of (startHeight, stopHash) by the given stop hash.

  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def processCheckpoint(filterHeaderHash: DoubleSha256DigestBE, blockHash: DoubleSha256DigestBE): Future[ChainApi]

    Adds a compact filter header check point into the list of check points.

  18. def processFilter(message: CompactFilterMessage): Future[ChainApi]

    Adds a compact filter into the filter database.

  19. def processFilterHeader(filterHeader: FilterHeader, blockHash: DoubleSha256DigestBE): Future[ChainApi]

    Adds a compact filter header into the filter header chain and returns a new chain api that contains this header

  20. def processHeader(header: BlockHeader): Future[ChainApi]

    Adds a block header to our chain project.

    Adds a block header to our chain project. This will return a failed future when the given header is invalid.

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

Inherited from ChainQueryApi

Inherited from AnyRef

Inherited from Any

Ungrouped