mirror of
https://github.com/embarklabs/web3.js.git
synced 2026-09-02 07:31:16 +00:00
484 lines
43 KiB
HTML
484 lines
43 KiB
HTML
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>web3.eth.subscribe — web3.js 1.0.0 documentation</title>
|
|
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
|
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
|
|
|
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
<script type="text/javascript" src="_static/language_data.js"></script>
|
|
|
|
<link rel="index" title="Index" href="genindex.html" />
|
|
<link rel="search" title="Search" href="search.html" />
|
|
<link rel="next" title="web3.eth.Contract" href="web3-eth-contract.html" />
|
|
<link rel="prev" title="web3.eth" href="web3-eth.html" />
|
|
</head><body>
|
|
<div class="related" role="navigation" aria-label="related navigation">
|
|
<h3>Navigation</h3>
|
|
<ul>
|
|
<li class="right" style="margin-right: 10px">
|
|
<a href="genindex.html" title="General Index"
|
|
accesskey="I">index</a></li>
|
|
<li class="right" >
|
|
<a href="web3-eth-contract.html" title="web3.eth.Contract"
|
|
accesskey="N">next</a> |</li>
|
|
<li class="right" >
|
|
<a href="web3-eth.html" title="web3.eth"
|
|
accesskey="P">previous</a> |</li>
|
|
<li class="nav-item nav-item-0"><a href="index.html">web3.js 1.0.0 documentation</a> »</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
<div class="body" role="main">
|
|
|
|
<div class="admonition note" id="eth-subscribe">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This documentation is work in progress and web3.js 1.0 stable is not yet released! You can find the current documentation for web3 0.x.x at <a class="reference external" href="https://github.com/ethereum/wiki/wiki/JavaScript-API">github.com/ethereum/wiki/wiki/JavaScript-API</a>.</p>
|
|
</div>
|
|
<div class="section" id="web3-eth-subscribe">
|
|
<h1>web3.eth.subscribe<a class="headerlink" href="#web3-eth-subscribe" title="Permalink to this headline">¶</a></h1>
|
|
<p>The <code class="docutils literal notranslate"><span class="pre">web3.eth.subscribe</span></code> function lets you subscribe to specific events in the blockchain.</p>
|
|
<div class="section" id="subscribe">
|
|
<h2>subscribe<a class="headerlink" href="#subscribe" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="nx">type</span> <span class="p">[,</span> <span class="nx">options</span><span class="p">]</span> <span class="p">[,</span> <span class="nx">callback</span><span class="p">]);</span>
|
|
</pre></div>
|
|
</div>
|
|
<div class="section" id="parameters">
|
|
<h3>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">String</span></code> - The subscription, you want to subscribe to.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Mixed</span></code> - (optional) Optional additional parameters, depending on the subscription type.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - (optional) Optional callback, returns an error object as first parameter and the result as second. Will be called for each incoming subscription, and the subscription itself as 3 parameter.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="returns">
|
|
<span id="eth-subscription-return"></span><h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
|
|
<p><code class="docutils literal notranslate"><span class="pre">EventEmitter</span></code> - A Subscription instance</p>
|
|
<blockquote>
|
|
<div><ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">subscription.id</span></code>: The subscription id, used to identify and unsubscribing the subscription.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">subscription.subscribe([callback])</span></code>: Can be used to re-subscribe with the same parameters.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">subscription.unsubscribe([callback])</span></code>: Unsubscribes the subscription and returns <cite>TRUE</cite> in the callback if successfull.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">subscription.arguments</span></code>: The subscription arguments, used when re-subscribing.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">on("data")</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires on each incoming log with the log object as argument.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">on("changed")</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires on each log which was removed from the blockchain. The log will have the additional property <code class="docutils literal notranslate"><span class="pre">"removed:</span> <span class="pre">true"</span></code>.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">on("error")</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires when an error in the subscription occurs.</li>
|
|
</ul>
|
|
</div></blockquote>
|
|
</div>
|
|
<div class="section" id="notification-returns">
|
|
<h3>Notification returns<a class="headerlink" href="#notification-returns" title="Permalink to this headline">¶</a></h3>
|
|
<ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">any</span></code> - depends on the subscription, see the different subscriptions for more.</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="example">
|
|
<h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="kr">const</span> <span class="nx">subscription</span> <span class="o">=</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'logs'</span><span class="p">,</span> <span class="p">{</span>
|
|
<span class="nx">address</span><span class="o">:</span> <span class="s1">'0x123456..'</span><span class="p">,</span>
|
|
<span class="nx">topics</span><span class="o">:</span> <span class="p">[</span><span class="s1">'0x12345...'</span><span class="p">]</span>
|
|
<span class="p">},</span> <span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">result</span><span class="p">){</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">error</span><span class="p">)</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">result</span><span class="p">);</span>
|
|
<span class="p">});</span>
|
|
|
|
<span class="c1">// unsubscribes the subscription</span>
|
|
<span class="nx">subscription</span><span class="p">.</span><span class="nx">unsubscribe</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">success</span><span class="p">){</span>
|
|
<span class="k">if</span><span class="p">(</span><span class="nx">success</span><span class="p">)</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'Successfully unsubscribed!'</span><span class="p">);</span>
|
|
<span class="p">});</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="clearsubscriptions">
|
|
<h2>clearSubscriptions<a class="headerlink" href="#clearsubscriptions" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">clearSubscriptions</span><span class="p">()</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Resets subscriptions.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">This will not reset subscriptions from other packages like <code class="docutils literal notranslate"><span class="pre">web3-shh</span></code>.</p>
|
|
</div>
|
|
<div class="section" id="id1">
|
|
<h3>Returns<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
|
|
<p><code class="docutils literal notranslate"><span class="pre">Promise<boolean></span></code></p>
|
|
</div>
|
|
<div class="section" id="id2">
|
|
<h3>Example<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'logs'</span><span class="p">,</span> <span class="p">{}</span> <span class="p">,</span><span class="kd">function</span><span class="p">(){</span> <span class="p">...</span> <span class="p">});</span>
|
|
|
|
<span class="p">...</span>
|
|
|
|
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">clearSubscriptions</span><span class="p">();</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="subscribe-pendingtransactions">
|
|
<h2>subscribe(“pendingTransactions”)<a class="headerlink" href="#subscribe-pendingtransactions" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'pendingTransactions'</span> <span class="p">[,</span> <span class="nx">callback</span><span class="p">]);</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Subscribes to incoming pending transactions.</p>
|
|
<div class="section" id="id3">
|
|
<h3>Parameters<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">String</span></code> - <code class="docutils literal notranslate"><span class="pre">"pendingTransactions"</span></code>, the type of the subscription.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - (optional) Optional callback, returns an error object as first parameter and the result as second. Will be called for each incoming subscription.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id4">
|
|
<h3>Returns<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
|
|
<p><code class="docutils literal notranslate"><span class="pre">EventEmitter</span></code>: An <a class="reference internal" href="#eth-subscription-return"><span class="std std-ref">subscription instance</span></a> as an event emitter with the following events:</p>
|
|
<ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">"data"</span></code> returns <code class="docutils literal notranslate"><span class="pre">String</span></code>: Fires on each incoming pending transaction and returns the transaction hash.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">"error"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires when an error in the subscription occurs.</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="id5">
|
|
<h3>Notification returns<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object|Null</span></code> - First parameter is an error object if the subscription failed.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">String</span></code> - Second parameter is the transaction hash.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id6">
|
|
<h3>Example<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="kr">const</span> <span class="nx">subscription</span> <span class="o">=</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'pendingTransactions'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">result</span><span class="p">){</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">error</span><span class="p">)</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">result</span><span class="p">);</span>
|
|
<span class="p">})</span>
|
|
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">"data"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">transaction</span><span class="p">){</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">transaction</span><span class="p">);</span>
|
|
<span class="p">});</span>
|
|
|
|
<span class="c1">// unsubscribes the subscription</span>
|
|
<span class="nx">subscription</span><span class="p">.</span><span class="nx">unsubscribe</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">success</span><span class="p">){</span>
|
|
<span class="k">if</span><span class="p">(</span><span class="nx">success</span><span class="p">)</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'Successfully unsubscribed!'</span><span class="p">);</span>
|
|
<span class="p">});</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="subscribe-newblockheaders">
|
|
<h2>subscribe(“newBlockHeaders”)<a class="headerlink" href="#subscribe-newblockheaders" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'newBlockHeaders'</span> <span class="p">[,</span> <span class="nx">callback</span><span class="p">]);</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Subscribes to incoming block headers. This can be used as timer to check for changes on the blockchain.</p>
|
|
<div class="section" id="id7">
|
|
<h3>Parameters<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">String</span></code> - <code class="docutils literal notranslate"><span class="pre">"newBlockHeaders"</span></code>, the type of the subscription.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - (optional) Optional callback, returns an error object as first parameter and the result as second. Will be called for each incoming subscription.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id8">
|
|
<h3>Returns<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
|
|
<p><code class="docutils literal notranslate"><span class="pre">EventEmitter</span></code>: An <a class="reference internal" href="#eth-subscription-return"><span class="std std-ref">subscription instance</span></a> as an event emitter with the following events:</p>
|
|
<ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">"data"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires on each incoming block header.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">"error"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires when an error in the subscription occurs.</li>
|
|
</ul>
|
|
<p>The structure of a returned block header is as follows:</p>
|
|
<blockquote>
|
|
<div><ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">number</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The block number. <code class="docutils literal notranslate"><span class="pre">null</span></code> when its pending block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">hash</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: Hash of the block. <code class="docutils literal notranslate"><span class="pre">null</span></code> when its pending block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">parentHash</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: Hash of the parent block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">nonce</span></code> 8 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: Hash of the generated proof-of-work. <code class="docutils literal notranslate"><span class="pre">null</span></code> when its pending block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">sha3Uncles</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: SHA3 of the uncles data in the block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">logsBloom</span></code> 256 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The bloom filter for the logs of the block. <code class="docutils literal notranslate"><span class="pre">null</span></code> when its pending block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">transactionsRoot</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The root of the transaction trie of the block</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">stateRoot</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The root of the final state trie of the block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">receiptsRoot</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: Transaction receipts are used to store the state after a transaction has been executed and are kept in an index-keyed trie. The hash of its root is placed in the block header as the receipts root.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">miner</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The address of the beneficiary to whom the mining rewards were given.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">extraData</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The “extra data” field of this block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">gasLimit</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The maximum gas allowed in this block.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">gasUsed</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The total used gas by all transactions in this block. It can be multiplied to <cite>gasPrice</cite> to obtain total amount in wei.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">timestamp</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The unix timestamp for when the block was collated.</li>
|
|
</ul>
|
|
</div></blockquote>
|
|
</div>
|
|
<div class="section" id="id9">
|
|
<h3>Notification returns<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object|Null</span></code> - First parameter is an error object if the subscription failed.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object</span></code> - The block header object like above.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id10">
|
|
<h3>Example<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="kr">const</span> <span class="nx">subscription</span> <span class="o">=</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'newBlockHeaders'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">result</span><span class="p">){</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">error</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">result</span><span class="p">);</span>
|
|
|
|
<span class="k">return</span><span class="p">;</span>
|
|
<span class="p">}</span>
|
|
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">error</span><span class="p">);</span>
|
|
<span class="p">})</span>
|
|
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">"data"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blockHeader</span><span class="p">){</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">blockHeader</span><span class="p">);</span>
|
|
<span class="p">})</span>
|
|
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">"error"</span><span class="p">,</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">);</span>
|
|
|
|
<span class="c1">// unsubscribes the subscription</span>
|
|
<span class="nx">subscription</span><span class="p">.</span><span class="nx">unsubscribe</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">success</span><span class="p">){</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="nx">success</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'Successfully unsubscribed!'</span><span class="p">);</span>
|
|
<span class="p">}</span>
|
|
<span class="p">});</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="subscribe-syncing">
|
|
<h2>subscribe(“syncing”)<a class="headerlink" href="#subscribe-syncing" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'syncing'</span> <span class="p">[,</span> <span class="nx">callback</span><span class="p">]);</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Subscribe to syncing events. This will return an object when the node is syncing and when its finished syncing will return <code class="docutils literal notranslate"><span class="pre">FALSE</span></code>.</p>
|
|
<div class="section" id="id11">
|
|
<h3>Parameters<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">String</span></code> - <code class="docutils literal notranslate"><span class="pre">"syncing"</span></code>, the type of the subscription.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - (optional) Optional callback, returns an error object as first parameter and the result as second. Will be called for each incoming subscription.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id12">
|
|
<h3>Returns<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h3>
|
|
<p><code class="docutils literal notranslate"><span class="pre">EventEmitter</span></code>: An <a class="reference internal" href="#eth-subscription-return"><span class="std std-ref">subscription instance</span></a> as an event emitter with the following events:</p>
|
|
<ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">"data"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires on each incoming sync object as argument.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">"changed"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires when the synchronisation is started with <code class="docutils literal notranslate"><span class="pre">true</span></code> and when finished with <code class="docutils literal notranslate"><span class="pre">false</span></code>.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">"error"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires when an error in the subscription occurs.</li>
|
|
</ul>
|
|
<p>For the structure of a returned event <code class="docutils literal notranslate"><span class="pre">Object</span></code> see <a class="reference internal" href="web3-eth.html#eth-issyncing-return"><span class="std std-ref">web3.eth.isSyncing return values</span></a>.</p>
|
|
</div>
|
|
<div class="section" id="id13">
|
|
<h3>Notification returns<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object|Null</span></code> - First parameter is an error object if the subscription failed.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object|Boolean</span></code> - The syncing object, when started it will return <code class="docutils literal notranslate"><span class="pre">true</span></code> once or when finished it will return <cite>false</cite> once.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id14">
|
|
<h3>Example<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h3>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="kr">const</span> <span class="nx">subscription</span> <span class="o">=</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'syncing'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">sync</span><span class="p">){</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">error</span><span class="p">)</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">sync</span><span class="p">);</span>
|
|
<span class="p">})</span>
|
|
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">"data"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">sync</span><span class="p">){</span>
|
|
<span class="c1">// show some syncing stats</span>
|
|
<span class="p">})</span>
|
|
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">"changed"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">isSyncing</span><span class="p">){</span>
|
|
<span class="k">if</span><span class="p">(</span><span class="nx">isSyncing</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="c1">// stop app operation</span>
|
|
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
|
|
<span class="c1">// regain app operation</span>
|
|
<span class="p">}</span>
|
|
<span class="p">});</span>
|
|
|
|
<span class="c1">// unsubscribes the subscription</span>
|
|
<span class="nx">subscription</span><span class="p">.</span><span class="nx">unsubscribe</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">success</span><span class="p">){</span>
|
|
<span class="k">if</span><span class="p">(</span><span class="nx">success</span><span class="p">)</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'Successfully unsubscribed!'</span><span class="p">);</span>
|
|
<span class="p">});</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="subscribe-logs">
|
|
<h2>subscribe(“logs”)<a class="headerlink" href="#subscribe-logs" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'logs'</span><span class="p">,</span> <span class="nx">options</span> <span class="p">[,</span> <span class="nx">callback</span><span class="p">]);</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Subscribes to incoming logs, filtered by the given options.</p>
|
|
<div class="section" id="id15">
|
|
<h3>Parameters<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">"logs"</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>, the type of the subscription.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object</span></code> - The subscription options</li>
|
|
</ol>
|
|
<blockquote>
|
|
<div><ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">fromBlock</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The number of the earliest block. By default <code class="docutils literal notranslate"><span class="pre">null</span></code>.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">address</span></code> - <code class="docutils literal notranslate"><span class="pre">String|Array</span></code>: An address or a list of addresses to only get logs from particular account(s).</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">topics</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code>: An array of values which must each appear in the log entries. The order is important, if you want to leave topics out use <code class="docutils literal notranslate"><span class="pre">null</span></code>, e.g. <code class="docutils literal notranslate"><span class="pre">[null,</span> <span class="pre">'0x00...']</span></code>. You can also pass another array for each topic with options for that topic e.g. <code class="docutils literal notranslate"><span class="pre">[null,</span> <span class="pre">['option1',</span> <span class="pre">'option2']]</span></code></li>
|
|
</ul>
|
|
</div></blockquote>
|
|
<ol class="arabic simple" start="3">
|
|
<li><code class="docutils literal notranslate"><span class="pre">callback</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code>: (optional) Optional callback, returns an error object as first parameter and the result as second. Will be called for each incoming subscription.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id16">
|
|
<h3>Returns<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h3>
|
|
<p><code class="docutils literal notranslate"><span class="pre">EventEmitter</span></code>: An <a class="reference internal" href="#eth-subscription-return"><span class="std std-ref">subscription instance</span></a> as an event emitter with the following events:</p>
|
|
<ul class="simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">"data"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires on each incoming log with the log object as argument.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">"changed"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires on each log which was removed from the blockchain. The log will have the additional property <code class="docutils literal notranslate"><span class="pre">"removed:</span> <span class="pre">true"</span></code>.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">"error"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: Fires when an error in the subscription occurs.</li>
|
|
</ul>
|
|
<p>For the structure of a returned event <code class="docutils literal notranslate"><span class="pre">Object</span></code> see <a class="reference internal" href="web3-eth.html#eth-getpastlogs-return"><span class="std std-ref">web3.eth.getPastEvents return values</span></a>.</p>
|
|
</div>
|
|
<div class="section" id="id17">
|
|
<h3>Notification returns<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h3>
|
|
<ol class="arabic simple">
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object|Null</span></code> - First parameter is an error object if the subscription failed.</li>
|
|
<li><code class="docutils literal notranslate"><span class="pre">Object</span></code> - The log object like in <a class="reference internal" href="web3-eth.html#eth-getpastlogs-return"><span class="std std-ref">web3.eth.getPastEvents return values</span></a>.</li>
|
|
</ol>
|
|
</div>
|
|
<div class="section" id="id18">
|
|
<h3>Example<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h3>
|
|
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="kr">const</span> <span class="nx">subscription</span> <span class="o">=</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="s1">'logs'</span><span class="p">,</span> <span class="p">{</span>
|
|
<span class="nx">address</span><span class="o">:</span> <span class="s1">'0x123456..'</span><span class="p">,</span>
|
|
<span class="nx">topics</span><span class="o">:</span> <span class="p">[</span><span class="s1">'0x12345...'</span><span class="p">]</span>
|
|
<span class="p">},</span> <span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">result</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">error</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">result</span><span class="p">);</span>
|
|
<span class="p">}</span>
|
|
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">error</span><span class="p">);</span>
|
|
<span class="p">})</span>
|
|
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">"data"</span><span class="p">,</span> <span class="p">(</span><span class="nx">log</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">log</span><span class="p">);</span>
|
|
<span class="p">})</span>
|
|
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">"changed"</span><span class="p">,</span> <span class="p">(</span><span class="nx">log</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">log</span><span class="p">);</span>
|
|
<span class="p">});</span>
|
|
|
|
<span class="c1">// unsubscribes the subscription</span>
|
|
<span class="nx">subscription</span><span class="p">.</span><span class="nx">unsubscribe</span><span class="p">((</span><span class="nx">error</span><span class="p">,</span> <span class="nx">success</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
|
<span class="k">if</span> <span class="p">(</span><span class="nx">success</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">'Successfully unsubscribed!'</span><span class="p">);</span>
|
|
<span class="p">}</span>
|
|
<span class="p">});</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
<div class="sphinxsidebarwrapper">
|
|
<h3><a href="index.html">Table of Contents</a></h3>
|
|
<ul>
|
|
<li><a class="reference internal" href="#">web3.eth.subscribe</a><ul>
|
|
<li><a class="reference internal" href="#subscribe">subscribe</a><ul>
|
|
<li><a class="reference internal" href="#parameters">Parameters</a></li>
|
|
<li><a class="reference internal" href="#returns">Returns</a></li>
|
|
<li><a class="reference internal" href="#notification-returns">Notification returns</a></li>
|
|
<li><a class="reference internal" href="#example">Example</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#clearsubscriptions">clearSubscriptions</a><ul>
|
|
<li><a class="reference internal" href="#id1">Returns</a></li>
|
|
<li><a class="reference internal" href="#id2">Example</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#subscribe-pendingtransactions">subscribe(“pendingTransactions”)</a><ul>
|
|
<li><a class="reference internal" href="#id3">Parameters</a></li>
|
|
<li><a class="reference internal" href="#id4">Returns</a></li>
|
|
<li><a class="reference internal" href="#id5">Notification returns</a></li>
|
|
<li><a class="reference internal" href="#id6">Example</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#subscribe-newblockheaders">subscribe(“newBlockHeaders”)</a><ul>
|
|
<li><a class="reference internal" href="#id7">Parameters</a></li>
|
|
<li><a class="reference internal" href="#id8">Returns</a></li>
|
|
<li><a class="reference internal" href="#id9">Notification returns</a></li>
|
|
<li><a class="reference internal" href="#id10">Example</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#subscribe-syncing">subscribe(“syncing”)</a><ul>
|
|
<li><a class="reference internal" href="#id11">Parameters</a></li>
|
|
<li><a class="reference internal" href="#id12">Returns</a></li>
|
|
<li><a class="reference internal" href="#id13">Notification returns</a></li>
|
|
<li><a class="reference internal" href="#id14">Example</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#subscribe-logs">subscribe(“logs”)</a><ul>
|
|
<li><a class="reference internal" href="#id15">Parameters</a></li>
|
|
<li><a class="reference internal" href="#id16">Returns</a></li>
|
|
<li><a class="reference internal" href="#id17">Notification returns</a></li>
|
|
<li><a class="reference internal" href="#id18">Example</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Previous topic</h4>
|
|
<p class="topless"><a href="web3-eth.html"
|
|
title="previous chapter">web3.eth</a></p>
|
|
<h4>Next topic</h4>
|
|
<p class="topless"><a href="web3-eth-contract.html"
|
|
title="next chapter">web3.eth.Contract</a></p>
|
|
<div role="note" aria-label="source link">
|
|
<h3>This Page</h3>
|
|
<ul class="this-page-menu">
|
|
<li><a href="_sources/web3-eth-subscribe.rst.txt"
|
|
rel="nofollow">Show Source</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchbox" style="display: none" role="search">
|
|
<h3>Quick search</h3>
|
|
<div class="searchformwrapper">
|
|
<form class="search" action="search.html" method="get">
|
|
<input type="text" name="q" />
|
|
<input type="submit" value="Go" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="related" role="navigation" aria-label="related navigation">
|
|
<h3>Navigation</h3>
|
|
<ul>
|
|
<li class="right" style="margin-right: 10px">
|
|
<a href="genindex.html" title="General Index"
|
|
>index</a></li>
|
|
<li class="right" >
|
|
<a href="web3-eth-contract.html" title="web3.eth.Contract"
|
|
>next</a> |</li>
|
|
<li class="right" >
|
|
<a href="web3-eth.html" title="web3.eth"
|
|
>previous</a> |</li>
|
|
<li class="nav-item nav-item-0"><a href="index.html">web3.js 1.0.0 documentation</a> »</li>
|
|
</ul>
|
|
</div>
|
|
<div class="footer" role="contentinfo">
|
|
© Copyright 2016, Ethereum.
|
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.3.
|
|
</div>
|
|
</body>
|
|
</html> |