diff --git a/docs/RemixPlugin/Getting started.md b/docs/RemixPlugin/Getting started.md new file mode 100644 index 000000000..1e57a95ab --- /dev/null +++ b/docs/RemixPlugin/Getting started.md @@ -0,0 +1,49 @@ +# Getting Started with the Quorum Plugin for Remix + +1. Go to the [Remix IDE](https://remix.ethereum.org), click on the Plugins tab, scroll down to **Quorum Network**, and Activate. + + ![quorum_network](./images/quorum_network.png) + +2. Accept the permission to allow the plugin to retrieve compilation results. This allows our plugin to use the solidity compiler to get the compiled contract binary to deploy to your Quorum node. + + ![permission](./images/permission.png) + +3. The plugin should now be included in the icons on the left side. Click on the Quorum icon to show the plugin. + + ![quorum_tab](./images/tab_icon.png) + +4. Input the Geth RPC url and hit enter. If you are currently running the quorum-examples 7nodes network, the first node's url is http://localhost:22000 + + ![geth_rpc](./images/geth_rpc.png) + +5. If the node is running, the plugin should now say Connected and the rest of the UI will have appeared. + + ![ui_ready](./images/ui_ready.png) + +6. The Quorum plugin uses results from Remix's Solidity compiler, so pull up some contract code and compile it like you normally would in Remix. The plugin will automatically receive the compiled code on each new compilation. + +7. Once you have a contract compiled, it will automatically be selected in the Compiled Contracts dropdown. Input any constructor values and deploy. + + ![deploy](./images/deploy.png) + +8. If successful, the contract will show up in a collapsed view under 'Deployed Contracts'. Click the caret to expand. + + ![contract_collapsed](./images/contract_collapsed.png) + +9. From here you can call methods on the contract. + + ![method_call](./images/method_call.png) + +10. To create a private contract, add your Tessera public keys one at a time to the Private For multi-select box. Press enter after inputting each one to save and select. + + ![private_add](./images/private_add.png) + +11. Add as many peers as you want, then deploy the contract again like you did in step 7. + + ![private_multiple](./images/private_multiple.png) + +12. After deploying and expanding the new contract, you should see the public keys that you selected in the widget. Every method call will include the selected keys automatically. + + ![deployed_private](./images/deployed_private.png) + +13. Please open a github issue or reach out to us on our [Slack](https://bit.ly/quorum-slack) with any feedback or questions! diff --git a/docs/RemixPlugin/Overview.md b/docs/RemixPlugin/Overview.md new file mode 100644 index 000000000..6763451d4 --- /dev/null +++ b/docs/RemixPlugin/Overview.md @@ -0,0 +1,17 @@ +# Quorum Plugin for Remix + +The Quorum plugin for Ethereum's Remix IDE adds support for creating and interacting with private contracts on a Quorum network. + +![screenshot](./images/quorum-remix.png "screenshot") + +## Getting Started + +Just go to the [Remix IDE](https://remix.ethereum.org) and activate the **Quorum Network** plugin on the plugins page. For step-by-step instructions, go to the [Getting Started](../Getting%20started) doc. + +## Common Issues + +**HTTP/HTTPS:** +- Most browsers will not allow you to connect to an HTTP resource if you are currently on an HTTPS page. Since our plugin is currently loaded from HTTPS, it will not let you connect to a Quorum node that doesn't have an https url. **Chrome makes an exception for localhost**, so you should be able to connect to http://localhost:22000, for example. Firefox seems to be a little more strict than Chrome at the moment and does not allow these localhost calls. We are tracking this issue in [quorum-remix#8](https://github.com/jpmorganchase/quorum-remix/issues/8), but until that is fixed please use Chrome or another browser that doesn't block these requests. + +## Contributing +Quorum Plugin for Remix is built on open source and we invite you to contribute enhancements. Upon review you will be required to complete a Contributor License Agreement (CLA) before we are able to merge. If you have any questions about the contribution process, please feel free to send an email to [info@goquorum.com](mailto:info@goquorum.com). diff --git a/docs/RemixPlugin/images/contract_collapsed.png b/docs/RemixPlugin/images/contract_collapsed.png new file mode 100644 index 000000000..17e9c04ba Binary files /dev/null and b/docs/RemixPlugin/images/contract_collapsed.png differ diff --git a/docs/RemixPlugin/images/deploy.png b/docs/RemixPlugin/images/deploy.png new file mode 100644 index 000000000..be4ebf3fb Binary files /dev/null and b/docs/RemixPlugin/images/deploy.png differ diff --git a/docs/RemixPlugin/images/deployed_private.png b/docs/RemixPlugin/images/deployed_private.png new file mode 100644 index 000000000..bdf5055ca Binary files /dev/null and b/docs/RemixPlugin/images/deployed_private.png differ diff --git a/docs/RemixPlugin/images/geth_rpc.png b/docs/RemixPlugin/images/geth_rpc.png new file mode 100644 index 000000000..70ef0f693 Binary files /dev/null and b/docs/RemixPlugin/images/geth_rpc.png differ diff --git a/docs/RemixPlugin/images/method_call.png b/docs/RemixPlugin/images/method_call.png new file mode 100644 index 000000000..0c1bbf3e3 Binary files /dev/null and b/docs/RemixPlugin/images/method_call.png differ diff --git a/docs/RemixPlugin/images/method_success.png b/docs/RemixPlugin/images/method_success.png new file mode 100644 index 000000000..d79f4232b Binary files /dev/null and b/docs/RemixPlugin/images/method_success.png differ diff --git a/docs/RemixPlugin/images/permission.png b/docs/RemixPlugin/images/permission.png new file mode 100644 index 000000000..bfd5c11a6 Binary files /dev/null and b/docs/RemixPlugin/images/permission.png differ diff --git a/docs/RemixPlugin/images/plugin_tab.png b/docs/RemixPlugin/images/plugin_tab.png new file mode 100644 index 000000000..2faf01fde Binary files /dev/null and b/docs/RemixPlugin/images/plugin_tab.png differ diff --git a/docs/RemixPlugin/images/private_add.png b/docs/RemixPlugin/images/private_add.png new file mode 100644 index 000000000..8f7f32757 Binary files /dev/null and b/docs/RemixPlugin/images/private_add.png differ diff --git a/docs/RemixPlugin/images/private_multiple.png b/docs/RemixPlugin/images/private_multiple.png new file mode 100644 index 000000000..12856dc27 Binary files /dev/null and b/docs/RemixPlugin/images/private_multiple.png differ diff --git a/docs/RemixPlugin/images/quorum-remix.png b/docs/RemixPlugin/images/quorum-remix.png new file mode 100644 index 000000000..75aa56157 Binary files /dev/null and b/docs/RemixPlugin/images/quorum-remix.png differ diff --git a/docs/RemixPlugin/images/quorum_logo.png b/docs/RemixPlugin/images/quorum_logo.png new file mode 100644 index 000000000..094389893 Binary files /dev/null and b/docs/RemixPlugin/images/quorum_logo.png differ diff --git a/docs/RemixPlugin/images/quorum_network.png b/docs/RemixPlugin/images/quorum_network.png new file mode 100644 index 000000000..d082c71e3 Binary files /dev/null and b/docs/RemixPlugin/images/quorum_network.png differ diff --git a/docs/RemixPlugin/images/quorum_tab.png b/docs/RemixPlugin/images/quorum_tab.png new file mode 100644 index 000000000..7f6cc5424 Binary files /dev/null and b/docs/RemixPlugin/images/quorum_tab.png differ diff --git a/docs/RemixPlugin/images/tab_icon.png b/docs/RemixPlugin/images/tab_icon.png new file mode 100644 index 000000000..091108d69 Binary files /dev/null and b/docs/RemixPlugin/images/tab_icon.png differ diff --git a/docs/RemixPlugin/images/ui_ready.png b/docs/RemixPlugin/images/ui_ready.png new file mode 100644 index 000000000..4d7352f48 Binary files /dev/null and b/docs/RemixPlugin/images/ui_ready.png differ diff --git a/mkdocs.yml b/mkdocs.yml index f65030b0e..dabf555d3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -76,6 +76,9 @@ nav: - Overview: Cakeshop/Overview.md - Getting Started: Cakeshop/Getting started.md - Cakeshop FAQ: Cakeshop/Cakeshop FAQ.md + - Remix Plugin: + - Overview: RemixPlugin/Overview.md + - Getting Started: RemixPlugin/Getting started.md - Quorum Features: - DNS: Features/dns.md - Product Roadmap: roadmap.md