Trait

org.bitcoins.node

Node

Related Doc: package node

Permalink

trait Node extends NodeApi with ChainQueryApi with P2PLogger

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

Linear Supertypes
P2PLogger, ChainQueryApi, NodeApi, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Node
  2. P2PLogger
  3. ChainQueryApi
  4. NodeApi
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. implicit abstract def chainAppConfig: ChainAppConfig

    Permalink
  2. abstract def getFilterCount: Future[Int]

    Permalink
    Definition Classes
    ChainQueryApi
  3. abstract def getFiltersBetweenHeights(startHeight: Int, endHeight: Int): Future[Vector[FilterResponse]]

    Permalink
    Definition Classes
    ChainQueryApi
  4. abstract def getHeightByBlockStamp(blockStamp: BlockStamp): Future[Int]

    Permalink
    Definition Classes
    ChainQueryApi
  5. implicit abstract def nodeAppConfig: NodeAppConfig

    Permalink
  6. abstract val peer: Peer

    Permalink
  7. implicit abstract def system: ActorSystem

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addCallbacks(newCallbacks: NodeCallbacks): Node

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def broadcastTransaction(transaction: Transaction): Future[Unit]

    Permalink

    Broadcasts the given transaction over the P2P network

  7. def chainApiFromDb()(implicit executionContext: ExecutionContext): Future[ChainHandler]

    Permalink

    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. lazy val clientF: Future[P2PClient]

    Permalink

    Unlike our chain api, this is cached inside our node object.

    Unlike our chain api, this is cached inside our node object. Internally in p2p client you will see that the chain api is updated inside of the p2p client

  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def downloadBlocks(blockHashes: Vector[DoubleSha256Digest]): Future[Unit]

    Permalink

    Fetches the given blocks from the peers and calls the appropriate callbacks when done.

    Fetches the given blocks from the peers and calls the appropriate callbacks when done.

    Definition Classes
    Node → NodeApi
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. implicit def executionContext: ExecutionContext

    Permalink
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def getBestBlockHash(): Future[DoubleSha256DigestBE]

    Permalink

    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
    Node → ChainQueryApi
  16. def getBestHashBlockHeight()(implicit ec: ExecutionContext): Future[Int]

    Permalink
    Definition Classes
    ChainQueryApi
  17. def getBlockHeight(blockHash: DoubleSha256DigestBE): Future[Option[Int]]

    Permalink

    Gets the height of the given block

    Gets the height of the given block

    Definition Classes
    Node → ChainQueryApi
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  19. def getNumberOfConfirmations(blockHashOpt: DoubleSha256DigestBE): Future[Option[Int]]

    Permalink

    Gets number of confirmations for the given block hash

    Gets number of confirmations for the given block hash

    Definition Classes
    Node → ChainQueryApi
  20. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  21. def isConnected: Future[Boolean]

    Permalink

    Checks if we have a tcp connection with our peer

  22. def isDisconnected: Future[Boolean]

    Permalink
  23. def isInitialized: Future[Boolean]

    Permalink

    Checks if we are fully initialized with our peer and have executed the handshake This means we can now send arbitrary messages to our peer

  24. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  25. def logger(implicit config: NodeAppConfig): MarkedLogger

    Permalink
    Attributes
    protected
    Definition Classes
    P2PLogger
  26. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. def nodeCallbacks: NodeCallbacks

    Permalink
  28. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  30. lazy val peerMsgSenderF: Future[PeerMessageSender]

    Permalink
  31. def send(msg: NetworkPayload): Future[Unit]

    Permalink

    Sends the given P2P to our peer.

    Sends the given P2P to our peer. This method is useful for playing around with P2P messages, therefore marked as private[node].

  32. def start(): Future[Node]

    Permalink

    Starts our node

  33. def stop(): Future[Node]

    Permalink

    Stops our node

  34. def sync(): Future[Unit]

    Permalink

    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

  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  36. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  37. lazy val txDAO: BroadcastAbleTransactionDAO

    Permalink
  38. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from P2PLogger

Inherited from ChainQueryApi

Inherited from NodeApi

Inherited from AnyRef

Inherited from Any

Ungrouped