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.
- Alphabetic
- By Inheritance
- Node
- P2PLogger
- BitcoinSLogger
- StartStopAsync
- StartStop
- ChainQueryApi
- NodeApi
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- implicit abstract def chainAppConfig: ChainAppConfig
- 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
- abstract def getFiltersBetweenHeights(startHeight: Int, endHeight: Int): Future[Vector[FilterResponse]]
- Definition Classes
- ChainQueryApi
- 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
- implicit abstract def nodeAppConfig: NodeAppConfig
- abstract def peerManager: PeerManager
- abstract def stop(): Future[Node]
- Definition Classes
- StartStop
- 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
- implicit abstract def system: ActorSystem
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- def broadcastTransactions(transactions: Vector[Transaction]): Future[Unit]
Broadcasts the given transaction over the P2P network
- 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
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def downloadBlocks(blockHashes: Vector[DoubleSha256DigestBE]): Future[Unit]
Fetches the given blocks from the peers and calls the appropriate callbacks when done.
- 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
- Node → ChainQueryApi
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def executionContext: ExecutionContext
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- 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
- Node → ChainQueryApi
- def getBestHashBlockHeight()(implicit ec: ExecutionContext): Future[Int]
- Definition Classes
- ChainQueryApi
- def getBlockHeight(blockHash: DoubleSha256DigestBE): Future[Option[Int]]
Gets the height of the given block
Gets the height of the given block
- Definition Classes
- Node → ChainQueryApi
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getConnectionCount: Future[Int]
- def getMedianTimePast(): Future[Long]
calculates the median time passed
calculates the median time passed
- Definition Classes
- Node → ChainQueryApi
- 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
- Node → ChainQueryApi
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: Logger
- Definition Classes
- BitcoinSLogger
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def nodeCallbacks: NodeCallbacks
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def start(): Future[Node]
Starts our node
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- lazy val txDAO: BroadcastAbleTransactionDAO
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()