Packages

trait Node extends NodeApi with ChainQueryApi with StartStopAsync[Node] with P2PLogger

This a base trait for various kinds of nodes. It contains house keeping methods required for all nodes.

Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Node
  2. P2PLogger
  3. BitcoinSLogger
  4. StartStopAsync
  5. StartStop
  6. ChainQueryApi
  7. NodeApi
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. implicit abstract def chainAppConfig: ChainAppConfig
  2. abstract def downloadBlocks(blockHashes: Vector[DoubleSha256DigestBE]): Future[Unit]

    Request the underlying node to download the given blocks from its peers and feed the blocks to org.bitcoins.node.NodeCallbacks.

    Request the underlying node to download the given blocks from its peers and feed the blocks to org.bitcoins.node.NodeCallbacks.

    Definition Classes
    NodeApi
  3. 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
    ChainQueryApi
  4. abstract def getFiltersBetweenHeights(startHeight: Int, endHeight: Int): Future[Vector[FilterResponse]]
    Definition Classes
    ChainQueryApi
  5. 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
    ChainQueryApi
  6. implicit abstract def nodeAppConfig: NodeAppConfig
  7. abstract def peerManager: PeerManager
  8. abstract def stop(): Future[Node]
    Definition Classes
    StartStop
  9. abstract def sync(): Future[Unit]

    Starts to sync our node with our peer If our local best block hash is the same as our peers we will not sync, otherwise we will keep syncing until our best block hashes match up

    Starts to sync our node with our peer If our local best block hash is the same as our peers we will not sync, otherwise we will keep syncing until our best block hashes match up

    returns

    the peer we are syncing with, or a failed Future if we could not find a peer to sync with after 5 seconds

  10. implicit abstract def system: ActorSystem

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 broadcastTransaction(transaction: Transaction): Future[Unit]

    Broadcasts the given transaction over the P2P network

    Broadcasts the given transaction over the P2P network

    Definition Classes
    NodeApi
  6. def broadcastTransactions(transactions: Vector[Transaction]): Future[Unit]

    Broadcasts the given transaction over the P2P network

    Broadcasts the given transaction over the P2P network

    Definition Classes
    NodeNodeApi
  7. def chainApiFromDb()(implicit executionContext: ExecutionContext): Future[ChainApi]

    This is constructing a chain api from disk every time we call this method This involves database calls which can be slow and expensive to construct our Blockchain

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. 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
    NodeChainQueryApi
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. implicit def executionContext: ExecutionContext
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. 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
    NodeChainQueryApi
  15. def getBestHashBlockHeight()(implicit ec: ExecutionContext): Future[Int]
    Definition Classes
    ChainQueryApi
  16. def getBlockHeight(blockHash: DoubleSha256DigestBE): Future[Option[Int]]

    Gets the height of the given block

    Gets the height of the given block

    Definition Classes
    NodeChainQueryApi
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def getConnectionCount: Future[Int]
    Definition Classes
    NodeNodeApi
  19. def getMedianTimePast(): Future[Long]

    calculates the median time passed

    calculates the median time passed

    Definition Classes
    NodeChainQueryApi
  20. def getNumberOfConfirmations(blockHashOpt: DoubleSha256DigestBE): Future[Option[Int]]

    Gets number of confirmations for the given block hash

    Gets number of confirmations for the given block hash

    Definition Classes
    NodeChainQueryApi
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def logger: Logger
    Definition Classes
    BitcoinSLogger
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. def nodeCallbacks: NodeCallbacks
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. def start(): Future[Node]

    Starts our node

    Starts our node

    Definition Classes
    NodeStartStop
  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. lazy val txDAO: BroadcastAbleTransactionDAO
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from P2PLogger

Inherited from BitcoinSLogger

Inherited from StartStopAsync[Node]

Inherited from StartStop[Future[Node]]

Inherited from ChainQueryApi

Inherited from NodeApi

Inherited from AnyRef

Inherited from Any

Ungrouped