update docs and remove old images

pull/3094/head
Rob Stupay 6 years ago
parent 8838d51602
commit 11e6ebabae
  1. BIN
      docs/_build/doctrees/code_contribution_guide.doctree
  2. BIN
      docs/_build/doctrees/community.doctree
  3. BIN
      docs/_build/doctrees/compile.doctree
  4. BIN
      docs/_build/doctrees/contract_metadata.doctree
  5. BIN
      docs/_build/doctrees/create_deploy.doctree
  6. BIN
      docs/_build/doctrees/debugger.doctree
  7. BIN
      docs/_build/doctrees/environment.pickle
  8. BIN
      docs/_build/doctrees/file_explorer.doctree
  9. BIN
      docs/_build/doctrees/import.doctree
  10. BIN
      docs/_build/doctrees/index.doctree
  11. BIN
      docs/_build/doctrees/layout.doctree
  12. BIN
      docs/_build/doctrees/locations.doctree
  13. BIN
      docs/_build/doctrees/plugin_manager.doctree
  14. BIN
      docs/_build/doctrees/remix_plugin.doctree
  15. BIN
      docs/_build/doctrees/remix_plugin_api.doctree
  16. BIN
      docs/_build/doctrees/remix_tutorials_github.doctree
  17. BIN
      docs/_build/doctrees/remixd.doctree
  18. BIN
      docs/_build/doctrees/run.doctree
  19. BIN
      docs/_build/doctrees/settings.doctree
  20. BIN
      docs/_build/doctrees/solidity_editor.doctree
  21. BIN
      docs/_build/doctrees/static_analysis.doctree
  22. BIN
      docs/_build/doctrees/support.doctree
  23. BIN
      docs/_build/doctrees/terminal.doctree
  24. BIN
      docs/_build/doctrees/tutorial_debug.doctree
  25. BIN
      docs/_build/doctrees/tutorial_geth-remix.doctree
  26. BIN
      docs/_build/doctrees/udapp.doctree
  27. BIN
      docs/_build/doctrees/unittesting.doctree
  28. BIN
      docs/_build/html/_images/a-debug6-term-txn-hash.png
  29. BIN
      docs/_build/html/_images/a-debug7-debugger.png
  30. BIN
      docs/_build/html/_images/a-debug8-top3.png
  31. BIN
      docs/_build/html/_images/a-debug9-buttons.png
  32. BIN
      docs/_build/html/_images/a-layout1c.png
  33. 6
      docs/_build/html/_sources/layout.md.txt
  34. 9
      docs/_build/html/_sources/remixd.md.txt
  35. 62
      docs/_build/html/_sources/tutorial_debug.md.txt
  36. 17
      docs/_build/html/_sources/udapp.md.txt
  37. 6
      docs/_build/html/layout.html
  38. 7
      docs/_build/html/remixd.html
  39. 2
      docs/_build/html/searchindex.js
  40. 62
      docs/_build/html/tutorial_debug.html
  41. 29
      docs/_build/html/udapp.html
  42. BIN
      docs/images/a-debug6-term-txn-hash.png
  43. BIN
      docs/images/a-debug7-debugger.png
  44. BIN
      docs/images/a-debug8-top3.png
  45. BIN
      docs/images/a-debug9-buttons.png
  46. BIN
      docs/images/a-layout1a.png
  47. BIN
      docs/images/a-layout1b.png
  48. BIN
      docs/images/a-layout1c.png
  49. BIN
      docs/images/file-explorer-buttons.png
  50. BIN
      docs/images/layout1b.png
  51. BIN
      docs/images/remix_analysistab.png
  52. BIN
      docs/images/remix_compiletab.png
  53. BIN
      docs/images/remix_debuggertab.png
  54. BIN
      docs/images/remix_editor.png
  55. BIN
      docs/images/remix_file_explorer_browser.png
  56. BIN
      docs/images/remix_file_explorer_menu.png
  57. BIN
      docs/images/remix_quickstart_javascriptvm_callinginstance.png
  58. BIN
      docs/images/remix_quickstart_javascriptvm_creation.png
  59. BIN
      docs/images/remix_quickstart_javascriptvm_creationTransaction.png
  60. BIN
      docs/images/remix_recorder.png
  61. BIN
      docs/images/remix_runtab.png
  62. BIN
      docs/images/remix_runtab_example.png
  63. BIN
      docs/images/remix_settingstab.png
  64. BIN
      docs/images/remix_supporttab.png
  65. BIN
      docs/images/remix_terminal.png
  66. BIN
      docs/images/remix_unittest.png
  67. 6
      docs/layout.md
  68. BIN
      docs/mist1.png
  69. BIN
      docs/remix1.png
  70. BIN
      docs/remix2.png
  71. BIN
      docs/remix3.png
  72. BIN
      docs/remix4.png
  73. BIN
      docs/remix5.png
  74. BIN
      docs/remix_breakpoint.png
  75. BIN
      docs/remix_debuginstructions.png
  76. BIN
      docs/remix_debugtransactioninfo.png
  77. BIN
      docs/remix_enterdebugsession.png
  78. BIN
      docs/remix_executionexception.png
  79. BIN
      docs/remix_navigation.png
  80. 4
      docs/remix_plugin.md
  81. 60
      docs/remix_plugin_api.md
  82. BIN
      docs/remix_soliditylocals.png
  83. BIN
      docs/remix_soliditystate.png
  84. BIN
      docs/remix_startdebugging.png
  85. BIN
      docs/remix_stepdetail.png
  86. BIN
      docs/remix_valueinput.png
  87. 9
      docs/remixd.md
  88. BIN
      docs/remixd_alert.png
  89. BIN
      docs/remixd_connectionok.png
  90. BIN
      docs/remixd_noconnection.png
  91. 62
      docs/tutorial_debug.md
  92. 15
      docs/udapp.md

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

@ -3,10 +3,10 @@ Remix-IDE Layout
The new structure
--------------------
![](images/a-layout1b.png)
![](images/a-layout1c.png)
1. Icon Panel - click to change which plugin appears in the Swap Panel
2. Swap Panel - Most but not all plugins will have their GUI here.
1. Icon Panel - click to change which plugin appears in the Side Panel
2. Side Panel - Most but not all plugins will have their GUI here.
3. Main Panel - In the old layout this was just for editing files. In the tabs can be plugins or files for the IDE to compile.
4. Terminal - where you will see the results of your interactions with the GUI's. Also you can run scripts here.

@ -10,14 +10,17 @@ The code of `remixd` is
`remixd` can be globally installed using the following command:
`npm install -g remixd`
You can install it just in the directory of your choice using this command:
Or just install it in the directory of your choice by removing the -g flag:
`npm install remixd`
Then `remixd -s <absolute-path-to-the-shared-folder> --remix-ide <your-remix-ide-URL-instance>` will start `remixd` and will share the given folder.
Then from the terminal, the command `remixd -s <absolute-path-to-the-shared-folder> --remix-ide <your-remix-ide-URL-instance>` will start `remixd` and will share the given folder with remix-ide.
For example, to sync your local folder to the official Remix IDE,
For example, to use remixd with Remix IDE ( and not the alpha version) use this command:
`remixd -s <absolute-path-to-the-shared-folder> --remix-ide https://remix.ethereum.org`
Make sure that if you use https://remix.ethereum.org (secure http) in the remixd command (like in the example above), that you are also pointing your browser to https://remix.ethereum.org and not to http://remix.ethereum.org (plain old insecure http). Or if you want to use http in the browser use http in the remixd command.
The folder is shared using a websocket connection between `Remix IDE`
and `remixd`.

@ -2,19 +2,17 @@ Debugging transactions
======================
There are two ways to start debugging, each one corresponds to a different use case.
* from the transaction log in the Terminal - use this when you are want to debug a "sucessful" transaction.
* from the Debugger - use this if you have a *transaction hash* or a *block number* with a *transaction index*.
* from the transaction log in the Terminal - use this when you want to debug a transaction.
* from the Debugger - use this if you have a *transaction hash*.
### Debug from the Transaction GUI -
Let's start with a basic contract (or replace this one by your own):
### Initiate Debugging from the transaction log in the Terminal
Let's start with a basic contract ( or replace this one by your own ) :
- create a blank file in the file explorer (by clicking the + icon) and give it a name.
- copy the code below.
- compile the code.
- click the Run & Deploy icon in the icon panel.
```
{.sourceCode .none} - RS why is this here?
pragma solidity >=0.5.1 <0.6.0;
contract Donation {
address owner;
@ -90,51 +88,49 @@ Click the debug button to start debugging it.
![](images/a-debug5-term-debug-but.png)
### From the Debugger
Before we get to the actual debugging tool, the next section show how to start debugging session directly from the Debugger.
### Initiate Debugging from the from the Debugger
Click the bug icon in the icon panel to get to the debugger in the side panel.
Click the bug icon in the icon panel to get to the debugger in the side panel. If you don't see the bug icon go to the plugin manager and activate the debugger.
If you don't see the bug icon, go to the plugin manager and activate the debugger.
You can start a debug session by providing either a `transaction hash`
or a `block number` and `transaction index`.
You can start a debug session by providing a `transaction hash`.
To find a transaction hash
1. go to a transaction in the terminal.
To find a transaction hash:
1. Go to a transaction in the terminal.
2. Click a line with a transaction - to exand the log.
3. Copy the transaction has locate there.
3. The transaction hash is there - copy it.
![image](remix3.png)
![](images/a-debug6-term-txn-hash.png)
Then click on the `start debugging` button.
Then click in the debugger paste the hash and click on the `Start debugging` button.
![](images/a-debug7-debugger.png)
Using the debugger
------------------
![](images/a-debug8-top3.png)
The debugger allows one to see detailed informations about the
transaction's execution. It uses the editor to display the
location in the source code where the current execution is.
The transaction panel displays basic information about the current
transaction.
![image](remix_debugtransactioninfo.png)
The navigation part contains a slider and buttons that can be used to
step through the transaction execution.
From the left to the right:
step over back, step into back, step into forward, step over forward,
jump out (jump out of the current call), jump to the previous
breakpoint, jump to the next breakpoint.
### More explaination of what these buttons do.
1. Step Into
2. Step Over Into
![image](remix_navigation.png)
11 panels give detailed information about the execution:
### Instructions
![image](remix_debuginstructions.png)
The Instructions panel displays the bytecode of the current executing
contract- with the current step highlighted.
@ -146,15 +142,11 @@ those that refers to the same expression.
### Solidity Locals
![image](remix_soliditylocals.png)
The Solidity Locals panel displays local variables associated with the
current context.
### Solidity State
![image](remix_soliditystate.png)
The Solidity State panel displays state variables of the current
executing contract.
@ -173,7 +165,7 @@ These panels display low level informations about the execution:
### Reverted Transaction
A transaction could be `reverted` (because of an *out of gas exception* or
A transaction can be `reverted` (because of an *out of gas exception* or
Solidity `revert` statement or because of a low level exception).
It is important to be aware of the exception and to locate
@ -183,8 +175,6 @@ Remix will warn you when the execution throws an exception. The
`warning` button will jump to the last opcode before the exception
happened.
![image](remix_executionexception.png)
### Breakpoints
The two last buttons from the navigation area are used to jump either
@ -192,8 +182,6 @@ back to the previous breakpoint or forward to the next breakpoint.
Breakpoints can be added and removed by clicking on the line number in the *Editor*.
![image](remix_breakpoint.png)
When using debug session with breakpoints, the execution will jump to the first
encountered breakpoint.
@ -202,9 +190,7 @@ variable, it might be triggered twice: Once for initializing the
variable to zero and second time for assigning the actual value. As an
example, assume you are debugging the following contract:
(RS - what is the {.sourceCode .none} doing?)
```
{.sourceCode .none}
pragma solidity >=0.5.1 <0.6.0;
contract ctr {

@ -29,23 +29,28 @@ For more information see more about [Solidity
modifier](http://solidity.readthedocs.io/en/develop/miscellaneous.html?highlight=pure#modifiers)
.
If a function requires input parameters, well, you have to put them in.
If a function requires input parameters, well.. you gotta put them in.
## Inputting parameters
![](images/a-udapp-inputs.png)
The input box tells you what type each parameter needs to be.
### Inputting parameters in the collapsed view
Numbers and addresses do not need to be wrapped in double quotes. Strings need to be wrapped.
(Inputting all the parameters in a single input box)
+ The input box tells you what type each parameter needs to be.
+ Numbers and addresses do not need to be wrapped in double quotes.
+ Strings need to be wrapped.
+ Parameters are separated by commas.
When using the input box for parameters in its "up" display, the parameters need to be separated by a comma. In the example above the "delegate" function has 3 parameters.
In the example above the "delegate" function has 3 parameters.
Clicking the 'down' caret brings you to the *Multi-param Manager* - where you can input the parameters one at a time.
### Inputting parameters in the expanded view
Clicking the 'down' caret brings you to the *Multi-param Manager* - where you can input the parameters one at a time. **Much less confusing!**
![](images/a-udapp-multi-param-man.png)
In the *Multi-param Manager*, strings do not need to be wrapped.
In the expanded view, strings do not need to be wrapped.
Clicking the clipboard icon will encode the inputs and will copy them. Only a valid set of inputs can be encoded.

@ -207,10 +207,10 @@
<h1>Remix-IDE Layout<a class="headerlink" href="#remix-ide-layout" title="Permalink to this headline"></a></h1>
<div class="section" id="the-new-structure">
<h2>The new structure<a class="headerlink" href="#the-new-structure" title="Permalink to this headline"></a></h2>
<p><img alt="_images/a-layout1b.png" src="_images/a-layout1b.png" /></p>
<p><img alt="_images/a-layout1c.png" src="_images/a-layout1c.png" /></p>
<ol class="simple">
<li><p>Icon Panel - click to change which plugin appears in the Swap Panel</p></li>
<li><p>Swap Panel - Most but not all plugins will have their GUI here.</p></li>
<li><p>Icon Panel - click to change which plugin appears in the Side Panel</p></li>
<li><p>Side Panel - Most but not all plugins will have their GUI here.</p></li>
<li><p>Main Panel - In the old layout this was just for editing files. In the tabs can be plugins or files for the IDE to compile.</p></li>
<li><p>Terminal - where you will see the results of your interactions with the GUI’s. Also you can run scripts here.</p></li>
</ol>

@ -201,11 +201,12 @@ application access to a folder on your local computer.</p>
<a class="reference external" href="https://github.com/ethereum/remixd">here</a> .</p>
<p><code class="docutils literal notranslate"><span class="pre">remixd</span></code> can be globally installed using the following command:
<code class="docutils literal notranslate"><span class="pre">npm</span> <span class="pre">install</span> <span class="pre">-g</span> <span class="pre">remixd</span></code></p>
<p>You can install it just in the directory of your choice using this command:
<p>Or just install it in the directory of your choice by removing the -g flag:
<code class="docutils literal notranslate"><span class="pre">npm</span> <span class="pre">install</span> <span class="pre">remixd</span></code></p>
<p>Then <code class="docutils literal notranslate"><span class="pre">remixd</span> <span class="pre">-s</span> <span class="pre">&lt;absolute-path-to-the-shared-folder&gt;</span> <span class="pre">--remix-ide</span> <span class="pre">&lt;your-remix-ide-URL-instance&gt;</span></code> will start <code class="docutils literal notranslate"><span class="pre">remixd</span></code> and will share the given folder.</p>
<p>For example, to sync your local folder to the official Remix IDE,
<p>Then from the terminal, the command <code class="docutils literal notranslate"><span class="pre">remixd</span> <span class="pre">-s</span> <span class="pre">&lt;absolute-path-to-the-shared-folder&gt;</span> <span class="pre">--remix-ide</span> <span class="pre">&lt;your-remix-ide-URL-instance&gt;</span></code> will start <code class="docutils literal notranslate"><span class="pre">remixd</span></code> and will share the given folder with remix-ide.</p>
<p>For example, to use remixd with Remix IDE ( and not the alpha version) use this command:
<code class="docutils literal notranslate"><span class="pre">remixd</span> <span class="pre">-s</span> <span class="pre">&lt;absolute-path-to-the-shared-folder&gt;</span> <span class="pre">--remix-ide</span> <span class="pre">https://remix.ethereum.org</span></code></p>
<p>Make sure that if you use https://remix.ethereum.org (secure http) in the remixd command (like in the example above), that you are also pointing your browser to https://remix.ethereum.org and not to http://remix.ethereum.org (plain old insecure http). Or if you want to use http in the browser use http in the remixd command.</p>
<p>The folder is shared using a websocket connection between <code class="docutils literal notranslate"><span class="pre">Remix</span> <span class="pre">IDE</span></code>
and <code class="docutils literal notranslate"><span class="pre">remixd</span></code>.</p>
<p>Be sure the user executing <code class="docutils literal notranslate"><span class="pre">remixd</span></code> has read/write permission on the

File diff suppressed because one or more lines are too long

@ -195,20 +195,19 @@
<h1>Debugging transactions<a class="headerlink" href="#debugging-transactions" title="Permalink to this headline"></a></h1>
<p>There are two ways to start debugging, each one corresponds to a different use case.</p>
<ul class="simple">
<li><p>from the transaction log in the Terminal - use this when you are want to debug a “sucessful” transaction.</p></li>
<li><p>from the Debugger - use this if you have a <em>transaction hash</em> or a <em>block number</em> with a <em>transaction index</em>.</p></li>
<li><p>from the transaction log in the Terminal - use this when you want to debug a transaction.</p></li>
<li><p>from the Debugger - use this if you have a <em>transaction hash</em>.</p></li>
</ul>
<div class="section" id="debug-from-the-transaction-gui">
<h2>Debug from the Transaction GUI -<a class="headerlink" href="#debug-from-the-transaction-gui" title="Permalink to this headline"></a></h2>
<p>Let’s start with a basic contract (or replace this one by your own):</p>
<div class="section" id="initiate-debugging-from-the-transaction-log-in-the-terminal">
<h2>Initiate Debugging from the transaction log in the Terminal<a class="headerlink" href="#initiate-debugging-from-the-transaction-log-in-the-terminal" title="Permalink to this headline"></a></h2>
<p>Let’s start with a basic contract ( or replace this one by your own ) :</p>
<ul class="simple">
<li><p>create a blank file in the file explorer (by clicking the + icon) and give it a name.</p></li>
<li><p>copy the code below.</p></li>
<li><p>compile the code.</p></li>
<li><p>click the Run &amp; Deploy icon in the icon panel.</p></li>
</ul>
<div class="highlight-JavaScript notranslate"><div class="highlight"><pre><span></span><span class="p">{.</span><span class="nx">sourceCode</span> <span class="p">.</span><span class="nx">none</span><span class="p">}</span> <span class="o">-</span> <span class="nx">RS</span> <span class="nx">why</span> <span class="nx">is</span> <span class="k">this</span> <span class="nx">here</span><span class="o">?</span>
<span class="nx">pragma</span> <span class="nx">solidity</span> <span class="o">&gt;=</span><span class="mf">0.5.1</span> <span class="o">&lt;</span><span class="mf">0.6.0</span><span class="p">;</span>
<div class="highlight-JavaScript notranslate"><div class="highlight"><pre><span></span><span class="nx">pragma</span> <span class="nx">solidity</span> <span class="o">&gt;=</span><span class="mf">0.5.1</span> <span class="o">&lt;</span><span class="mf">0.6.0</span><span class="p">;</span>
<span class="nx">contract</span> <span class="nx">Donation</span> <span class="p">{</span>
<span class="nx">address</span> <span class="nx">owner</span><span class="p">;</span>
<span class="nx">event</span> <span class="nx">fundMoved</span><span class="p">(</span><span class="nx">address</span> <span class="nx">_to</span><span class="p">,</span> <span class="nx">uint</span> <span class="nx">_amount</span><span class="p">);</span>
@ -264,40 +263,41 @@ This simulates a custom blockchain. You could do the same using a proper backend
<p>Check in the <strong>terminal</strong> where the transaction you just made is logged.</p>
<p>Click the debug button to start debugging it.</p>
<p><img alt="_images/a-debug5-term-debug-but.png" src="_images/a-debug5-term-debug-but.png" /></p>
<p>Before we get to the actual debugging tool, the next section show how to start debugging session directly from the Debugger.</p>
</div>
<div class="section" id="from-the-debugger">
<h2>From the Debugger<a class="headerlink" href="#from-the-debugger" title="Permalink to this headline"></a></h2>
<p>Click the bug icon in the icon panel to get to the debugger in the side panel. If you don’t see the bug icon go to the plugin manager and activate the debugger.</p>
<p>You can start a debug session by providing either a <code class="docutils literal notranslate"><span class="pre">transaction</span> <span class="pre">hash</span></code>
or a <code class="docutils literal notranslate"><span class="pre">block</span> <span class="pre">number</span></code> and <code class="docutils literal notranslate"><span class="pre">transaction</span> <span class="pre">index</span></code>.</p>
<p>To find a transaction hash</p>
<div class="section" id="initiate-debugging-from-the-from-the-debugger">
<h2>Initiate Debugging from the from the Debugger<a class="headerlink" href="#initiate-debugging-from-the-from-the-debugger" title="Permalink to this headline"></a></h2>
<p>Click the bug icon in the icon panel to get to the debugger in the side panel.</p>
<p>If you don’t see the bug icon, go to the plugin manager and activate the debugger.</p>
<p>You can start a debug session by providing a <code class="docutils literal notranslate"><span class="pre">transaction</span> <span class="pre">hash</span></code>.</p>
<p>To find a transaction hash:</p>
<ol class="simple">
<li><p>go to a transaction in the terminal.</p></li>
<li><p>Go to a transaction in the terminal.</p></li>
<li><p>Click a line with a transaction - to exand the log.</p></li>
<li><p>Copy the transaction has locate there.</p></li>
<li><p>The transaction hash is there - copy it.</p></li>
</ol>
<p><img alt="_images/remix3.png" src="_images/remix3.png" />image</p>
<p>Then click on the <code class="docutils literal notranslate"><span class="pre">start</span> <span class="pre">debugging</span></code> button.</p>
<p><img alt="_images/a-debug6-term-txn-hash.png" src="_images/a-debug6-term-txn-hash.png" /></p>
<p>Then click in the debugger paste the hash and click on the <code class="docutils literal notranslate"><span class="pre">Start</span> <span class="pre">debugging</span></code> button.</p>
<p><img alt="_images/a-debug7-debugger.png" src="_images/a-debug7-debugger.png" /></p>
</div>
<div class="section" id="using-the-debugger">
<h2>Using the debugger<a class="headerlink" href="#using-the-debugger" title="Permalink to this headline"></a></h2>
<p><img alt="_images/a-debug8-top3.png" src="_images/a-debug8-top3.png" /></p>
<p>The debugger allows one to see detailed informations about the
transaction’s execution. It uses the editor to display the
location in the source code where the current execution is.</p>
<p>The transaction panel displays basic information about the current
transaction.</p>
<p><img alt="_images/remix_debugtransactioninfo.png" src="_images/remix_debugtransactioninfo.png" />image</p>
<p>The navigation part contains a slider and buttons that can be used to
step through the transaction execution.</p>
<p>From the left to the right:</p>
<p>step over back, step into back, step into forward, step over forward,
jump out (jump out of the current call), jump to the previous
breakpoint, jump to the next breakpoint.</p>
<p><img alt="_images/remix_navigation.png" src="_images/remix_navigation.png" />image</p>
<div class="section" id="more-explaination-of-what-these-buttons-do">
<h3>More explaination of what these buttons do.<a class="headerlink" href="#more-explaination-of-what-these-buttons-do" title="Permalink to this headline"></a></h3>
<ol class="simple">
<li><p>Step Into</p></li>
<li><p>Step Over Into</p></li>
</ol>
<p>11 panels give detailed information about the execution:</p>
</div>
<div class="section" id="instructions">
<h3>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline"></a></h3>
<p><img alt="_images/remix_debuginstructions.png" src="_images/remix_debuginstructions.png" />image</p>
<p>The Instructions panel displays the bytecode of the current executing
contract- with the current step highlighted.</p>
<p>Important note: When this panel is hidden, the slider will have a
@ -308,13 +308,11 @@ those that refers to the same expression.</p>
</div>
<div class="section" id="solidity-locals">
<h3>Solidity Locals<a class="headerlink" href="#solidity-locals" title="Permalink to this headline"></a></h3>
<p><img alt="_images/remix_soliditylocals.png" src="_images/remix_soliditylocals.png" />image</p>
<p>The Solidity Locals panel displays local variables associated with the
current context.</p>
</div>
<div class="section" id="solidity-state">
<h3>Solidity State<a class="headerlink" href="#solidity-state" title="Permalink to this headline"></a></h3>
<p><img alt="_images/remix_soliditystate.png" src="_images/remix_soliditystate.png" />image</p>
<p>The Solidity State panel displays state variables of the current
executing contract.</p>
</div>
@ -336,30 +334,26 @@ every storage change of every modified contract)</p></li>
</div>
<div class="section" id="reverted-transaction">
<h3>Reverted Transaction<a class="headerlink" href="#reverted-transaction" title="Permalink to this headline"></a></h3>
<p>A transaction could be <code class="docutils literal notranslate"><span class="pre">reverted</span></code> (because of an <em>out of gas exception</em> or
<p>A transaction can be <code class="docutils literal notranslate"><span class="pre">reverted</span></code> (because of an <em>out of gas exception</em> or
Solidity <code class="docutils literal notranslate"><span class="pre">revert</span></code> statement or because of a low level exception).</p>
<p>It is important to be aware of the exception and to locate
where the exception is in the source code.</p>
<p>Remix will warn you when the execution throws an exception. The
<code class="docutils literal notranslate"><span class="pre">warning</span></code> button will jump to the last opcode before the exception
happened.</p>
<p><img alt="_images/remix_executionexception.png" src="_images/remix_executionexception.png" />image</p>
</div>
<div class="section" id="breakpoints">
<h3>Breakpoints<a class="headerlink" href="#breakpoints" title="Permalink to this headline"></a></h3>
<p>The two last buttons from the navigation area are used to jump either
back to the previous breakpoint or forward to the next breakpoint.</p>
<p>Breakpoints can be added and removed by clicking on the line number in the <em>Editor</em>.</p>
<p><img alt="_images/remix_breakpoint.png" src="_images/remix_breakpoint.png" />image</p>
<p>When using debug session with breakpoints, the execution will jump to the first
encountered breakpoint.</p>
<p><strong>Important note:</strong> If you add a breakpoint to a line that declares a
variable, it might be triggered twice: Once for initializing the
variable to zero and second time for assigning the actual value. As an
example, assume you are debugging the following contract:</p>
<p>(RS - what is the {.sourceCode .none} doing?)</p>
<div class="highlight-JavaScript notranslate"><div class="highlight"><pre><span></span><span class="p">{.</span><span class="nx">sourceCode</span> <span class="p">.</span><span class="nx">none</span><span class="p">}</span>
<span class="nx">pragma</span> <span class="nx">solidity</span> <span class="o">&gt;=</span><span class="mf">0.5.1</span> <span class="o">&lt;</span><span class="mf">0.6.0</span><span class="p">;</span>
<div class="highlight-JavaScript notranslate"><div class="highlight"><pre><span></span><span class="nx">pragma</span> <span class="nx">solidity</span> <span class="o">&gt;=</span><span class="mf">0.5.1</span> <span class="o">&lt;</span><span class="mf">0.6.0</span><span class="p">;</span>
<span class="nx">contract</span> <span class="nx">ctr</span> <span class="p">{</span>
<span class="kd">function</span> <span class="nx">hid</span> <span class="p">()</span> <span class="kr">public</span> <span class="p">{</span>

@ -102,7 +102,11 @@
<li class="toctree-l1"><a class="reference internal" href="run.html">Run &amp; Deploy</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Run &amp; Deploy (part 2)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#deployed-contracts">Deployed contracts</a></li>
<li class="toctree-l2"><a class="reference internal" href="#inputting-parameters">Inputting parameters</a></li>
<li class="toctree-l2"><a class="reference internal" href="#inputting-parameters">Inputting parameters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#inputting-parameters-in-the-collapsed-view">Inputting parameters in the collapsed view</a></li>
<li class="toctree-l3"><a class="reference internal" href="#inputting-parameters-in-the-expanded-view">Inputting parameters in the expanded view</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="debugger.html">Debugger</a></li>
@ -217,20 +221,31 @@ But this transaction does not accept Ether.</p></li>
<p>For more information see more about <a class="reference external" href="http://solidity.readthedocs.io/en/develop/miscellaneous.html?highlight=pure#modifiers">Solidity
modifier</a>
.</p>
<p>If a function requires input parameters, well, you have to put them in.</p>
<p>If a function requires input parameters, well.. you gotta put them in.</p>
</div>
<div class="section" id="inputting-parameters">
<h2>Inputting parameters<a class="headerlink" href="#inputting-parameters" title="Permalink to this headline"></a></h2>
<p><img alt="_images/a-udapp-inputs.png" src="_images/a-udapp-inputs.png" /></p>
<p>The input box tells you what type each parameter needs to be.</p>
<p>Numbers and addresses do not need to be wrapped in double quotes. Strings need to be wrapped.</p>
<p>When using the input box for parameters in its “up” display, the parameters need to be separated by a comma. In the example above the “delegate” function has 3 parameters.</p>
<p>Clicking the ‘down’ caret brings you to the <em>Multi-param Manager</em> - where you can input the parameters one at a time.</p>
<div class="section" id="inputting-parameters-in-the-collapsed-view">
<h3>Inputting parameters in the collapsed view<a class="headerlink" href="#inputting-parameters-in-the-collapsed-view" title="Permalink to this headline"></a></h3>
<p>(Inputting all the parameters in a single input box)</p>
<ul class="simple">
<li><p>The input box tells you what type each parameter needs to be.</p></li>
<li><p>Numbers and addresses do not need to be wrapped in double quotes.</p></li>
<li><p>Strings need to be wrapped.</p></li>
<li><p>Parameters are separated by commas.</p></li>
</ul>
<p>In the example above the “delegate” function has 3 parameters.</p>
</div>
<div class="section" id="inputting-parameters-in-the-expanded-view">
<h3>Inputting parameters in the expanded view<a class="headerlink" href="#inputting-parameters-in-the-expanded-view" title="Permalink to this headline"></a></h3>
<p>Clicking the ‘down’ caret brings you to the <em>Multi-param Manager</em> - where you can input the parameters one at a time. <strong>Much less confusing!</strong></p>
<p><img alt="_images/a-udapp-multi-param-man.png" src="_images/a-udapp-multi-param-man.png" /></p>
<p>In the <em>Multi-param Manager</em>, strings do not need to be wrapped.</p>
<p>In the expanded view, strings do not need to be wrapped.</p>
<p>Clicking the clipboard icon will encode the inputs and will copy them. Only a valid set of inputs can be encoded.</p>
<p>So if you made a mistake and put a uint8 where an address should have been, clicking the clipboard here will give you an error.</p>
</div>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

@ -3,10 +3,10 @@ Remix-IDE Layout
The new structure
--------------------
![](images/a-layout1b.png)
![](images/a-layout1c.png)
1. Icon Panel - click to change which plugin appears in the Swap Panel
2. Swap Panel - Most but not all plugins will have their GUI here.
1. Icon Panel - click to change which plugin appears in the Side Panel
2. Side Panel - Most but not all plugins will have their GUI here.
3. Main Panel - In the old layout this was just for editing files. In the tabs can be plugins or files for the IDE to compile.
4. Terminal - where you will see the results of your interactions with the GUI's. Also you can run scripts here.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 KiB

@ -1,4 +0,0 @@
Remix Plugin
============
The best documentation about how to build a plugin is currently in [the readme of remix-plugin repo](https://github.com/ethereum/remix-plugin). Please go [here](https://github.com/ethereum/remix-plugin) to learn all about it.

@ -1,60 +0,0 @@
Remix Plugin API usage
======================
This section list all the available key and value pair which define this API:
## 1) notifications
### app (key: app)
- unfocus `[]`
- focus `[]`
### compiler (key: compiler)
- compilationFinished `[success (bool), data (obj), source (obj)]`
- compilationData `[compilationResult (obj)]`
### transaction listener (key: txlistener)
- newTransaction `[tx (obj)]`
### addendum
`newTransaction` is broadcasted to all loaded plugins.
`compilationFinished` is sent to the plugin that currently has the focus.
`focus / unfocus` is sent to the plugin which currently has the focus or is unfocused.
`compilationData` is sent always just upon the `focus` event and gives the last compilation result.
## 2) requests
### app
- getExecutionContextProvider `@return {String} provider (injected | web3 | vm)`
- getProviderEndpoint `@return {String} provider endpoint url if web3, returns an error if injected or javascript VM`
- updateTitle `@param {String} title`
### config
- setConfig `@param {String} path, @param {String} content`
- getConfig `@param {String} path`
- removeConfig `@param {String} path`
### compiler
- getCompilationResult `@return {Object} compilation result`
### udapp (only VM)
- runTx `@param {Object} tx`
- getAccounts `@return {Array} acccounts`
- createVMAccount `@param {String} privateKey, @param {String} balance (hex)`
### editor
- getCurrentFile `@return {String} current file path displayed in the editor`
- getFile `@param {String} path`
- setFile `@param {String} path, @param {String} content`
- highlight `@param {Object} lineColumnPos, @param {String} filePath, @param {String} hexColor`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 KiB

@ -10,14 +10,17 @@ The code of `remixd` is
`remixd` can be globally installed using the following command:
`npm install -g remixd`
You can install it just in the directory of your choice using this command:
Or just install it in the directory of your choice by removing the -g flag:
`npm install remixd`
Then `remixd -s <absolute-path-to-the-shared-folder> --remix-ide <your-remix-ide-URL-instance>` will start `remixd` and will share the given folder.
Then from the terminal, the command `remixd -s <absolute-path-to-the-shared-folder> --remix-ide <your-remix-ide-URL-instance>` will start `remixd` and will share the given folder with remix-ide.
For example, to sync your local folder to the official Remix IDE,
For example, to use remixd with Remix IDE ( and not the alpha version) use this command:
`remixd -s <absolute-path-to-the-shared-folder> --remix-ide https://remix.ethereum.org`
Make sure that if you use https://remix.ethereum.org (secure http) in the remixd command (like in the example above), that you are also pointing your browser to https://remix.ethereum.org and not to http://remix.ethereum.org (plain old insecure http). Or if you want to use http in the browser use http in the remixd command.
The folder is shared using a websocket connection between `Remix IDE`
and `remixd`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

@ -2,19 +2,17 @@ Debugging transactions
======================
There are two ways to start debugging, each one corresponds to a different use case.
* from the transaction log in the Terminal - use this when you are want to debug a "sucessful" transaction.
* from the Debugger - use this if you have a *transaction hash* or a *block number* with a *transaction index*.
* from the transaction log in the Terminal - use this when you want to debug a transaction.
* from the Debugger - use this if you have a *transaction hash*.
### Debug from the Transaction GUI -
Let's start with a basic contract (or replace this one by your own):
### Initiate Debugging from the transaction log in the Terminal
Let's start with a basic contract ( or replace this one by your own ) :
- create a blank file in the file explorer (by clicking the + icon) and give it a name.
- copy the code below.
- compile the code.
- click the Run & Deploy icon in the icon panel.
```
{.sourceCode .none} - RS why is this here?
pragma solidity >=0.5.1 <0.6.0;
contract Donation {
address owner;
@ -90,51 +88,49 @@ Click the debug button to start debugging it.
![](images/a-debug5-term-debug-but.png)
### From the Debugger
Before we get to the actual debugging tool, the next section show how to start debugging session directly from the Debugger.
### Initiate Debugging from the from the Debugger
Click the bug icon in the icon panel to get to the debugger in the side panel.
Click the bug icon in the icon panel to get to the debugger in the side panel. If you don't see the bug icon go to the plugin manager and activate the debugger.
If you don't see the bug icon, go to the plugin manager and activate the debugger.
You can start a debug session by providing either a `transaction hash`
or a `block number` and `transaction index`.
You can start a debug session by providing a `transaction hash`.
To find a transaction hash
1. go to a transaction in the terminal.
To find a transaction hash:
1. Go to a transaction in the terminal.
2. Click a line with a transaction - to exand the log.
3. Copy the transaction has locate there.
3. The transaction hash is there - copy it.
![image](remix3.png)
![](images/a-debug6-term-txn-hash.png)
Then click on the `start debugging` button.
Then click in the debugger paste the hash and click on the `Start debugging` button.
![](images/a-debug7-debugger.png)
Using the debugger
------------------
![](images/a-debug8-top3.png)
The debugger allows one to see detailed informations about the
transaction's execution. It uses the editor to display the
location in the source code where the current execution is.
The transaction panel displays basic information about the current
transaction.
![image](remix_debugtransactioninfo.png)
The navigation part contains a slider and buttons that can be used to
step through the transaction execution.
From the left to the right:
step over back, step into back, step into forward, step over forward,
jump out (jump out of the current call), jump to the previous
breakpoint, jump to the next breakpoint.
### More explaination of what these buttons do.
1. Step Into
2. Step Over Into
![image](remix_navigation.png)
11 panels give detailed information about the execution:
### Instructions
![image](remix_debuginstructions.png)
The Instructions panel displays the bytecode of the current executing
contract- with the current step highlighted.
@ -146,15 +142,11 @@ those that refers to the same expression.
### Solidity Locals
![image](remix_soliditylocals.png)
The Solidity Locals panel displays local variables associated with the
current context.
### Solidity State
![image](remix_soliditystate.png)
The Solidity State panel displays state variables of the current
executing contract.
@ -173,7 +165,7 @@ These panels display low level informations about the execution:
### Reverted Transaction
A transaction could be `reverted` (because of an *out of gas exception* or
A transaction can be `reverted` (because of an *out of gas exception* or
Solidity `revert` statement or because of a low level exception).
It is important to be aware of the exception and to locate
@ -183,8 +175,6 @@ Remix will warn you when the execution throws an exception. The
`warning` button will jump to the last opcode before the exception
happened.
![image](remix_executionexception.png)
### Breakpoints
The two last buttons from the navigation area are used to jump either
@ -192,8 +182,6 @@ back to the previous breakpoint or forward to the next breakpoint.
Breakpoints can be added and removed by clicking on the line number in the *Editor*.
![image](remix_breakpoint.png)
When using debug session with breakpoints, the execution will jump to the first
encountered breakpoint.
@ -202,9 +190,7 @@ variable, it might be triggered twice: Once for initializing the
variable to zero and second time for assigning the actual value. As an
example, assume you are debugging the following contract:
(RS - what is the {.sourceCode .none} doing?)
```
{.sourceCode .none}
pragma solidity >=0.5.1 <0.6.0;
contract ctr {

@ -29,23 +29,28 @@ For more information see more about [Solidity
modifier](http://solidity.readthedocs.io/en/develop/miscellaneous.html?highlight=pure#modifiers)
.
If a function requires input parameters, well, you have to put them in.
If a function requires input parameters, well.. you gotta put them in.
## Inputting parameters
![](images/a-udapp-inputs.png)
The input box tells you what type each parameter needs to be.
### Inputting parameters in the collapsed view
Numbers and addresses do not need to be wrapped in double quotes. Strings need to be wrapped.
(Inputting all the parameters in a single input box)
+ The input box tells you what type each parameter needs to be.
+ Numbers and addresses do not need to be wrapped in double quotes.
+ Strings need to be wrapped.
+ Parameters are separated by commas.
When using the input box for parameters in its "up" display, the parameters need to be separated by a comma. In the example above the "delegate" function has 3 parameters.
In the example above the "delegate" function has 3 parameters.
### Inputting parameters in the expanded view
Clicking the 'down' caret brings you to the *Multi-param Manager* - where you can input the parameters one at a time. **Much less confusing!**
![](images/a-udapp-multi-param-man.png)
In the *Multi-param Manager*, strings do not need to be wrapped.
In the expanded view, strings do not need to be wrapped.
Clicking the clipboard icon will encode the inputs and will copy them. Only a valid set of inputs can be encoded.

Loading…
Cancel
Save