mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-03-25 00:59:03 +01:00
41 lines
119 KiB
HTML
41 lines
119 KiB
HTML
|
<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title></title><meta content="" name="description"/><meta content="" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../lib/index.js"></script><script type="text/javascript" src="../../../index.js"></script><script type="text/javascript" src="../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
|
||
|
var toRoot = '../../../';</script></head><body><div id="search"><span id="doc-title"><span id="doc-version"></span></span> <span class="close-results"><span class="left"><</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_" class="anchorToMember"></a><a id="root:_root_" class="anchorToMember"></a> <span class="permalink"><a href="../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.org" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="org" class="anchorToMember"></a><a id="org:org" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">org</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="org.bitcoins" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="bitcoins" class="anchorToMember"></a><a id="bitcoins:bitcoins" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">bitcoins</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="org" id="org" class="extype">org</a></dd></dl></div></li><li class="indented3 " name="org.bitcoins.node" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="node" class="anchorToMember"></a><a id="node:node" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title=""><span class="name">node</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="org.bitcoins" id="org.bitcoins" class="extype">bitcoins</a></dd></dl></div></li><li class="indented4 " name="org.bitcoins.node.config" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="config" class="anchorToMember"></a><a id="config:config" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/config/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span cla
|
||
|
</p><div class="fullcomment"><div class="comment cmt"><p>Broadcasts the given transaction over the P2P network
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../core/api/node/NodeApi.html" name="org.bitcoins.core.api.node.NodeApi" id="org.bitcoins.core.api.node.NodeApi" class="extype">NodeApi</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.Node#broadcastTransactions" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="broadcastTransactions(transactions:Vector[org.bitcoins.core.protocol.transaction.Transaction]):scala.concurrent.Future[Unit]" class="anchorToMember"></a><a id="broadcastTransactions(Vector[Transaction]):Future[Unit]" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#broadcastTransactions(transactions:Vector[org.bitcoins.core.protocol.transaction.Transaction]):scala.concurrent.Future[Unit]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">broadcastTransactions</span><span class="params">(<span name="transactions">transactions: <a href="../../../scala/index.html#Vector[+A]=scala.collection.immutable.Vector[A]" name="scala.Vector" id="scala.Vector" class="extmbr">Vector</a>[<a href="../core/protocol/transaction/Transaction.html" name="org.bitcoins.core.protocol.transaction.Transaction" id="org.bitcoins.core.protocol.transaction.Transaction" class="extype">Transaction</a>]</span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="https://www.scala-lang.org/api/2.13.5/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a>]</span></span><p class="shortcomment cmt">Broadcasts the given transaction over the P2P network</p><div class="fullcomment"><div class="comment cmt"><p>Broadcasts the given transaction over the P2P network</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a> → <a href="../core/api/node/NodeApi.html" name="org.bitcoins.core.api.node.NodeApi" id="org.bitcoins.core.api.node.NodeApi" class="extype">NodeApi</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.Node#chainApiFromDb" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="chainApiFromDb()(implicitexecutionContext:scala.concurrent.ExecutionContext):scala.concurrent.Future[org.bitcoins.chain.blockchain.ChainHandlerCached]" class="anchorToMember"></a><a id="chainApiFromDb()(ExecutionContext):Future[ChainHandlerCached]" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#chainApiFromDb()(implicitexecutionContext:scala.concurrent.ExecutionContext):scala.concurrent.Future[org.bitcoins.chain.blockchain.ChainHandlerCached]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">chainApiFromDb</span><span class="params">()</span><span class="params">(<span class="implicit">implicit </span><span name="executionContext">executionContext: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/ExecutionContext.html#scala.concurrent.ExecutionContext" name="scala.concurrent.ExecutionContext" id="scala.concurrent.ExecutionContext" class="extype">ExecutionContext</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="../chain/blockchain/ChainHandlerCached.html" name="org.bitcoins.chain.blockchain.ChainHandlerCached" id="org.bitcoins.chain.blockchain.ChainHandlerCached" class="extype">ChainHandlerCached</a>]</span></span><p class="shortcomment cmt">This is c
|
||
|
This involves database calls which can be slow and expensive to construct
|
||
|
our <a href="../chain/blockchain/Blockchain.html" name="org.bitcoins.chain.blockchain.Blockchain" id="org.bitcoins.chain.blockchain.Blockchain" class="extype">Blockchain</a>
|
||
|
</p><div class="fullcomment"><div class="comment cmt"><p>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 <a href="../chain/blockchain/Blockchain.html" name="org.bitcoins.chain.blockchain.Blockchain" id="org.bitcoins.chain.blockchain.Blockchain" class="extype">Blockchain</a>
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.SpvNode#chainAppConfig" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="chainAppConfig:org.bitcoins.chain.config.ChainAppConfig" class="anchorToMember"></a><a id="chainAppConfig:ChainAppConfig" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#chainAppConfig:org.bitcoins.chain.config.ChainAppConfig" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">chainAppConfig</span><span class="result">: <a href="../chain/config/ChainAppConfig.html" name="org.bitcoins.chain.config.ChainAppConfig" id="org.bitcoins.chain.config.ChainAppConfig" class="extype">ChainAppConfig</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a> → <a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.SpvNode#chainConfig" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="chainConfig:org.bitcoins.chain.config.ChainAppConfig" class="anchorToMember"></a><a id="chainConfig:ChainAppConfig" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#chainConfig:org.bitcoins.chain.config.ChainAppConfig" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">chainConfig</span><span class="result">: <a href="../chain/config/ChainAppConfig.html" name="org.bitcoins.chain.config.ChainAppConfig" id="org.bitcoins.chain.config.ChainAppConfig" class="extype">ChainAppConfig</a></span></span></li><li class="indented0 " name="org.bitcoins.node.Node#client" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="client:org.bitcoins.node.networking.P2PClient" class="anchorToMember"></a><a id="client:P2PClient" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#client:org.bitcoins.node.networking.P2PClient" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">lazy val</span></span> <span class="symbol"><span class="name">client</span><span class="result">: <a href="networking/P2PClient.html" name="org.bitcoins.node.networking.P2PClient" id="org.bitcoins.node.networking.P2PClient" class="extype">P2PClient</a></span></span><p class="shortcomment cmt">Unlike our chain api, this is cached inside our node
|
||
|
object.</p><div class="fullcomment"><div class="comment cmt"><p>Unlike our chain api, this is cached inside our node
|
||
|
object. Internally in <a href="networking/P2PClient.html" name="org.bitcoins.node.networking.P2PClient" id="org.bitcoins.node.networking.P2PClient" class="extype">p2p client</a> you will see that
|
||
|
the <span name="ChainApi" class="extype">chain api</span> is updated inside of the p2p client
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object" class="anchorToMember"></a><a id="clone():AnyRef" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">clone</span><span class="params">()</span><span class="result">: <a href="../../../scala/index.html#AnyRef=Object" name="scala.AnyRef" id="scala.AnyRef" class="extmbr">AnyRef</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.SpvNode#dataMessageHandler" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="dataMessageHandler:org.bitcoins.node.networking.peer.DataMessageHandler" class="anchorToMember"></a><a id="dataMessageHandler:DataMessageHandler" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#dataMessageHandler:org.bitcoins.node.networking.peer.DataMessageHandler" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">dataMessageHandler</span><span class="result">: <a href="networking/peer/DataMessageHandler.html" name="org.bitcoins.node.networking.peer.DataMessageHandler" id="org.bitcoins.node.networking.peer.DataMessageHandler" class="extype">DataMessageHandler</a></span></span><p class="shortcomment cmt">The current data message handler.</p><div class="fullcomment"><div class="comment cmt"><p>The current data message handler.
|
||
|
It should be noted that the dataMessageHandler contains
|
||
|
chainstate. When we update with a new chainstate, we need to
|
||
|
maek sure we update the <span name="DataMessageHandler" class="extype">DataMessageHandler</span> via <span name="updateDataMessageHandler()" class="extype">updateDataMessageHandler()</span>
|
||
|
to make sure we don't corrupt our chainstate cache
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a> → <a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#debug" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="debug(mkr:org.slf4j.Marker,msg:=>Any,t:=>Throwable):Unit" class="anchorToMember"></a><a id="debug(Marker,=>Any,=>Throwable):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#debug(mkr:org.slf4j.Marker,msg:=>Any,t:=>Throwable):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">debug</span><span class="params">(<span name="mkr">mkr: <a href="https://javadoc.io/page/org.slf4j/slf4j-api/1.7.30/org/slf4j/Marker.html#org.slf4j.Marker" name="org.slf4j.Marker" id="org.slf4j.Marker" class="extype">Marker</a></span>, <span name="msg">msg: => <a href="https://www.scala-lang.org/api/2.13.5/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></span>, <span name="t">t: => <a href="../../../scala/index.html#Throwable=Throwable" name="scala.Throwable" id="scala.Throwable" class="extmbr">Throwable</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>Logging</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#debug" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="debug(msg:=>Any,t:=>Throwable):Unit" class="anchorToMember"></a><a id="debug(=>Any,=>Throwable):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#debug(msg:=>Any,t:=>Throwable):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">debug</span><span class="params">(<span name="msg">msg: => <a href="https://www.scala-lang.org/api/2.13.5/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></span>, <span name="t">t: => <a href="../../../scala/index.html#Throwable=Throwable" name="scala.Throwable" id="scala.Throwable" class="extmbr">Throwable</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>Logging</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#debug" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="debug(msg:=>Any):Unit" class="anchorToMember"></a><a id="debug(=>Any):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#debug(msg:=>Any):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">debug</span><span class="params">(<span name="msg">msg: => <a href="https://www.scala-lang.org/api/2.13.5/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>prote
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a> → <a href="../core/api/node/NodeApi.html" name="org.bitcoins.core.api.node.NodeApi" id="org.bitcoins.core.api.node.NodeApi" class="extype">NodeApi</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.Node#epochSecondToBlockHeight" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="epochSecondToBlockHeight(time:Long):scala.concurrent.Future[Int]" class="anchorToMember"></a><a id="epochSecondToBlockHeight(Long):Future[Int]" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#epochSecondToBlockHeight(time:Long):scala.concurrent.Future[Int]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">epochSecondToBlockHeight</span><span class="params">(<span name="time">time: <a href="https://www.scala-lang.org/api/2.13.5/scala/Long.html#scala.Long" name="scala.Long" id="scala.Long" class="extype">Long</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="https://www.scala-lang.org/api/2.13.5/scala/Int.html#scala.Int" name="scala.Int" id="scala.Int" class="extype">Int</a>]</span></span><p class="shortcomment cmt">Gets the block height of the closest block to the given time</p><div class="fullcomment"><div class="comment cmt"><p>Gets the block height of the closest block to the given time</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a> → <a href="../core/api/chain/ChainQueryApi.html" name="org.bitcoins.core.api.chain.ChainQueryApi" id="org.bitcoins.core.api.chain.ChainQueryApi" class="extype">ChainQueryApi</a></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean" class="anchorToMember"></a><a id="eq(AnyRef):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#eq(x$1:AnyRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">eq</span><span class="params">(<span name="arg0">arg0: <a href="../../../scala/index.html#AnyRef=Object" name="scala.AnyRef" id="scala.AnyRef" class="extmbr">AnyRef</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#error" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="error(mkr:org.slf4j.Marker,msg:=>Any,t:=>Throwable):Unit" class="anchorToMember"></a><a id="error(Marker,=>Any,=>Throwable):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#error(mkr:org.slf4j.Marker,msg:=>Any,t:=>Throwable):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">error</span><span class="params">(<span name="mkr">mkr: <a href="https://javadoc.io/page/org.slf4j/slf4j-api/1.7.30/org/slf4j/Marker.html#org.slf4j.Marker" name="org.slf4j.Marker" id="org.slf4j.Marker" class="extype">Marker</a></span>, <span name="msg">msg: => <a href="https://www.scal
|
||
|
This means we can now send arbitrary messages to our peer
|
||
|
</p><div class="fullcomment"><div class="comment cmt"><p>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
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="scala.Any#isInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="isInstanceOf[T0]:Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#isInstanceOf[T0]:Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#isTraceEnabled" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="isTraceEnabled:Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#isTraceEnabled:Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">isTraceEnabled</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>Logging</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#isWarnEnabled" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="isWarnEnabled:Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#isWarnEnabled:Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">isWarnEnabled</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Boolean.html#scala.Boolean" name="scala.Boolean" id="scala.Boolean" class="extype">Boolean</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>Logging</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#logger" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="logger:grizzled.slf4j.Logger" class="anchorToMember"></a><a id="logger:Logger" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#logger:grizzled.slf4j.Logger" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">logger</span><span class="result">: <a href="https://javadoc.io/page/org.clapper/grizzled-slf4j_2.13/1.3.4/grizzled/slf4j/Logger.html#grizzled.slf4j.Logger" name="grizzled.slf4j.Logger" id="grizzled.slf4j.Logger" class="extype">Logger</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>Logging</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#loggerName" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="loggerName:String" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#loggerName:String" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind
|
||
|
This method is useful for playing around
|
||
|
with P2P messages, therefore marked as
|
||
|
<code>private[node]</code>.
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.SpvNode#setBloomFilter" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="setBloomFilter(bloom:org.bitcoins.core.bloom.BloomFilter):org.bitcoins.node.SpvNode" class="anchorToMember"></a><a id="setBloomFilter(BloomFilter):SpvNode" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#setBloomFilter(bloom:org.bitcoins.core.bloom.BloomFilter):org.bitcoins.node.SpvNode" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">setBloomFilter</span><span class="params">(<span name="bloom">bloom: <a href="../core/bloom/BloomFilter.html" name="org.bitcoins.core.bloom.BloomFilter" id="org.bitcoins.core.bloom.BloomFilter" class="extype">BloomFilter</a></span>)</span><span class="result">: <a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a></span></span></li><li class="indented0 " name="org.bitcoins.node.SpvNode#start" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="start():scala.concurrent.Future[org.bitcoins.node.SpvNode]" class="anchorToMember"></a><a id="start():Future[SpvNode]" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#start():scala.concurrent.Future[org.bitcoins.node.SpvNode]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">start</span><span class="params">()</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a>]</span></span><p class="shortcomment cmt">Starts our node</p><div class="fullcomment"><div class="comment cmt"><p>Starts our node</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a> → <a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.Node#stop" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="stop():scala.concurrent.Future[org.bitcoins.node.Node]" class="anchorToMember"></a><a id="stop():Future[Node]" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#stop():scala.concurrent.Future[org.bitcoins.node.Node]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">stop</span><span class="params">()</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a>]</span></span><p class="shortcomment cmt">Stops our node</p><div class="fullcomment"><div class="comment cmt"><p>Stops our node</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.Node#sync" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="sync():scala.concurrent.Future[Unit]"
|
||
|
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
|
||
|
</p><div class="fullcomment"><div class="comment cmt"><p>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
|
||
|
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=>T0):T0" class="anchorToMember"></a><a id="synchronized[T0](=>T0):T0" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#synchronized[T0](x$1:=>T0):T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: => <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.SpvNode#system" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="system:akka.actor.ActorSystem" class="anchorToMember"></a><a id="system:ActorSystem" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#system:akka.actor.ActorSystem" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">implicit </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">system</span><span class="result">: <a href="https://doc.akka.io/api/akka/2.6.14/akka/actor/ActorSystem.html#akka.actor.ActorSystem" name="akka.actor.ActorSystem" id="akka.actor.ActorSystem" class="extype">ActorSystem</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a> → <a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#trace" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="trace(mkr:org.slf4j.Marker,msg:=>Any,t:=>Throwable):Unit" class="anchorToMember"></a><a id="trace(Marker,=>Any,=>Throwable):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#trace(mkr:org.slf4j.Marker,msg:=>Any,t:=>Throwable):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">trace</span><span class="params">(<span name="mkr">mkr: <a href="https://javadoc.io/page/org.slf4j/slf4j-api/1.7.30/org/slf4j/Marker.html#org.slf4j.Marker" name="org.slf4j.Marker" id="org.slf4j.Marker" class="extype">Marker</a></span>, <span name="msg">msg: => <a href="https://www.scala-lang.org/api/2.13.5/scala/Any.html#scala.Any" name="scala.Any" id="scala.Any" class="extype">Any</a></span>, <span name="t">t: => <a href="../../../scala/index.html#Throwable=Throwable" name="scala.Throwable" id="scala.Throwable" class="extmbr">Throwable</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>Logging</dd></dl></div></li><li class="indented0 " name="grizzled.slf4j.Logging#trace" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="trace(msg:=>Any,t:=>Throwable):Unit" class="anchorToMember"></a><a id="trace(=>Any,=>Throwable):Unit" class="anchorToMember
|
||
|
</p><div class="fullcomment"><div class="comment cmt"><p>Updates our bloom filter to match the given address
|
||
|
</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>SPV node with the updated bloom filter</p></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.SpvNode#updateBloomFilter" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="updateBloomFilter(transaction:org.bitcoins.core.protocol.transaction.Transaction):scala.concurrent.Future[org.bitcoins.node.SpvNode]" class="anchorToMember"></a><a id="updateBloomFilter(Transaction):Future[SpvNode]" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#updateBloomFilter(transaction:org.bitcoins.core.protocol.transaction.Transaction):scala.concurrent.Future[org.bitcoins.node.SpvNode]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">updateBloomFilter</span><span class="params">(<span name="transaction">transaction: <a href="../core/protocol/transaction/Transaction.html" name="org.bitcoins.core.protocol.transaction.Transaction" id="org.bitcoins.core.protocol.transaction.Transaction" class="extype">Transaction</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/concurrent/Future.html#scala.concurrent.Future" name="scala.concurrent.Future" id="scala.concurrent.Future" class="extype">Future</a>[<a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a>]</span></span><p class="shortcomment cmt">Updates our bloom filter to match the given TX
|
||
|
</p><div class="fullcomment"><div class="comment cmt"><p>Updates our bloom filter to match the given TX
|
||
|
</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>SPV node with the updated bloom filter</p></dd></dl></div></li><li class="indented0 " name="org.bitcoins.node.SpvNode#updateDataMessageHandler" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="updateDataMessageHandler(dataMessageHandler:org.bitcoins.node.networking.peer.DataMessageHandler):org.bitcoins.node.SpvNode" class="anchorToMember"></a><a id="updateDataMessageHandler(DataMessageHandler):SpvNode" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#updateDataMessageHandler(dataMessageHandler:org.bitcoins.node.networking.peer.DataMessageHandler):org.bitcoins.node.SpvNode" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">updateDataMessageHandler</span><span class="params">(<span name="dataMessageHandler">dataMessageHandler: <a href="networking/peer/DataMessageHandler.html" name="org.bitcoins.node.networking.peer.DataMessageHandler" id="org.bitcoins.node.networking.peer.DataMessageHandler" class="extype">DataMessageHandler</a></span>)</span><span class="result">: <a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="org.bitcoins.node.SpvNode" id="org.bitcoins.node.SpvNode" class="extype">SpvNode</a> → <a href="Node.html" name="org.bitcoins.node.Node" id="org.bitcoins.node.Node" class="extype">Node</a></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#wait():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">()</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit" class="anchorToMember"></a><a id="wait(Long,Int):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../org/bitcoins/node/SpvNode.html#wait(x$1:Long,x$2:Int):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <a href="https://www.scala-lang.org/api/2.13.5/scala/Long.html#scala.Long" name="scala.Long" id="scala.Long" class="extype">Long</a></span>, <span name="arg1">arg1: <a href="https://www.scala-lang.org/api/2.13.5/scala/Int.html#scala.Int" name="scala.Int" id="scala.Int" class="extype">Int</a></span>)</span><span class="result">: <a href="https://www.scala-lang.org/api/2.13.5/scala/Unit.html#scala.Unit" name="scala.Unit" id="scala.Unit" class="extype">Unit</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" da
|