Files
web3.js/docs/_build/html/web3.html
T
2019-02-06 17:06:08 +01:00

589 lines
45 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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 &#8212; 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" href="web3-eth.html" />
<link rel="prev" title="Glossary" href="glossary.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.html" title="web3.eth"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="glossary.html" title="Glossary"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">web3.js 1.0.0 documentation</a> &#187;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="admonition note">
<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">
<h1>Web3<a class="headerlink" href="#web3" title="Permalink to this headline"></a></h1>
<blockquote>
<div>The Web3 class is a wrapper to house all Ethereum related modules.</div></blockquote>
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="p">{</span><span class="nx">Web3</span><span class="p">}</span> <span class="nx">from</span> <span class="s1">&#39;web3&#39;</span><span class="p">;</span>
<span class="c1">// &quot;Web3.providers.givenProvider&quot; will be set if in an Ethereum supported browser.</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="nx">Web3</span><span class="p">.</span><span class="nx">givenProvider</span> <span class="o">||</span> <span class="s1">&#39;ws://some.local-or-remote.node:8546&#39;</span><span class="p">);</span>
<span class="o">&gt;</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span>
<span class="o">&gt;</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span>
<span class="o">&gt;</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">bzz</span>
<span class="o">&gt;</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">utils</span>
<span class="o">&gt;</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">version</span>
</pre></div>
</div>
<hr class="docutils" />
<div class="section" id="web3-modules">
<h2>Web3.modules<a class="headerlink" href="#web3-modules" title="Permalink to this headline"></a></h2>
<blockquote>
<div>Static property of the Web3 class</div></blockquote>
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">Web3</span><span class="p">.</span><span class="nx">modules</span>
<span class="nx">Will</span> <span class="k">return</span> <span class="nx">an</span> <span class="nx">object</span> <span class="kd">with</span> <span class="nx">the</span> <span class="nx">classes</span> <span class="k">of</span> <span class="nx">all</span> <span class="nx">major</span> <span class="nx">sub</span> <span class="nx">modules</span><span class="p">,</span> <span class="nx">to</span> <span class="nx">be</span> <span class="nx">able</span> <span class="nx">to</span> <span class="nx">instantiate</span> <span class="nx">them</span> <span class="nx">manually</span><span class="p">.</span>
</pre></div>
</div>
<div class="section" id="returns">
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline"></a></h3>
<dl class="docutils">
<dt><code class="docutils literal notranslate"><span class="pre">Object</span></code>: A list of modules:</dt>
<dd><ul class="first last simple">
<li><code class="docutils literal notranslate"><span class="pre">Eth</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code>: the Eth module for interacting with the Ethereum network see <a class="reference internal" href="web3-eth.html#eth"><span class="std std-ref">web3.eth</span></a> for more.</li>
<li><code class="docutils literal notranslate"><span class="pre">Net</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code>: the Net module for interacting with network properties see <a class="reference internal" href="web3-eth-net.html#eth-net"><span class="std std-ref">web3.eth.net</span></a> for more.</li>
<li><code class="docutils literal notranslate"><span class="pre">Personal</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code>: the Personal module for interacting with the Ethereum accounts see <a class="reference internal" href="web3-eth-personal.html#eth-personal"><span class="std std-ref">web3.eth.personal</span></a> for more.</li>
<li><code class="docutils literal notranslate"><span class="pre">Shh</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code>: the Shh module for interacting with the whisper protocol see <a class="reference internal" href="web3-shh.html#shh"><span class="std std-ref">web3.shh</span></a> for more.</li>
<li><code class="docutils literal notranslate"><span class="pre">Bzz</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code>: the Bzz module for interacting with the swarm network see <a class="reference internal" href="web3-bzz.html#bzz"><span class="std std-ref">web3.bzz</span></a> for more.</li>
</ul>
</dd>
</dl>
</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="nx">Web3</span><span class="p">.</span><span class="nx">modules</span>
<span class="o">&gt;</span> <span class="p">{</span>
<span class="nx">Eth</span><span class="o">:</span> <span class="nx">Eth</span> <span class="kd">function</span><span class="p">(</span><span class="nx">provider</span><span class="p">,</span> <span class="nx">options</span><span class="o">?</span><span class="p">,</span> <span class="nx">net</span><span class="o">?</span><span class="p">),</span>
<span class="nx">Net</span><span class="o">:</span> <span class="nx">Net</span> <span class="kd">function</span><span class="p">(</span><span class="nx">provider</span><span class="p">,</span> <span class="nx">options</span><span class="o">?</span><span class="p">,</span> <span class="nx">net</span><span class="o">?</span><span class="p">),</span>
<span class="nx">Personal</span><span class="o">:</span> <span class="nx">Personal</span> <span class="kd">function</span><span class="p">(</span><span class="nx">provider</span><span class="p">,</span> <span class="nx">options</span><span class="o">?</span><span class="p">,</span> <span class="nx">net</span><span class="o">?</span><span class="p">),</span>
<span class="nx">Shh</span><span class="o">:</span> <span class="nx">Shh</span> <span class="kd">function</span><span class="p">(</span><span class="nx">provider</span><span class="p">,</span> <span class="nx">options</span><span class="o">?</span><span class="p">,</span> <span class="nx">net</span><span class="o">?</span><span class="p">),</span>
<span class="nx">Bzz</span><span class="o">:</span> <span class="nx">Bzz</span> <span class="kd">function</span><span class="p">(</span><span class="nx">provider</span><span class="p">,</span> <span class="nx">options</span><span class="o">?</span><span class="p">,</span> <span class="nx">net</span><span class="o">?</span><span class="p">),</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="options">
<h2>options<a class="headerlink" href="#options" title="Permalink to this headline"></a></h2>
<p>An Web3 module does provide several options for configuring the transaction confirmation worklfow or for defining default values.
These are the currently available option properties on a Web3 module:</p>
<div class="section" id="module-options">
<h3>Module Options<a class="headerlink" href="#module-options" title="Permalink to this headline"></a></h3>
<p><a class="reference internal" href="web3-shh.html#web3-module-defaultaccount"><span class="std std-ref">defaultAccount</span></a></p>
<p><a class="reference internal" href="web3-shh.html#web3-module-defaultblock"><span class="std std-ref">defaultBlock</span></a></p>
<p><a class="reference internal" href="web3-shh.html#web3-module-defaultgas"><span class="std std-ref">defaultGas</span></a></p>
<p><a class="reference internal" href="web3-shh.html#web3-module-defaultaccount"><span class="std std-ref">defaultGasPrice</span></a></p>
<p><a class="reference internal" href="web3-shh.html#web3-module-transactionblocktimeout"><span class="std std-ref">transactionBlockTimeout</span></a></p>
<p><a class="reference internal" href="web3-shh.html#web3-module-transactionconfirmationblocks"><span class="std std-ref">transactionConfirmationBlocks</span></a></p>
<p><a class="reference internal" href="web3-shh.html#web3-module-transactionpollingtimeout"><span class="std std-ref">transactionPollingTimeout</span></a></p>
</div>
<div class="section" id="id1">
<h3>Example<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h3>
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="kr">import</span> <span class="nx">Web3</span> <span class="nx">from</span> <span class="s1">&#39;web3&#39;</span><span class="p">;</span>
<span class="kr">const</span> <span class="nx">options</span> <span class="o">=</span> <span class="p">{</span>
<span class="nx">defaultAccount</span><span class="o">:</span> <span class="s1">&#39;0x0&#39;</span><span class="p">,</span>
<span class="nx">defaultBlock</span><span class="o">:</span> <span class="s1">&#39;latest&#39;</span><span class="p">,</span>
<span class="nx">defaultGas</span><span class="o">:</span> <span class="mi">1</span><span class="p">,</span>
<span class="nx">defaultGasPrice</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="nx">transactionBlockTimeout</span><span class="o">:</span> <span class="mi">50</span><span class="p">,</span>
<span class="nx">transactionConfirmationBlocks</span><span class="o">:</span> <span class="mi">24</span><span class="p">,</span>
<span class="nx">transactionPollingTimeout</span><span class="o">:</span> <span class="mi">480</span>
<span class="p">}</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="s1">&#39;http://localhost:8545&#39;</span><span class="p">,</span> <span class="nx">options</span><span class="p">);</span>
</pre></div>
</div>
<hr class="docutils" />
</div>
</div>
<div class="section" id="defaultblock">
<span id="web3-module-defaultblock"></span><h2>defaultBlock<a class="headerlink" href="#defaultblock" 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">defaultBlock</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">defaultBlock</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">defaultBlock</span>
<span class="p">...</span>
</pre></div>
</div>
<p>The default block which will be used for a requests.</p>
<div class="section" id="id2">
<h3>Returns<a class="headerlink" href="#id2" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">string|number</span></code>: The current value of the defaultBlock property.</p>
<hr class="docutils" />
</div>
</div>
<div class="section" id="defaultaccount">
<span id="web3-module-defaultaccount"></span><h2>defaultAccount<a class="headerlink" href="#defaultaccount" 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">defaultAccount</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">defaultAccount</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">defaultAccount</span>
<span class="p">...</span>
</pre></div>
</div>
<p>The default account which will be used for a requests.</p>
<div class="section" id="id3">
<h3>Returns<a class="headerlink" href="#id3" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">null|string</span></code>: The current value of the defaultAccount property.</p>
<hr class="docutils" />
</div>
</div>
<div class="section" id="defaultgasprice">
<span id="web3-module-defaultgasprice"></span><h2>defaultGasPrice<a class="headerlink" href="#defaultgasprice" 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">defaultGasPrice</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">defaultGasPrice</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">defaultGasPrice</span>
<span class="p">...</span>
</pre></div>
</div>
<p>The default gas price which will be used for a request.</p>
<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">string|number</span></code>: The current value of the defaultGasPrice property.</p>
<hr class="docutils" />
</div>
</div>
<div class="section" id="defaultgas">
<span id="web3-module-defaultgas"></span><h2>defaultGas<a class="headerlink" href="#defaultgas" 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">defaultGas</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">defaultGas</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">defaultGas</span>
<span class="p">...</span>
</pre></div>
</div>
<p>The default gas which will be used for a request.</p>
<div class="section" id="id5">
<h3>Returns<a class="headerlink" href="#id5" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">string|number</span></code>: The current value of the defaultGas property.</p>
<hr class="docutils" />
</div>
</div>
<div class="section" id="transactionblocktimeout">
<span id="web3-module-transactionblocktimeout"></span><h2>transactionBlockTimeout<a class="headerlink" href="#transactionblocktimeout" 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">transactionBlockTimeout</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">transactionBlockTimeout</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">transactionBlockTimeout</span>
<span class="p">...</span>
</pre></div>
</div>
<p>This can be used with a socket provider and defines the number of blocks until the PromiEvent
rejects with a timeout error.</p>
<div class="section" id="id6">
<h3>Returns<a class="headerlink" href="#id6" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">number</span></code>: The current value of transactionBlockTimeout</p>
<hr class="docutils" />
</div>
</div>
<div class="section" id="transactionconfirmationblocks">
<span id="web3-module-transactionconfirmationblocks"></span><h2>transactionConfirmationBlocks<a class="headerlink" href="#transactionconfirmationblocks" 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">transactionConfirmationBlocks</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">transactionConfirmationBlocks</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">transactionConfirmationBlocks</span>
<span class="p">...</span>
</pre></div>
</div>
<p>This defines the number of blocks it requires until a transaction will be handled as confirmed.
The PromiEvent will resolve with the desired receipt when enough confirmations happened.</p>
<div class="section" id="id7">
<h3>Returns<a class="headerlink" href="#id7" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">number</span></code>: The current value of transactionConfirmationBlocks</p>
<hr class="docutils" />
</div>
</div>
<div class="section" id="transactionpollingtimeout">
<span id="web3-module-transactionpollingtimeout"></span><h2>transactionPollingTimeout<a class="headerlink" href="#transactionpollingtimeout" 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">transactionPollingTimeout</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">transactionPollingTimeout</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">transactionPollingTimeout</span>
<span class="p">...</span>
</pre></div>
</div>
<p>This defines the polling cycles amount when you send a transaction with the HttpProvider.
The PromiEvent rejects with a timeout error when the timeout got exceeded. (1 cycle == 1sec.).</p>
<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">number</span></code>: The current value of transactionPollingTimeout</p>
</div>
</div>
<hr class="docutils" />
<div class="section" id="setprovider">
<h2>setProvider<a class="headerlink" href="#setprovider" 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">setProvider</span><span class="p">(</span><span class="nx">myProvider</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">setProvider</span><span class="p">(</span><span class="nx">myProvider</span><span class="p">)</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">setProvider</span><span class="p">(</span><span class="nx">myProvider</span><span class="p">)</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">bzz</span><span class="p">.</span><span class="nx">setProvider</span><span class="p">(</span><span class="nx">myProvider</span><span class="p">)</span>
<span class="p">...</span>
</pre></div>
</div>
<p>Will change the provider for its module.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">When called on the umbrella package <code class="docutils literal notranslate"><span class="pre">web3</span></code> it will also set the provider for all sub modules <code class="docutils literal notranslate"><span class="pre">web3.eth</span></code>, <code class="docutils literal notranslate"><span class="pre">web3.shh</span></code>, etc EXCEPT <code class="docutils literal notranslate"><span class="pre">web3.bzz</span></code> which needs a separate provider at all times.</p>
</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">Object|String</span></code> - <code class="docutils literal notranslate"><span class="pre">provider</span></code>: a valid provider</li>
<li><code class="docutils literal notranslate"><span class="pre">Net</span></code> - <code class="docutils literal notranslate"><span class="pre">net</span></code>: (optional) the node.js Net package. This is only required for the IPC provider.</li>
</ol>
</div>
<div class="section" id="id9">
<h3>Returns<a class="headerlink" href="#id9" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">Boolean</span></code></p>
</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">import</span> <span class="nx">Web3</span> <span class="nx">from</span> <span class="s1">&#39;web3&#39;</span><span class="p">;</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="s1">&#39;http://localhost:8545&#39;</span><span class="p">);</span>
<span class="c1">// or</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="k">new</span> <span class="nx">Web3</span><span class="p">.</span><span class="nx">providers</span><span class="p">.</span><span class="nx">HttpProvider</span><span class="p">(</span><span class="s1">&#39;http://localhost:8545&#39;</span><span class="p">));</span>
<span class="c1">// change provider</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">setProvider</span><span class="p">(</span><span class="s1">&#39;ws://localhost:8546&#39;</span><span class="p">);</span>
<span class="c1">// or</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">setProvider</span><span class="p">(</span><span class="k">new</span> <span class="nx">Web3</span><span class="p">.</span><span class="nx">providers</span><span class="p">.</span><span class="nx">WebsocketProvider</span><span class="p">(</span><span class="s1">&#39;ws://localhost:8546&#39;</span><span class="p">));</span>
<span class="c1">// Using the IPC provider in node.js</span>
<span class="kr">const</span> <span class="nx">net</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;net&#39;</span><span class="p">);</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="s1">&#39;/Users/myuser/Library/Ethereum/geth.ipc&#39;</span><span class="p">,</span> <span class="nx">net</span><span class="p">);</span> <span class="c1">// mac os path</span>
<span class="c1">// or</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="k">new</span> <span class="nx">Web3</span><span class="p">.</span><span class="nx">providers</span><span class="p">.</span><span class="nx">IpcProvider</span><span class="p">(</span><span class="s1">&#39;/Users/myuser/Library/Ethereum/geth.ipc&#39;</span><span class="p">,</span> <span class="nx">net</span><span class="p">));</span> <span class="c1">// mac os path</span>
<span class="c1">// on windows the path is: &#39;\\\\.\\pipe\\geth.ipc&#39;</span>
<span class="c1">// on linux the path is: &#39;/users/myuser/.ethereum/geth.ipc&#39;</span>
</pre></div>
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="providers">
<h2>providers<a class="headerlink" href="#providers" 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">providers</span>
<span class="nx">Eth</span><span class="p">.</span><span class="nx">providers</span>
<span class="p">...</span>
</pre></div>
</div>
<p>Contains the current available providers.</p>
<div class="section" id="value">
<h3>Value<a class="headerlink" href="#value" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">Object</span></code> with the following providers:</p>
<blockquote>
<div><ul class="simple">
<li><code class="docutils literal notranslate"><span class="pre">Object</span></code> - <code class="docutils literal notranslate"><span class="pre">HttpProvider</span></code>: The HTTP provider is <strong>deprecated</strong>, as it wont work for subscriptions.</li>
<li><code class="docutils literal notranslate"><span class="pre">Object</span></code> - <code class="docutils literal notranslate"><span class="pre">WebsocketProvider</span></code>: The Websocket provider is the standard for usage in legacy browsers.</li>
<li><code class="docutils literal notranslate"><span class="pre">Object</span></code> - <code class="docutils literal notranslate"><span class="pre">IpcProvider</span></code>: The IPC provider is used node.js dapps when running a local node. Gives the most secure connection.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id11">
<h3>Example<a class="headerlink" href="#id11" 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">Web3</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;web3&#39;</span><span class="p">);</span>
<span class="c1">// use the given Provider, e.g in Mist, or instantiate a new websocket provider</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="nx">Web3</span><span class="p">.</span><span class="nx">givenProvider</span> <span class="o">||</span> <span class="s1">&#39;ws://localhost:8546&#39;</span><span class="p">);</span>
<span class="c1">// or</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="nx">Web3</span><span class="p">.</span><span class="nx">givenProvider</span> <span class="o">||</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">.</span><span class="nx">providers</span><span class="p">.</span><span class="nx">WebsocketProvider</span><span class="p">(</span><span class="s1">&#39;ws://localhost:8546&#39;</span><span class="p">));</span>
<span class="c1">// Using the IPC provider in node.js</span>
<span class="kr">const</span> <span class="nx">net</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;net&#39;</span><span class="p">);</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="s1">&#39;/Users/myuser/Library/Ethereum/geth.ipc&#39;</span><span class="p">,</span> <span class="nx">net</span><span class="p">);</span> <span class="c1">// mac os path</span>
<span class="c1">// or</span>
<span class="kr">const</span> <span class="nx">web3</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Web3</span><span class="p">(</span><span class="k">new</span> <span class="nx">Web3</span><span class="p">.</span><span class="nx">providers</span><span class="p">.</span><span class="nx">IpcProvider</span><span class="p">(</span><span class="s1">&#39;/Users/myuser/Library/Ethereum/geth.ipc&#39;</span><span class="p">,</span> <span class="nx">net</span><span class="p">));</span> <span class="c1">// mac os path</span>
<span class="c1">// on windows the path is: &#39;\\\\.\\pipe\\geth.ipc&#39;</span>
<span class="c1">// on linux the path is: &#39;/users/myuser/.ethereum/geth.ipc&#39;</span>
</pre></div>
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="givenprovider">
<h2>givenProvider<a class="headerlink" href="#givenprovider" 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">givenProvider</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">givenProvider</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">givenProvider</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">bzz</span><span class="p">.</span><span class="nx">givenProvider</span>
<span class="p">...</span>
</pre></div>
</div>
<p>When using web3.js in an Ethereum compatible browser, it will set with the current native provider by that browser.
Will return the given provider by the (browser) environment, otherwise <code class="docutils literal notranslate"><span class="pre">null</span></code>.</p>
<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">Object</span></code>: The given provider set or <code class="docutils literal notranslate"><span class="pre">null</span></code>;</p>
</div>
<div class="section" id="id13">
<h3>Example<a class="headerlink" href="#id13" 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">setProvider</span><span class="p">(</span><span class="nx">Web3</span><span class="p">.</span><span class="nx">givenProvider</span> <span class="o">||</span> <span class="s1">&#39;ws://localhost:8546&#39;</span><span class="p">);</span>
</pre></div>
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="currentprovider">
<h2>currentProvider<a class="headerlink" href="#currentprovider" 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">currentProvider</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">currentProvider</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">currentProvider</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">bzz</span><span class="p">.</span><span class="nx">currentProvider</span>
<span class="p">...</span>
</pre></div>
</div>
<p>Will return the current provider, otherwise <code class="docutils literal notranslate"><span class="pre">null</span></code>.</p>
<div class="section" id="id14">
<h3>Returns<a class="headerlink" href="#id14" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">Object</span></code>: The current provider set or <code class="docutils literal notranslate"><span class="pre">null</span></code>;</p>
</div>
<div class="section" id="id15">
<h3>Example<a class="headerlink" href="#id15" title="Permalink to this headline"></a></h3>
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">web3</span><span class="p">.</span><span class="nx">currentProvider</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">setProvider</span><span class="p">(</span><span class="s1">&#39;http://localhost:8545&#39;</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="batchrequest">
<h2>BatchRequest<a class="headerlink" href="#batchrequest" title="Permalink to this headline"></a></h2>
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="k">new</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">BatchRequest</span><span class="p">()</span>
<span class="k">new</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">BatchRequest</span><span class="p">()</span>
<span class="k">new</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">shh</span><span class="p">.</span><span class="nx">BatchRequest</span><span class="p">()</span>
<span class="p">...</span>
</pre></div>
</div>
<p>Class to create and execute batch requests.</p>
<div class="section" id="id16">
<h3>Parameters<a class="headerlink" href="#id16" title="Permalink to this headline"></a></h3>
<p>none</p>
</div>
<div class="section" id="id17">
<h3>Returns<a class="headerlink" href="#id17" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">Object</span></code>: With the following methods:</p>
<blockquote>
<div><ul class="simple">
<li><code class="docutils literal notranslate"><span class="pre">add(request)</span></code>: To add a request object to the batch call.</li>
<li><code class="docutils literal notranslate"><span class="pre">execute()</span></code>: Will execute the batch request.</li>
</ul>
</div></blockquote>
</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">contract</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">eth</span><span class="p">.</span><span class="nx">Contract</span><span class="p">(</span><span class="nx">abi</span><span class="p">,</span> <span class="nx">address</span><span class="p">);</span>
<span class="kr">const</span> <span class="nx">batch</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">web3</span><span class="p">.</span><span class="nx">BatchRequest</span><span class="p">();</span>
<span class="nx">batch</span><span class="p">.</span><span class="nx">add</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">getBalance</span><span class="p">.</span><span class="nx">request</span><span class="p">(</span><span class="s1">&#39;0x0000000000000000000000000000000000000000&#39;</span><span class="p">,</span> <span class="s1">&#39;latest&#39;</span><span class="p">,</span> <span class="nx">callback</span><span class="p">));</span>
<span class="nx">batch</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="nx">contract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">balance</span><span class="p">(</span><span class="nx">address</span><span class="p">).</span><span class="nx">call</span><span class="p">.</span><span class="nx">request</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">&#39;0x0000000000000000000000000000000000000000&#39;</span><span class="p">},</span> <span class="nx">callback2</span><span class="p">));</span>
<span class="nx">batch</span><span class="p">.</span><span class="nx">execute</span><span class="p">();</span>
</pre></div>
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="version">
<h2>version<a class="headerlink" href="#version" title="Permalink to this headline"></a></h2>
<blockquote>
<div>Property of the Web3 class.</div></blockquote>
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">Web3</span><span class="p">.</span><span class="nx">version</span>
<span class="nx">web3</span><span class="p">.</span><span class="nx">version</span>
</pre></div>
</div>
<p>Contains the version of the <code class="docutils literal notranslate"><span class="pre">web3</span></code> wrapper class.</p>
<div class="section" id="id19">
<h3>Returns<a class="headerlink" href="#id19" title="Permalink to this headline"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">String</span></code>: The current version.</p>
</div>
<div class="section" id="id20">
<h3>Example<a class="headerlink" href="#id20" 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">version</span><span class="p">;</span>
<span class="o">&gt;</span> <span class="s2">&quot;1.0.0&quot;</span>
</pre></div>
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="utils">
<h2>utils<a class="headerlink" href="#utils" title="Permalink to this headline"></a></h2>
<blockquote>
<div>Static property of the Web3 class.</div></blockquote>
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">Web3</span><span class="p">.</span><span class="nx">utils</span>
<span class="nx">Utility</span> <span class="nx">functions</span> <span class="nx">are</span> <span class="nx">also</span> <span class="nx">exposes</span> <span class="nx">on</span> <span class="nx">the</span> <span class="sb">``</span><span class="nx">Web3</span><span class="sb">``</span> <span class="kr">class</span> <span class="nx">object</span> <span class="nx">directly</span><span class="p">.</span>
</pre></div>
</div>
<p>See <a class="reference internal" href="web3-utils.html#utils"><span class="std std-ref">web3.utils</span></a> for more.</p>
</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</a><ul>
<li><a class="reference internal" href="#web3-modules">Web3.modules</a><ul>
<li><a class="reference internal" href="#returns">Returns</a></li>
<li><a class="reference internal" href="#example">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#options">options</a><ul>
<li><a class="reference internal" href="#module-options">Module Options</a></li>
<li><a class="reference internal" href="#id1">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#defaultblock">defaultBlock</a><ul>
<li><a class="reference internal" href="#id2">Returns</a></li>
</ul>
</li>
<li><a class="reference internal" href="#defaultaccount">defaultAccount</a><ul>
<li><a class="reference internal" href="#id3">Returns</a></li>
</ul>
</li>
<li><a class="reference internal" href="#defaultgasprice">defaultGasPrice</a><ul>
<li><a class="reference internal" href="#id4">Returns</a></li>
</ul>
</li>
<li><a class="reference internal" href="#defaultgas">defaultGas</a><ul>
<li><a class="reference internal" href="#id5">Returns</a></li>
</ul>
</li>
<li><a class="reference internal" href="#transactionblocktimeout">transactionBlockTimeout</a><ul>
<li><a class="reference internal" href="#id6">Returns</a></li>
</ul>
</li>
<li><a class="reference internal" href="#transactionconfirmationblocks">transactionConfirmationBlocks</a><ul>
<li><a class="reference internal" href="#id7">Returns</a></li>
</ul>
</li>
<li><a class="reference internal" href="#transactionpollingtimeout">transactionPollingTimeout</a><ul>
<li><a class="reference internal" href="#id8">Returns</a></li>
</ul>
</li>
<li><a class="reference internal" href="#setprovider">setProvider</a><ul>
<li><a class="reference internal" href="#parameters">Parameters</a></li>
<li><a class="reference internal" href="#id9">Returns</a></li>
<li><a class="reference internal" href="#id10">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#providers">providers</a><ul>
<li><a class="reference internal" href="#value">Value</a></li>
<li><a class="reference internal" href="#id11">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#givenprovider">givenProvider</a><ul>
<li><a class="reference internal" href="#id12">Returns</a></li>
<li><a class="reference internal" href="#id13">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#currentprovider">currentProvider</a><ul>
<li><a class="reference internal" href="#id14">Returns</a></li>
<li><a class="reference internal" href="#id15">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#batchrequest">BatchRequest</a><ul>
<li><a class="reference internal" href="#id16">Parameters</a></li>
<li><a class="reference internal" href="#id17">Returns</a></li>
<li><a class="reference internal" href="#id18">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#version">version</a><ul>
<li><a class="reference internal" href="#id19">Returns</a></li>
<li><a class="reference internal" href="#id20">Example</a></li>
</ul>
</li>
<li><a class="reference internal" href="#utils">utils</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="glossary.html"
title="previous chapter">Glossary</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="web3-eth.html"
title="next chapter">web3.eth</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/web3.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.html" title="web3.eth"
>next</a> |</li>
<li class="right" >
<a href="glossary.html" title="Glossary"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">web3.js 1.0.0 documentation</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016, Ethereum.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.3.
</div>
</body>
</html>