mirror of
https://github.com/embarklabs/web3.js.git
synced 2026-09-02 07:31:16 +00:00
998 lines
100 KiB
HTML
998 lines
100 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.Contract — 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.accounts" href="web3-eth-accounts.html" />
|
||
<link rel="prev" title="web3.eth.subscribe" href="web3-eth-subscribe.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-accounts.html" title="web3.eth.accounts"
|
||
accesskey="N">next</a> |</li>
|
||
<li class="right" >
|
||
<a href="web3-eth-subscribe.html" title="web3.eth.subscribe"
|
||
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-contract">
|
||
<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-contract">
|
||
<h1>web3.eth.Contract<a class="headerlink" href="#web3-eth-contract" title="Permalink to this headline">¶</a></h1>
|
||
<p>The <code class="docutils literal notranslate"><span class="pre">web3.eth.Contract</span></code> object makes it easy to interact with smart contracts on the ethereum blockchain.
|
||
When you create a new contract object you give it the json interface of the respective smart contract
|
||
and web3 will auto convert all calls into low level ABI calls over RPC for you.</p>
|
||
<p>This allows you to interact with smart contracts as if they were JavaScript objects.</p>
|
||
<p>To use it standalone:</p>
|
||
<hr class="docutils" />
|
||
<div class="section" id="new-contract">
|
||
<h2>new contract<a class="headerlink" href="#new-contract" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate" id="index-0"><div class="highlight"><pre><span></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">jsonInterface</span><span class="p">,</span> <span class="nx">address</span><span class="p">,</span> <span class="nx">options</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Creates a new contract instance with all its methods and events defined in its <a class="reference internal" href="glossary.html#glossary-json-interface"><span class="std std-ref">json interface</span></a> object.</p>
|
||
<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">jsonInterface</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code>: The json interface for the contract to instantiate</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">address</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code> (optional): This address is necessary for transactions and call requests and can also be added later using <code class="docutils literal notranslate"><span class="pre">myContract.options.address</span> <span class="pre">=</span> <span class="pre">'0x1234..'.</span></code></li>
|
||
<li><dl class="first docutils">
|
||
<dt><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): The options of the contract. Some are used as fallbacks for calls and transactions:</dt>
|
||
<dd><ul class="first last">
|
||
<li><code class="docutils literal notranslate"><span class="pre">from</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The address transactions should be made from.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gasPrice</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The gas price in wei to use for transactions. It is the wei per unit of gas.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gas</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The maximum gas provided for a transaction (gas limit).</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">data</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The byte code of the contract. Used when the contract gets <a class="reference internal" href="#contract-deploy"><span class="std std-ref">deployed</span></a>.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
<div class="section" id="returns">
|
||
<h3>Returns<a class="headerlink" href="#returns" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Object</span></code>: The contract instance with all its methods and events.</p>
|
||
</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">myContract</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="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">,</span> <span class="p">{</span>
|
||
<span class="nx">from</span><span class="o">:</span> <span class="s1">'0x1234567890123456789012345678901234567891'</span><span class="p">,</span> <span class="c1">// default from address</span>
|
||
<span class="nx">gasPrice</span><span class="o">:</span> <span class="s1">'20000000000'</span> <span class="c1">// default gas price in wei, 20 gwei in this case</span>
|
||
<span class="p">});</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="properties">
|
||
<h2>= Properties =<a class="headerlink" href="#properties" title="Permalink to this headline">¶</a></h2>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="options">
|
||
<h2>options<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The options <code class="docutils literal notranslate"><span class="pre">object</span></code> for the contract instance. <code class="docutils literal notranslate"><span class="pre">from</span></code>, <code class="docutils literal notranslate"><span class="pre">gas</span></code> and <code class="docutils literal notranslate"><span class="pre">gasPrice</span></code> are used as fallback values when sending transactions.</p>
|
||
<div class="section" id="id1">
|
||
<h3>Properties<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Object</span></code> - options:</p>
|
||
<ul class="simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">address</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The address where the contract is deployed. See <a class="reference internal" href="#contract-address"><span class="std std-ref">options.address</span></a>.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">jsonInterface</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code>: The json interface of the contract. See <a class="reference internal" href="#contract-json-interface"><span class="std std-ref">options.jsonInterface</span></a>.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">data</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The byte code of the contract. Used when the contract gets <a class="reference internal" href="#contract-deploy"><span class="std std-ref">deployed</span></a>.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">from</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The address transactions should be made from.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gasPrice</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The gas price in wei to use for transactions.It is the wei per unit of gas.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gas</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The maximum gas provided for a transaction (gas limit).</li>
|
||
</ul>
|
||
</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">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">;</span>
|
||
<span class="o">></span> <span class="p">{</span>
|
||
<span class="nx">address</span><span class="o">:</span> <span class="s1">'0x1234567890123456789012345678901234567891'</span><span class="p">,</span>
|
||
<span class="nx">jsonInterface</span><span class="o">:</span> <span class="p">[...],</span>
|
||
<span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">,</span>
|
||
<span class="nx">gasPrice</span><span class="o">:</span> <span class="s1">'10000000000000'</span><span class="p">,</span>
|
||
<span class="nx">gas</span><span class="o">:</span> <span class="mi">1000000</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">from</span> <span class="o">=</span> <span class="s1">'0x1234567890123456789012345678901234567891'</span><span class="p">;</span> <span class="c1">// default from address</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">gasPrice</span> <span class="o">=</span> <span class="s1">'20000000000000'</span><span class="p">;</span> <span class="c1">// default gas price in wei</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">gas</span> <span class="o">=</span> <span class="mi">5000000</span><span class="p">;</span> <span class="c1">// provide as fallback always 5M gas</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
</div>
|
||
</div>
|
||
<div class="section" id="options-address">
|
||
<span id="contract-address"></span><h2>options.address<a class="headerlink" href="#options-address" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The address used for this contract instance.
|
||
All transactions generated by web3.js from this contract will contain this address as the “to”.</p>
|
||
<p>The address will be stored in lowercase.</p>
|
||
<div class="section" id="property">
|
||
<h3>Property<a class="headerlink" href="#property" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">address</span></code> - <code class="docutils literal notranslate"><span class="pre">String|null</span></code>: The address for this contract, or <code class="docutils literal notranslate"><span class="pre">null</span></code> if it’s not yet set.</p>
|
||
</div>
|
||
<div class="section" id="id3">
|
||
<h3>Example<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span><span class="p">;</span>
|
||
<span class="o">></span> <span class="s1">'0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae'</span>
|
||
|
||
<span class="c1">// set a new address</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span> <span class="o">=</span> <span class="s1">'0x1234FFDD...'</span><span class="p">;</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
</div>
|
||
</div>
|
||
<div class="section" id="options-jsoninterface">
|
||
<span id="contract-json-interface"></span><h2>options.jsonInterface<a class="headerlink" href="#options-jsoninterface" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">jsonInterface</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>The <a class="reference internal" href="glossary.html#glossary-json-interface"><span class="std std-ref">json interface</span></a> object derived from the <a class="reference external" href="https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI">ABI</a> of this contract.</p>
|
||
<div class="section" id="id4">
|
||
<h3>Property<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">jsonInterface</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code>: The <a class="reference internal" href="glossary.html#glossary-json-interface"><span class="std std-ref">json interface</span></a> for this contract. Re-setting this will regenerate the methods and events of the contract instance.</p>
|
||
</div>
|
||
<div class="section" id="id5">
|
||
<h3>Example<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">jsonInterface</span><span class="p">;</span>
|
||
<span class="o">></span> <span class="p">[{</span>
|
||
<span class="s2">"type"</span><span class="o">:</span><span class="s2">"function"</span><span class="p">,</span>
|
||
<span class="s2">"name"</span><span class="o">:</span><span class="s2">"foo"</span><span class="p">,</span>
|
||
<span class="s2">"inputs"</span><span class="o">:</span> <span class="p">[{</span><span class="s2">"name"</span><span class="o">:</span><span class="s2">"a"</span><span class="p">,</span><span class="s2">"type"</span><span class="o">:</span><span class="s2">"uint256"</span><span class="p">}],</span>
|
||
<span class="s2">"outputs"</span><span class="o">:</span> <span class="p">[{</span><span class="s2">"name"</span><span class="o">:</span><span class="s2">"b"</span><span class="p">,</span><span class="s2">"type"</span><span class="o">:</span><span class="s2">"address"</span><span class="p">}]</span>
|
||
<span class="p">},{</span>
|
||
<span class="s2">"type"</span><span class="o">:</span><span class="s2">"event"</span><span class="p">,</span>
|
||
<span class="s2">"name"</span><span class="o">:</span><span class="s2">"Event"</span><span class="p">,</span>
|
||
<span class="s2">"inputs"</span><span class="o">:</span> <span class="p">[{</span><span class="s2">"name"</span><span class="o">:</span><span class="s2">"a"</span><span class="p">,</span><span class="s2">"type"</span><span class="o">:</span><span class="s2">"uint256"</span><span class="p">,</span><span class="s2">"indexed"</span><span class="o">:</span><span class="kc">true</span><span class="p">},{</span><span class="s2">"name"</span><span class="o">:</span><span class="s2">"b"</span><span class="p">,</span><span class="s2">"type"</span><span class="o">:</span><span class="s2">"bytes32"</span><span class="p">,</span><span class="s2">"indexed"</span><span class="o">:</span><span class="kc">false</span><span class="p">}],</span>
|
||
<span class="p">}]</span>
|
||
|
||
<span class="c1">// set a new interface</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">jsonInterface</span> <span class="o">=</span> <span class="p">[...];</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="methods">
|
||
<h2>= Methods =<a class="headerlink" href="#methods" title="Permalink to this headline">¶</a></h2>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="clone">
|
||
<h2>clone<a class="headerlink" href="#clone" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">clone</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Clones the current contract instance.</p>
|
||
<div class="section" id="id6">
|
||
<h3>Parameters<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
|
||
<p>none</p>
|
||
</div>
|
||
<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">Object</span></code>: The new contract instance.</p>
|
||
</div>
|
||
<div class="section" id="id8">
|
||
<h3>Example<a class="headerlink" href="#id8" 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">contract1</span> <span class="o">=</span> <span class="k">new</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="p">{</span><span class="nx">gasPrice</span><span class="o">:</span> <span class="s1">'12345678'</span><span class="p">,</span> <span class="nx">from</span><span class="o">:</span> <span class="nx">fromAddress</span><span class="p">});</span>
|
||
|
||
<span class="kr">const</span> <span class="nx">contract2</span> <span class="o">=</span> <span class="nx">contract1</span><span class="p">.</span><span class="nx">clone</span><span class="p">();</span>
|
||
<span class="nx">contract2</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span> <span class="o">=</span> <span class="nx">address2</span><span class="p">;</span>
|
||
|
||
<span class="p">(</span><span class="nx">contract1</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span> <span class="o">!==</span> <span class="nx">contract2</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span><span class="p">);</span>
|
||
<span class="o">></span> <span class="kc">true</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<span class="target" id="contract-deploy"></span></div>
|
||
</div>
|
||
<div class="section" id="deploy">
|
||
<span id="index-1"></span><h2>deploy<a class="headerlink" href="#deploy" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">deploy</span><span class="p">(</span><span class="nx">options</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Call this function to deploy the contract to the blockchain.
|
||
After successful deployment the promise will resolve with a new contract instance.</p>
|
||
<div class="section" id="id9">
|
||
<h3>Parameters<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
|
||
<ol class="arabic simple">
|
||
<li><dl class="first docutils">
|
||
<dt><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code>: The options used for deployment.</dt>
|
||
<dd><ul class="first last">
|
||
<li><code class="docutils literal notranslate"><span class="pre">data</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The byte code of the contract.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">arguments</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code> (optional): The arguments which get passed to the constructor on deployment.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
<div class="section" id="id10">
|
||
<h3>Returns<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Object</span></code>: The transaction object:</p>
|
||
<ul class="simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">Array</span></code> - arguments: The arguments passed to the method before. They can be changed.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - <a class="reference internal" href="#contract-send"><span class="std std-ref">send</span></a>: Will deploy the contract. The promise will resolve with the new contract instance, instead of the receipt!</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - <a class="reference internal" href="#contract-estimategas"><span class="std std-ref">estimateGas</span></a>: Will estimate the gas used for deploying.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - <a class="reference internal" href="#contract-encodeabi"><span class="std std-ref">encodeABI</span></a>: Encodes the ABI of the deployment, which is contract data + constructor parameters</li>
|
||
</ul>
|
||
<blockquote>
|
||
<div>For details to the methods see the documentation below.</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="nx">myContract</span><span class="p">.</span><span class="nx">deploy</span><span class="p">({</span>
|
||
<span class="nx">data</span><span class="o">:</span> <span class="s1">'0x12345...'</span><span class="p">,</span>
|
||
<span class="nx">arguments</span><span class="o">:</span> <span class="p">[</span><span class="mi">123</span><span class="p">,</span> <span class="s1">'My String'</span><span class="p">]</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">send</span><span class="p">({</span>
|
||
<span class="nx">from</span><span class="o">:</span> <span class="s1">'0x1234567890123456789012345678901234567891'</span><span class="p">,</span>
|
||
<span class="nx">gas</span><span class="o">:</span> <span class="mi">1500000</span><span class="p">,</span>
|
||
<span class="nx">gasPrice</span><span class="o">:</span> <span class="s1">'30000000000000'</span>
|
||
<span class="p">},</span> <span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">transactionHash</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span> <span class="p">...</span> <span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'error'</span><span class="p">,</span> <span class="p">(</span><span class="nx">error</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span> <span class="p">...</span> <span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'transactionHash'</span><span class="p">,</span> <span class="p">(</span><span class="nx">transactionHash</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span> <span class="p">...</span> <span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'receipt'</span><span class="p">,</span> <span class="p">(</span><span class="nx">receipt</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">receipt</span><span class="p">.</span><span class="nx">contractAddress</span><span class="p">)</span> <span class="c1">// contains the new contract address</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'confirmation'</span><span class="p">,</span> <span class="p">(</span><span class="nx">confirmationNumber</span><span class="p">,</span> <span class="nx">receipt</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span> <span class="p">...</span> <span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">then</span><span class="p">((</span><span class="nx">newContractInstance</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">newContractInstance</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span><span class="p">)</span> <span class="c1">// instance with the new contract address</span>
|
||
<span class="p">});</span>
|
||
|
||
|
||
<span class="c1">// When the data is already set as an option to the contract itself</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">data</span> <span class="o">=</span> <span class="s1">'0x12345...'</span><span class="p">;</span>
|
||
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">deploy</span><span class="p">({</span>
|
||
<span class="nx">arguments</span><span class="o">:</span> <span class="p">[</span><span class="mi">123</span><span class="p">,</span> <span class="s1">'My String'</span><span class="p">]</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">send</span><span class="p">({</span>
|
||
<span class="nx">from</span><span class="o">:</span> <span class="s1">'0x1234567890123456789012345678901234567891'</span><span class="p">,</span>
|
||
<span class="nx">gas</span><span class="o">:</span> <span class="mi">1500000</span><span class="p">,</span>
|
||
<span class="nx">gasPrice</span><span class="o">:</span> <span class="s1">'30000000000000'</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">then</span><span class="p">((</span><span class="nx">newContractInstance</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">newContractInstance</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">address</span><span class="p">)</span> <span class="c1">// instance with the new contract address</span>
|
||
<span class="p">});</span>
|
||
|
||
|
||
<span class="c1">// Simply encoding</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">deploy</span><span class="p">({</span>
|
||
<span class="nx">data</span><span class="o">:</span> <span class="s1">'0x12345...'</span><span class="p">,</span>
|
||
<span class="nx">arguments</span><span class="o">:</span> <span class="p">[</span><span class="mi">123</span><span class="p">,</span> <span class="s1">'My String'</span><span class="p">]</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">encodeABI</span><span class="p">();</span>
|
||
<span class="o">></span> <span class="s1">'0x12345...0000012345678765432'</span>
|
||
|
||
|
||
<span class="c1">// Gas estimation</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">deploy</span><span class="p">({</span>
|
||
<span class="nx">data</span><span class="o">:</span> <span class="s1">'0x12345...'</span><span class="p">,</span>
|
||
<span class="nx">arguments</span><span class="o">:</span> <span class="p">[</span><span class="mi">123</span><span class="p">,</span> <span class="s1">'My String'</span><span class="p">]</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">estimateGas</span><span class="p">((</span><span class="nx">err</span><span class="p">,</span> <span class="nx">gas</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">gas</span><span class="p">);</span>
|
||
<span class="p">});</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="id12">
|
||
<h2>methods<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">([</span><span class="nx">param1</span><span class="p">[,</span> <span class="nx">param2</span><span class="p">[,</span> <span class="p">...]]])</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Creates a transaction object for that method, which then can be <a class="reference internal" href="#contract-call"><span class="std std-ref">called</span></a>, <a class="reference internal" href="#contract-send"><span class="std std-ref">send</span></a>, <span class="xref std std-ref">estimated</span>.</p>
|
||
<p>The methods of this smart contract are available through:</p>
|
||
<ul class="simple">
|
||
<li>The name: <code class="docutils literal notranslate"><span class="pre">myContract.methods.myMethod(123)</span></code></li>
|
||
<li>The name with parameters: <code class="docutils literal notranslate"><span class="pre">myContract.methods['myMethod(uint256)'](123)</span></code></li>
|
||
<li>The signature: <code class="docutils literal notranslate"><span class="pre">myContract.methods['0x58cf5f10'](123)</span></code></li>
|
||
</ul>
|
||
<p>This allows calling functions with same name but different parameters from the JavaScript contract object.</p>
|
||
<div class="section" id="id13">
|
||
<h3>Parameters<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
|
||
<p>Parameters of any method depend on the smart contracts methods, defined in the <a class="reference internal" href="glossary.html#glossary-json-interface"><span class="std std-ref">JSON interface</span></a>.</p>
|
||
</div>
|
||
<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 Transaction Object:</p>
|
||
<ul class="simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">Array</span></code> - arguments: The arguments passed to the method before. They can be changed.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - <a class="reference internal" href="#contract-call"><span class="std std-ref">call</span></a>: Will call the “constant” method and execute its smart contract method in the EVM without sending a transaction (Can’t alter the smart contract state).</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - <a class="reference internal" href="#contract-send"><span class="std std-ref">send</span></a>: Will send a transaction to the smart contract and execute its method (Can alter the smart contract state).</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - <a class="reference internal" href="#contract-estimategas"><span class="std std-ref">estimateGas</span></a>: Will estimate the gas used when the method would be executed on chain.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">Function</span></code> - <a class="reference internal" href="#contract-encodeabi"><span class="std std-ref">encodeABI</span></a>: Encodes the ABI for this method. This can be send using a transaction, call the method or passing into another smart contracts method as argument.</li>
|
||
</ul>
|
||
<blockquote>
|
||
<div>For details to the methods see the documentation below.</div></blockquote>
|
||
</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="c1">// calling a method</span>
|
||
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">call</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</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="p">...</span>
|
||
<span class="p">});</span>
|
||
|
||
<span class="c1">// or sending and using a promise</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">send</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">then</span><span class="p">((</span><span class="nx">receipt</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="c1">// receipt can also be a new contract instance, when coming from a "contract.deploy({...}).send()"</span>
|
||
<span class="p">});</span>
|
||
|
||
<span class="c1">// or sending and using the events</span>
|
||
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">send</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'transactionHash'</span><span class="p">,</span> <span class="p">(</span><span class="nx">hash</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'receipt'</span><span class="p">,</span> <span class="p">(</span><span class="nx">receipt</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'confirmation'</span><span class="p">,</span> <span class="p">(</span><span class="nx">confirmationNumber</span><span class="p">,</span> <span class="nx">receipt</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'error'</span><span class="p">,</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">);</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
</div>
|
||
</div>
|
||
<div class="section" id="methods-mymethod-call">
|
||
<span id="contract-call"></span><h2>methods.myMethod.call<a class="headerlink" href="#methods-mymethod-call" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">([</span><span class="nx">param1</span><span class="p">[,</span> <span class="nx">param2</span><span class="p">[,</span> <span class="p">...]]]).</span><span class="nx">call</span><span class="p">(</span><span class="nx">transactionObject</span><span class="p">,</span> <span class="nx">blockNumber</span><span class="p">,</span> <span class="nx">callback</span><span class="p">])</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Will call a “constant” method and execute its smart contract method in the EVM without sending any transaction. Note calling can not alter the smart contract state.</p>
|
||
<div class="section" id="id16">
|
||
<h3>Parameters<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): The options used for calling.
|
||
1.* <code class="docutils literal notranslate"><span class="pre">transactionObject</span></code></p>
|
||
<blockquote>
|
||
<div><ul class="simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">from</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code> (optional): The address the call “transaction” should be made from.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gasPrice</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code> (optional): The gas price in wei to use for this call “transaction”.It is the wei per unit of gas.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gas</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code> (optional): The maximum gas provided for this call “transaction” (gas limit).</li>
|
||
</ul>
|
||
</div></blockquote>
|
||
<p>2.*``blockNumber`` - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The block number this log was created in. <code class="docutils literal notranslate"><span class="pre">null</span></code> when still pending.
|
||
3.*``callback`` - <code class="docutils literal notranslate"><span class="pre">Function</span></code> (optional): This callback will be fired with the result of the smart contract method execution as the second argument, or with an error object as the first argument.</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">Promise<any></span></code> - The return value(s) of the smart contract method.
|
||
If it returns a single value, it’s returned as is. If it has multiple return values they are returned as an object with properties and indices:</p>
|
||
</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="c1">// using the callback</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">call</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</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="p">...</span>
|
||
<span class="p">});</span>
|
||
|
||
<span class="c1">// using the promise</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">call</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">then</span><span class="p">((</span><span class="nx">result</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">});</span>
|
||
|
||
|
||
<span class="c1">// MULTI-ARGUMENT RETURN:</span>
|
||
|
||
<span class="c1">// Solidity</span>
|
||
<span class="nx">contract</span> <span class="nx">MyContract</span> <span class="p">{</span>
|
||
<span class="kd">function</span> <span class="nx">myFunction</span><span class="p">()</span> <span class="nx">returns</span><span class="p">(</span><span class="nx">uint256</span> <span class="nx">myNumber</span><span class="p">,</span> <span class="nx">string</span> <span class="nx">myString</span><span class="p">)</span> <span class="p">{</span>
|
||
<span class="k">return</span> <span class="p">(</span><span class="mi">23456</span><span class="p">,</span> <span class="s2">"Hello!%"</span><span class="p">);</span>
|
||
<span class="p">}</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="c1">// web3.js</span>
|
||
<span class="kr">const</span> <span class="nx">MyContract</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="nx">MyContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myFunction</span><span class="p">().</span><span class="nx">call</span><span class="p">()</span>
|
||
<span class="p">.</span><span class="nx">then</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="o">></span> <span class="nx">Result</span> <span class="p">{</span>
|
||
<span class="nx">myNumber</span><span class="o">:</span> <span class="s1">'23456'</span><span class="p">,</span>
|
||
<span class="nx">myString</span><span class="o">:</span> <span class="s1">'Hello!%'</span><span class="p">,</span>
|
||
<span class="mi">0</span><span class="o">:</span> <span class="s1">'23456'</span><span class="p">,</span> <span class="c1">// these are here as fallbacks if the name is not know or given</span>
|
||
<span class="mi">1</span><span class="o">:</span> <span class="s1">'Hello!%'</span>
|
||
<span class="p">}</span>
|
||
|
||
|
||
<span class="c1">// SINGLE-ARGUMENT RETURN:</span>
|
||
|
||
<span class="c1">// Solidity</span>
|
||
<span class="nx">contract</span> <span class="nx">MyContract</span> <span class="p">{</span>
|
||
<span class="kd">function</span> <span class="nx">myFunction</span><span class="p">()</span> <span class="nx">returns</span><span class="p">(</span><span class="nx">string</span> <span class="nx">myString</span><span class="p">)</span> <span class="p">{</span>
|
||
<span class="k">return</span> <span class="s2">"Hello!%"</span><span class="p">;</span>
|
||
<span class="p">}</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="c1">// web3.js</span>
|
||
<span class="kr">const</span> <span class="nx">MyContract</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="nx">MyContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myFunction</span><span class="p">().</span><span class="nx">call</span><span class="p">()</span>
|
||
<span class="p">.</span><span class="nx">then</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="o">></span> <span class="s2">"Hello!%"</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
</div>
|
||
</div>
|
||
<div class="section" id="methods-mymethod-send">
|
||
<span id="contract-send"></span><h2>methods.myMethod.send<a class="headerlink" href="#methods-mymethod-send" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">([</span><span class="nx">param1</span><span class="p">[,</span> <span class="nx">param2</span><span class="p">[,</span> <span class="p">...]]]).</span><span class="nx">send</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>Will send a transaction to the smart contract and execute its method. Note this can alter the smart contract state.</p>
|
||
<div class="section" id="id19">
|
||
<h3>Parameters<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h3>
|
||
<ol class="arabic simple">
|
||
<li><dl class="first docutils">
|
||
<dt><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code>: The options used for sending.</dt>
|
||
<dd><ul class="first last">
|
||
<li><code class="docutils literal notranslate"><span class="pre">from</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The address the transaction should be sent from.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gasPrice</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code> (optional): The gas price in wei to use for this transaction.It is the wei per unit of gas.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gas</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code> (optional): The maximum gas provided for this transaction (gas limit).</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">value</span></code> - <a href="#id20"><span class="problematic" id="id21">``</span></a>Number|String|BN|BigNumber``(optional): The value transferred for the transaction in wei.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">callback</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code> (optional): This callback will be fired first with the “transactionHash”, or with an error object as the first argument.</li>
|
||
</ol>
|
||
</div>
|
||
<div class="section" id="id22">
|
||
<h3>Returns<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3>
|
||
<p>The <strong>callback</strong> will return the 32 bytes transaction hash.</p>
|
||
<p><code class="docutils literal notranslate"><span class="pre">PromiEvent</span></code>: A <a class="reference internal" href="callbacks-promises-events.html#promievent"><span class="std std-ref">promise combined event emitter</span></a>. Will be resolved when the transaction <em>receipt</em> is available, OR if this <code class="docutils literal notranslate"><span class="pre">send()</span></code> is called from a <code class="docutils literal notranslate"><span class="pre">someContract.deploy()</span></code>, then the promise will resolve with the <em>new contract instance</em>. Additionally the following events are available:</p>
|
||
<ul class="simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">"transactionHash"</span></code> returns <code class="docutils literal notranslate"><span class="pre">String</span></code>: is fired right after the transaction is sent and a transaction hash is available.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">"receipt"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Object</span></code>: is fired when the transaction <em>receipt</em> is available. Receipts from contracts will have no <code class="docutils literal notranslate"><span class="pre">logs</span></code> property, but instead an <code class="docutils literal notranslate"><span class="pre">events</span></code> property with event names as keys and events as properties. See <a class="reference internal" href="#contract-events-return"><span class="std std-ref">getPastEvents return values</span></a> for details about the returned event object.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">"confirmation"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Number</span></code>, <code class="docutils literal notranslate"><span class="pre">Object</span></code>: is fired for every confirmation up to the 24th confirmation. Receives the confirmation number as the first and the receipt as the second argument. Fired from confirmation 1 on, which is the block where it’s mined.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">"error"</span></code> returns <code class="docutils literal notranslate"><span class="pre">Error</span></code>: is fired if an error occurs during sending. If an out of gas error, the second parameter is the receipt.</li>
|
||
</ul>
|
||
</div>
|
||
<div class="section" id="id23">
|
||
<h3>Example<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="c1">// using the callback</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">send</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">},</span> <span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">transactionHash</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">});</span>
|
||
|
||
<span class="c1">// using the promise</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">send</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">then</span><span class="p">((</span><span class="nx">receipt</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="c1">// receipt can also be a new contract instance, when coming from a "contract.deploy({...}).send()"</span>
|
||
<span class="p">});</span>
|
||
|
||
|
||
<span class="c1">// using the event emitter</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">send</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'transactionHash'</span><span class="p">,</span> <span class="p">(</span><span class="nx">hash</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'confirmation'</span><span class="p">,</span> <span class="p">(</span><span class="nx">confirmationNumber</span><span class="p">,</span> <span class="nx">receipt</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'receipt'</span><span class="p">,</span> <span class="p">(</span><span class="nx">receipt</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="c1">// receipt example</span>
|
||
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">receipt</span><span class="p">);</span>
|
||
<span class="o">></span> <span class="p">{</span>
|
||
<span class="s2">"transactionHash"</span><span class="o">:</span> <span class="s2">"0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b"</span><span class="p">,</span>
|
||
<span class="s2">"transactionIndex"</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="s2">"blockHash"</span><span class="o">:</span> <span class="s2">"0xef95f2f1ed3ca60b048b4bf67cde2195961e0bba6f70bcbea9a2c4e133e34b46"</span><span class="p">,</span>
|
||
<span class="s2">"blockNumber"</span><span class="o">:</span> <span class="mi">3</span><span class="p">,</span>
|
||
<span class="s2">"contractAddress"</span><span class="o">:</span> <span class="s2">"0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe"</span><span class="p">,</span>
|
||
<span class="s2">"cumulativeGasUsed"</span><span class="o">:</span> <span class="mi">314159</span><span class="p">,</span>
|
||
<span class="s2">"gasUsed"</span><span class="o">:</span> <span class="mi">30234</span><span class="p">,</span>
|
||
<span class="s2">"events"</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="s2">"MyEvent"</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">returnValues</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">myIndexedParam</span><span class="o">:</span> <span class="mi">20</span><span class="p">,</span>
|
||
<span class="nx">myOtherIndexedParam</span><span class="o">:</span> <span class="s1">'0x123456789...'</span><span class="p">,</span>
|
||
<span class="nx">myNonIndexParam</span><span class="o">:</span> <span class="s1">'My String'</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">raw</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">data</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">topics</span><span class="o">:</span> <span class="p">[</span><span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">]</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">event</span><span class="o">:</span> <span class="s1">'MyEvent'</span><span class="p">,</span>
|
||
<span class="nx">signature</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">logIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionHash</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">blockHash</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">blockNumber</span><span class="o">:</span> <span class="mi">1234</span><span class="p">,</span>
|
||
<span class="nx">address</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span>
|
||
<span class="p">},</span>
|
||
<span class="s2">"MyOtherEvent"</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="p">...</span>
|
||
<span class="p">},</span>
|
||
<span class="s2">"MyMultipleEvent"</span><span class="o">:</span><span class="p">[{...},</span> <span class="p">{...}]</span> <span class="c1">// If there are multiple of the same event, they will be in an array</span>
|
||
<span class="p">}</span>
|
||
<span class="p">}</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'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">// If there's an out of gas error the second parameter is the receipt.</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
</div>
|
||
</div>
|
||
<div class="section" id="methods-mymethod-estimategas">
|
||
<span id="contract-estimategas"></span><h2>methods.myMethod.estimateGas<a class="headerlink" href="#methods-mymethod-estimategas" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">([</span><span class="nx">param1</span><span class="p">[,</span> <span class="nx">param2</span><span class="p">[,</span> <span class="p">...]]]).</span><span class="nx">estimateGas</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>Will call estimate the gas a method execution will take when executed in the EVM without.
|
||
The estimation can differ from the actual gas used when later sending a transaction, as the state of the smart contract can be different at that time.</p>
|
||
<div class="section" id="id24">
|
||
<h3>Parameters<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h3>
|
||
<ol class="arabic simple">
|
||
<li><dl class="first docutils">
|
||
<dt><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): The options used for calling.</dt>
|
||
<dd><ul class="first last">
|
||
<li><code class="docutils literal notranslate"><span class="pre">from</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code> (optional): The address the call “transaction” should be made from.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">gas</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code> (optional): The maximum gas provided for this call “transaction” (gas limit). Setting a specific value helps to detect out of gas errors. If all gas is used it will return the same number.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">value</span></code> - <a href="#id25"><span class="problematic" id="id26">``</span></a>Number|String|BN|BigNumber``(optional): The value transferred for the call “transaction” in wei.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">callback</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code> (optional): This callback will be fired with the result of the gas estimation as the second argument, or with an error object as the first argument.</li>
|
||
</ol>
|
||
</div>
|
||
<div class="section" id="id27">
|
||
<h3>Returns<a class="headerlink" href="#id27" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Promise<number></span></code> - The gas amount estimated.</p>
|
||
</div>
|
||
<div class="section" id="id28">
|
||
<h3>Example<a class="headerlink" href="#id28" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="c1">// using the callback</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">estimateGas</span><span class="p">({</span><span class="nx">gas</span><span class="o">:</span> <span class="mi">5000000</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">gasAmount</span><span class="p">){</span>
|
||
<span class="k">if</span><span class="p">(</span><span class="nx">gasAmount</span> <span class="o">==</span> <span class="mi">5000000</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">'Method ran out of gas'</span><span class="p">);</span>
|
||
<span class="p">});</span>
|
||
|
||
<span class="c1">// using the promise</span>
|
||
<span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">estimateGas</span><span class="p">({</span><span class="nx">from</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span><span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">then</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">gasAmount</span><span class="p">){</span>
|
||
<span class="p">...</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="k">catch</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="p">...</span>
|
||
<span class="p">});</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
</div>
|
||
</div>
|
||
<div class="section" id="methods-mymethod-encodeabi">
|
||
<span id="contract-encodeabi"></span><h2>methods.myMethod.encodeABI<a class="headerlink" href="#methods-mymethod-encodeabi" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">([</span><span class="nx">param1</span><span class="p">[,</span> <span class="nx">param2</span><span class="p">[,</span> <span class="p">...]]]).</span><span class="nx">encodeABI</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Encodes the ABI for this method. This can be used to send a transaction, call a method, or pass it into another smart contracts method as arguments.</p>
|
||
<div class="section" id="id29">
|
||
<h3>Parameters<a class="headerlink" href="#id29" title="Permalink to this headline">¶</a></h3>
|
||
<p>none</p>
|
||
</div>
|
||
<div class="section" id="id30">
|
||
<h3>Returns<a class="headerlink" href="#id30" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">String</span></code>: The encoded ABI byte code to send via a transaction or call.</p>
|
||
</div>
|
||
<div class="section" id="id31">
|
||
<h3>Example<a class="headerlink" href="#id31" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">methods</span><span class="p">.</span><span class="nx">myMethod</span><span class="p">(</span><span class="mi">123</span><span class="p">).</span><span class="nx">encodeABI</span><span class="p">();</span>
|
||
<span class="o">></span> <span class="s1">'0x58cf5f1000000000000000000000000000000000000000000000000000000000000007B'</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="events">
|
||
<h2>= Events =<a class="headerlink" href="#events" title="Permalink to this headline">¶</a></h2>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="once">
|
||
<h2>once<a class="headerlink" href="#once" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">once</span><span class="p">(</span><span class="nx">event</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 an event and unsubscribes immediately after the first event or error. Will only fire for a single event.</p>
|
||
<div class="section" id="id32">
|
||
<h3>Parameters<a class="headerlink" href="#id32" title="Permalink to this headline">¶</a></h3>
|
||
<ol class="arabic simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">event</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The name of the event in the contract, or <code class="docutils literal notranslate"><span class="pre">"allEvents"</span></code> to get all events.</li>
|
||
<li><dl class="first docutils">
|
||
<dt><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): The options used for deployment.</dt>
|
||
<dd><ul class="first last">
|
||
<li><code class="docutils literal notranslate"><span class="pre">filter</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): Lets you filter events by indexed parameters, e.g. <code class="docutils literal notranslate"><span class="pre">{filter:</span> <span class="pre">{myNumber:</span> <span class="pre">[12,13]}}</span></code> means all events where “myNumber” is 12 or 13.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">topics</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code> (optional): This allows you to manually set the topics for the event filter. If given the filter property and event signature, (topic[0]) will not be set automatically.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">callback</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code>: This callback will be fired for the first <em>event</em> as the second argument, or an error as the first argument. See <a class="reference internal" href="#contract-events-return"><span class="std std-ref">getPastEvents return values</span></a> for details about the event structure.</li>
|
||
</ol>
|
||
</div>
|
||
<div class="section" id="id33">
|
||
<h3>Returns<a class="headerlink" href="#id33" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">undefined</span></code></p>
|
||
</div>
|
||
<div class="section" id="id34">
|
||
<h3>Example<a class="headerlink" href="#id34" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">once</span><span class="p">(</span><span class="s1">'MyEvent'</span><span class="p">,</span> <span class="p">{</span>
|
||
<span class="nx">filter</span><span class="o">:</span> <span class="p">{</span><span class="nx">myIndexedParam</span><span class="o">:</span> <span class="p">[</span><span class="mi">20</span><span class="p">,</span><span class="mi">23</span><span class="p">],</span> <span class="nx">myOtherIndexedParam</span><span class="o">:</span> <span class="s1">'0x123456789...'</span><span class="p">},</span> <span class="c1">// Using an array means OR: e.g. 20 or 23</span>
|
||
<span class="nx">fromBlock</span><span class="o">:</span> <span class="mi">0</span>
|
||
<span class="p">},</span> <span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">event</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">event</span><span class="p">);</span> <span class="p">});</span>
|
||
|
||
<span class="c1">// event output example</span>
|
||
<span class="o">></span> <span class="p">{</span>
|
||
<span class="nx">returnValues</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">myIndexedParam</span><span class="o">:</span> <span class="mi">20</span><span class="p">,</span>
|
||
<span class="nx">myOtherIndexedParam</span><span class="o">:</span> <span class="s1">'0x123456789...'</span><span class="p">,</span>
|
||
<span class="nx">myNonIndexParam</span><span class="o">:</span> <span class="s1">'My String'</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">raw</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">data</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">topics</span><span class="o">:</span> <span class="p">[</span><span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">]</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">event</span><span class="o">:</span> <span class="s1">'MyEvent'</span><span class="p">,</span>
|
||
<span class="nx">signature</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">logIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionHash</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">blockHash</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">blockNumber</span><span class="o">:</span> <span class="mi">1234</span><span class="p">,</span>
|
||
<span class="nx">address</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span>
|
||
<span class="p">}</span>
|
||
</pre></div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
</div>
|
||
</div>
|
||
<div class="section" id="contract-events">
|
||
<span id="id35"></span><h2>events<a class="headerlink" href="#contract-events" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">events</span><span class="p">.</span><span class="nx">MyEvent</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>Subscribe to an event</p>
|
||
<div class="section" id="id36">
|
||
<h3>Parameters<a class="headerlink" href="#id36" title="Permalink to this headline">¶</a></h3>
|
||
<ol class="arabic simple">
|
||
<li><dl class="first docutils">
|
||
<dt><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): The options used for deployment.</dt>
|
||
<dd><ul class="first last">
|
||
<li><code class="docutils literal notranslate"><span class="pre">filter</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): Let you filter events by indexed parameters, e.g. <code class="docutils literal notranslate"><span class="pre">{filter:</span> <span class="pre">{myNumber:</span> <span class="pre">[12,13]}}</span></code> means all events where “myNumber” is 12 or 13.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">fromBlock</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code> (optional): The block number from which to get events on.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">topics</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code> (optional): This allows to manually set the topics for the event filter. If given the filter property and event signature, (topic[0]) will not be set automatically.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">callback</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code> (optional): This callback will be fired for each <em>event</em> as the second argument, or an error as the first argument.</li>
|
||
</ol>
|
||
</div>
|
||
<div class="section" id="contract-events-return">
|
||
<span id="id37"></span><h3>Returns<a class="headerlink" href="#contract-events-return" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">EventEmitter</span></code>: The event emitter has 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 event with the event 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 event which was removed from the blockchain. The event 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 occours.</li>
|
||
</ul>
|
||
<p>The structure of the returned event <code class="docutils literal notranslate"><span class="pre">Object</span></code> looks as follows:</p>
|
||
<ul class="simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">event</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The event name.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">signature</span></code> - <code class="docutils literal notranslate"><span class="pre">String|Null</span></code>: The event signature, <code class="docutils literal notranslate"><span class="pre">null</span></code> if it’s an anonymous event.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">address</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: Address this event originated from.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">returnValues</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code>: The return values coming from the event, e.g. <code class="docutils literal notranslate"><span class="pre">{myVar:</span> <span class="pre">1,</span> <span class="pre">myVar2:</span> <span class="pre">'0x234...'}</span></code>.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">logIndex</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: Integer of the event index position in the block.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">transactionIndex</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: Integer of the transaction’s index position the event was created in.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">transactionHash</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: Hash of the transaction this event was created in.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">blockHash</span></code> 32 Bytes - <code class="docutils literal notranslate"><span class="pre">String</span></code>: Hash of the block this event was created in. <code class="docutils literal notranslate"><span class="pre">null</span></code> when it’s still pending.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">blockNumber</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code>: The block number this log was created in. <code class="docutils literal notranslate"><span class="pre">null</span></code> when still pending.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">raw.data</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The data containing non-indexed log parameter.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">raw.topics</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code>: An array with max 4 32 Byte topics, topic 1-3 contains indexed parameters of the event.</li>
|
||
</ul>
|
||
</div>
|
||
<div class="section" id="id38">
|
||
<h3>Example<a class="headerlink" href="#id38" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">events</span><span class="p">.</span><span class="nx">MyEvent</span><span class="p">({</span>
|
||
<span class="nx">filter</span><span class="o">:</span> <span class="p">{</span><span class="nx">myIndexedParam</span><span class="o">:</span> <span class="p">[</span><span class="mi">20</span><span class="p">,</span><span class="mi">23</span><span class="p">],</span> <span class="nx">myOtherIndexedParam</span><span class="o">:</span> <span class="s1">'0x123456789...'</span><span class="p">},</span> <span class="c1">// Using an array means OR: e.g. 20 or 23</span>
|
||
<span class="nx">fromBlock</span><span class="o">:</span> <span class="mi">0</span>
|
||
<span class="p">},</span> <span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">event</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">event</span><span class="p">);</span> <span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'data'</span><span class="p">,</span> <span class="p">(</span><span class="nx">event</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">event</span><span class="p">);</span> <span class="c1">// same results as the optional callback above</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'changed'</span><span class="p">,</span> <span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">=></span> <span class="p">{</span>
|
||
<span class="c1">// remove event from local database</span>
|
||
<span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">'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">// event output example</span>
|
||
<span class="o">></span> <span class="p">{</span>
|
||
<span class="nx">returnValues</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">myIndexedParam</span><span class="o">:</span> <span class="mi">20</span><span class="p">,</span>
|
||
<span class="nx">myOtherIndexedParam</span><span class="o">:</span> <span class="s1">'0x123456789...'</span><span class="p">,</span>
|
||
<span class="nx">myNonIndexParam</span><span class="o">:</span> <span class="s1">'My String'</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">raw</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">data</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">topics</span><span class="o">:</span> <span class="p">[</span><span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">]</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">event</span><span class="o">:</span> <span class="s1">'MyEvent'</span><span class="p">,</span>
|
||
<span class="nx">signature</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">logIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionHash</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">blockHash</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">blockNumber</span><span class="o">:</span> <span class="mi">1234</span><span class="p">,</span>
|
||
<span class="nx">address</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</span>
|
||
<span class="p">}</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="events-allevents">
|
||
<h2>events.allEvents<a class="headerlink" href="#events-allevents" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">events</span><span class="p">.</span><span class="nx">allEvents</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>Same as <a class="reference internal" href="#contract-events"><span class="std std-ref">events</span></a> but receives all events from this smart contract.
|
||
Optionally the filter property can filter those events.</p>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<div class="section" id="getpastevents">
|
||
<h2>getPastEvents<a class="headerlink" href="#getpastevents" title="Permalink to this headline">¶</a></h2>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">getPastEvents</span><span class="p">(</span><span class="nx">event</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>Gets past events for this contract.</p>
|
||
<div class="section" id="id39">
|
||
<h3>Parameters<a class="headerlink" href="#id39" title="Permalink to this headline">¶</a></h3>
|
||
<ol class="arabic simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">event</span></code> - <code class="docutils literal notranslate"><span class="pre">String</span></code>: The name of the event in the contract, or <code class="docutils literal notranslate"><span class="pre">"allEvents"</span></code> to get all events.</li>
|
||
<li><dl class="first docutils">
|
||
<dt><code class="docutils literal notranslate"><span class="pre">options</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): The options used for deployment.</dt>
|
||
<dd><ul class="first last">
|
||
<li><code class="docutils literal notranslate"><span class="pre">filter</span></code> - <code class="docutils literal notranslate"><span class="pre">Object</span></code> (optional): Lets you filter events by indexed parameters, e.g. <code class="docutils literal notranslate"><span class="pre">{filter:</span> <span class="pre">{myNumber:</span> <span class="pre">[12,13]}}</span></code> means all events where “myNumber” is 12 or 13.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">fromBlock</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code> (optional): The block number from which to get events on.</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">toBlock</span></code> - <code class="docutils literal notranslate"><span class="pre">Number</span></code> (optional): The block number to get events up to (Defaults to <code class="docutils literal notranslate"><span class="pre">"latest"</span></code>).</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">topics</span></code> - <code class="docutils literal notranslate"><span class="pre">Array</span></code> (optional): This allows manually setting the topics for the event filter. If given the filter property and event signature, (topic[0]) will not be set automatically.</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">callback</span></code> - <code class="docutils literal notranslate"><span class="pre">Function</span></code> (optional): This callback will be fired with an array of event logs as the second argument, or an error as the first argument.</li>
|
||
</ol>
|
||
</div>
|
||
<div class="section" id="id40">
|
||
<h3>Returns<a class="headerlink" href="#id40" title="Permalink to this headline">¶</a></h3>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Promise</span></code> returns <code class="docutils literal notranslate"><span class="pre">Array</span></code>: An array with the past event <code class="docutils literal notranslate"><span class="pre">Objects</span></code>, matching the given event name and filter.</p>
|
||
<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="#contract-events-return"><span class="std std-ref">getPastEvents return values</span></a>.</p>
|
||
</div>
|
||
<div class="section" id="id41">
|
||
<h3>Example<a class="headerlink" href="#id41" title="Permalink to this headline">¶</a></h3>
|
||
<div class="highlight-javascript notranslate"><div class="highlight"><pre><span></span><span class="nx">myContract</span><span class="p">.</span><span class="nx">getPastEvents</span><span class="p">(</span><span class="s1">'MyEvent'</span><span class="p">,</span> <span class="p">{</span>
|
||
<span class="nx">filter</span><span class="o">:</span> <span class="p">{</span><span class="nx">myIndexedParam</span><span class="o">:</span> <span class="p">[</span><span class="mi">20</span><span class="p">,</span><span class="mi">23</span><span class="p">],</span> <span class="nx">myOtherIndexedParam</span><span class="o">:</span> <span class="s1">'0x123456789...'</span><span class="p">},</span> <span class="c1">// Using an array means OR: e.g. 20 or 23</span>
|
||
<span class="nx">fromBlock</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">toBlock</span><span class="o">:</span> <span class="s1">'latest'</span>
|
||
<span class="p">},</span> <span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">events</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">events</span><span class="p">);</span> <span class="p">})</span>
|
||
<span class="p">.</span><span class="nx">then</span><span class="p">((</span><span class="nx">events</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">events</span><span class="p">)</span> <span class="c1">// same results as the optional callback above</span>
|
||
<span class="p">});</span>
|
||
|
||
<span class="o">></span> <span class="p">[{</span>
|
||
<span class="nx">returnValues</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">myIndexedParam</span><span class="o">:</span> <span class="mi">20</span><span class="p">,</span>
|
||
<span class="nx">myOtherIndexedParam</span><span class="o">:</span> <span class="s1">'0x123456789...'</span><span class="p">,</span>
|
||
<span class="nx">myNonIndexParam</span><span class="o">:</span> <span class="s1">'My String'</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">raw</span><span class="o">:</span> <span class="p">{</span>
|
||
<span class="nx">data</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">topics</span><span class="o">:</span> <span class="p">[</span><span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">]</span>
|
||
<span class="p">},</span>
|
||
<span class="nx">event</span><span class="o">:</span> <span class="s1">'MyEvent'</span><span class="p">,</span>
|
||
<span class="nx">signature</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">logIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionIndex</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
|
||
<span class="nx">transactionHash</span><span class="o">:</span> <span class="s1">'0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385'</span><span class="p">,</span>
|
||
<span class="nx">blockHash</span><span class="o">:</span> <span class="s1">'0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7'</span><span class="p">,</span>
|
||
<span class="nx">blockNumber</span><span class="o">:</span> <span class="mi">1234</span><span class="p">,</span>
|
||
<span class="nx">address</span><span class="o">:</span> <span class="s1">'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'</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.Contract</a><ul>
|
||
<li><a class="reference internal" href="#new-contract">new contract</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="#example">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#properties">= Properties =</a></li>
|
||
<li><a class="reference internal" href="#options">options</a><ul>
|
||
<li><a class="reference internal" href="#id1">Properties</a></li>
|
||
<li><a class="reference internal" href="#id2">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#options-address">options.address</a><ul>
|
||
<li><a class="reference internal" href="#property">Property</a></li>
|
||
<li><a class="reference internal" href="#id3">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#options-jsoninterface">options.jsonInterface</a><ul>
|
||
<li><a class="reference internal" href="#id4">Property</a></li>
|
||
<li><a class="reference internal" href="#id5">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#methods">= Methods =</a></li>
|
||
<li><a class="reference internal" href="#clone">clone</a><ul>
|
||
<li><a class="reference internal" href="#id6">Parameters</a></li>
|
||
<li><a class="reference internal" href="#id7">Returns</a></li>
|
||
<li><a class="reference internal" href="#id8">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#deploy">deploy</a><ul>
|
||
<li><a class="reference internal" href="#id9">Parameters</a></li>
|
||
<li><a class="reference internal" href="#id10">Returns</a></li>
|
||
<li><a class="reference internal" href="#id11">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#id12">methods</a><ul>
|
||
<li><a class="reference internal" href="#id13">Parameters</a></li>
|
||
<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="#methods-mymethod-call">methods.myMethod.call</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="#methods-mymethod-send">methods.myMethod.send</a><ul>
|
||
<li><a class="reference internal" href="#id19">Parameters</a></li>
|
||
<li><a class="reference internal" href="#id22">Returns</a></li>
|
||
<li><a class="reference internal" href="#id23">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#methods-mymethod-estimategas">methods.myMethod.estimateGas</a><ul>
|
||
<li><a class="reference internal" href="#id24">Parameters</a></li>
|
||
<li><a class="reference internal" href="#id27">Returns</a></li>
|
||
<li><a class="reference internal" href="#id28">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#methods-mymethod-encodeabi">methods.myMethod.encodeABI</a><ul>
|
||
<li><a class="reference internal" href="#id29">Parameters</a></li>
|
||
<li><a class="reference internal" href="#id30">Returns</a></li>
|
||
<li><a class="reference internal" href="#id31">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#events">= Events =</a></li>
|
||
<li><a class="reference internal" href="#once">once</a><ul>
|
||
<li><a class="reference internal" href="#id32">Parameters</a></li>
|
||
<li><a class="reference internal" href="#id33">Returns</a></li>
|
||
<li><a class="reference internal" href="#id34">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#contract-events">events</a><ul>
|
||
<li><a class="reference internal" href="#id36">Parameters</a></li>
|
||
<li><a class="reference internal" href="#contract-events-return">Returns</a></li>
|
||
<li><a class="reference internal" href="#id38">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#events-allevents">events.allEvents</a></li>
|
||
<li><a class="reference internal" href="#getpastevents">getPastEvents</a><ul>
|
||
<li><a class="reference internal" href="#id39">Parameters</a></li>
|
||
<li><a class="reference internal" href="#id40">Returns</a></li>
|
||
<li><a class="reference internal" href="#id41">Example</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<h4>Previous topic</h4>
|
||
<p class="topless"><a href="web3-eth-subscribe.html"
|
||
title="previous chapter">web3.eth.subscribe</a></p>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="web3-eth-accounts.html"
|
||
title="next chapter">web3.eth.accounts</a></p>
|
||
<div role="note" aria-label="source link">
|
||
<h3>This Page</h3>
|
||
<ul class="this-page-menu">
|
||
<li><a href="_sources/web3-eth-contract.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-accounts.html" title="web3.eth.accounts"
|
||
>next</a> |</li>
|
||
<li class="right" >
|
||
<a href="web3-eth-subscribe.html" title="web3.eth.subscribe"
|
||
>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> |