diff --git a/docs/FAQ.md b/docs/FAQ.md index 93e9ba5c53..bc592af543 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -1,6 +1,6 @@ # FAQ -### Supported devices & Browsers +## Supported devices & Browsers **Q:** What browsers will Remix work on? @@ -10,7 +10,7 @@ **A:** We do not support the use of Remix on tablets or mobile phones. -### General +## General **Q:** Are there keyboard shortcuts in Remix? @@ -26,7 +26,7 @@ `Ctrl+Shift+A` : Opens the Plugin Manager -### Solidity compiler +## Solidity Compiler **Q:** Error: compiler might be in a non-sane state @@ -36,12 +36,12 @@ The compiler might be in a non-sane state, please be careful and do not use furt It is heavily recommended to use another browser not affected by this issue (Firefox is known to not be affected)." ``` -**A:** Old versions of solidity compiler had this problem with chrome. +**A:** Old versions of Solidity Compiler had this problem with chrome. Please change the compiler version in Solidity Plugin to the newer one or use another browser. **Q:** I’m getting an issue with Maximum call stack exceed and various other errors, can't compile. -**A:** Try a different browser or a newer solidity compiler version. +**A:** Try a different browser or a newer Solidity Compiler version. **Q:** How to verify a contract that imports other contracts? @@ -49,7 +49,7 @@ Please change the compiler version in Solidity Plugin to the newer one or use an A contract can be 'flattened' by right-clicking on it in the File Explorer and choosing the `Flatten` option. This will assemble all the original code as well as the imported code into a single file. -### Deploy & Run +## Deploy & Run **Q:** I am using an Infura endpoint in my app, but when I try to deploy against that endpoint in Remix IDE selecting "External HTTP Provider" and putting my endpoint in, it's telling me that it can't connect @@ -104,13 +104,13 @@ contract daPeeps { The input of initPeepToPeeps takes a struct. If you input `[1,2]` the transaction will go through. -### Plugin Developers +## Plugin Developers **Q:** Where do plugin developers go with their questions? **A:** First, join our [Discord server](https://discord.com/invite/zUNteAzJs3) and then go to the development-plugin channel. -### Analytics +## Analytics **Q:** What information does Remix save when Matomo Analytics is enabled? diff --git a/docs/account-abstraction-7702.md b/docs/account-abstraction-7702.md index 4b0ebd658a..34df78a7e5 100644 --- a/docs/account-abstraction-7702.md +++ b/docs/account-abstraction-7702.md @@ -97,6 +97,6 @@ When the transaction goes through, go to Remix’s terminal and click the new tr ![Remix terminal showing the smart contract account and its associated bundler.](images/account-abstraction-7702/a-aa-gsa-log.png) -You will see both the Smart Contract Account and its associated Bundler. +You will see both the Smart Contract Account and its associated bundler. Note: Following [EIP-155](https://eips.ethereum.org/EIPS/eip-155), Safe Smart Account contracts use a deterministic deployment proxy so for a contract deployed using a smart account, the msg.sender will be: 0x4e59b44847b379578588920cA78FbF26c0B4956C. diff --git a/docs/ai.md b/docs/ai.md index de91a27881..e5b9b49865 100644 --- a/docs/ai.md +++ b/docs/ai.md @@ -1,6 +1,6 @@ # AI Tools -Remix has its own AI tool named **RemixAI** and a sub-project called **RemixAI Copilot** for code completion. +Remix has its own AI tool named **RemixAI** and a sub-project called **RemixAI Copilot** for code completion. When you load Remix, the **RemixAI Assistant** appears in the Right Side Panel. @@ -24,9 +24,11 @@ In the RemixAI Assistant, there is a choice of LLMs for use in **code explanatio ![RemixAI LLM dropdown menu.](images/ai/llm-dropdown.png) ## Natural languages and RemixAI + The RemixAI Assistant will respond to a question in the language in which it's asked. ## Computer languages and RemixAI + RemixAI will be able to answer questions about Solidity, JS/TS, Vyper and other computer languages. ## Adding context to the LLM @@ -41,7 +43,7 @@ You can also set the context to the current Workspace while you type, by startin When you type a space or a new line, the RemixAI Assistant will propose some code. The proposed code is a technique called, **code completion**. The RemixAI Assistant's suggested code will take into account what has already been written in the file. -The switch to activate it is at the bottom left of the Main Panel when a file is active. Once activated, suggests code using MistralAI LLM. For **code completion** there is no choice of LLM. +The switch to activate it is at the bottom left of the Main Panel when a file is active. Once activated, suggests code using MistralAI LLM. For **code completion** there is no choice of LLM. ![Remix AI Copilot button.](images/ai/a-ai-switch.png) diff --git a/docs/compile.md b/docs/compile.md index 6af1278870..992bbbf00d 100644 --- a/docs/compile.md +++ b/docs/compile.md @@ -116,4 +116,4 @@ There is no error checking when using the .json file for configuration settings, ### Use a Custom Solidity Compiler -For those writing your own custom solidity compiler, you can import that by clicking the **+** button (**X. in fig 1**) to open a modal where you can input the url of the compiler to be loaded. +For those writing your own custom Solidity Compiler, you can import that by clicking the **+** button (**X. in fig 1**) to open a modal where you can input the url of the compiler to be loaded. diff --git a/docs/create_deploy.md b/docs/create_deploy.md index e39ad37900..c4a0880b47 100644 --- a/docs/create_deploy.md +++ b/docs/create_deploy.md @@ -59,7 +59,6 @@ A quick way to compile is to hit **ctrl + s**. You can also compile by going to Go to the **Deploy & Run Transactions** plugin. - At the top of this plugin is the Environment selectbox. Here you can choose where you want to deploy your contract. There are many choices. For more info about these options see {ref}`this section ` of the docs. For a brief synopsis: diff --git a/docs/foundry.md b/docs/foundry.md index de5a2329e1..5c1a19cf3b 100644 --- a/docs/foundry.md +++ b/docs/foundry.md @@ -22,7 +22,7 @@ Now, one can start deploying the contract from Remix IDE to the local Anvil node Foundry manages dependencies using git submodules and can remap dependencies to make them easier to import. So import defined by remappings can have compilation errors on Remix IDE. -To support such compilation, Remix suggests running [compilation using a compiler config file](https://remix-ide.readthedocs.io/en/latest/compile.html#json-file-for-compiler-configuration). Remix adds some default Forge remappings in the compiler config file when a Foundry project is loaded in Remix IDE using remixd. +To support such compilation, Remix suggests running [compilation using a compiler config file](https://remix-ide.readthedocs.io/en/latest/compile.html#json-file-for-compiler-configuration). Remix adds some default Forge remappings in the compiler config file when a Foundry project is loaded in Remix IDE using Remixd. ![](images/a-foundry-cc.png) diff --git a/docs/git.md b/docs/git.md index 6e3222ceca..adf60a5a7c 100644 --- a/docs/git.md +++ b/docs/git.md @@ -63,7 +63,7 @@ You can view the output of some of these commands on the "**LOGS**" accordion it You can manage the multiple branches associated with your Workspace initialized with Git or cloned from GitHub from the "**BRANCHES**" accordion item. -![Remix Git Plugin showing multiple branches](images/git/gh-git-branches.png) +![Remix Git plugin showing multiple branches](images/git/gh-git-branches.png) You can view the current branch from the Footer. diff --git a/docs/hardhat.md b/docs/hardhat.md index ebe1404822..a7063e3af6 100644 --- a/docs/hardhat.md +++ b/docs/hardhat.md @@ -8,13 +8,13 @@ _(Supported since Remix IDE v0.12.0 and Remixd v0.3.6)_ If you have not used `remixd` before, read more about it {doc}`in the Remixd documentation `. ``` -If `remixd` is running locally on your device and shared folder is a **Hardhat project**, an additional websocket plugin will be listening on port `65522`. According to its documentation, +If `remixd` is running locally on your device and shared folder is a **Hardhat project**, an additional WebSocket plugin will be listening on port `65522`. According to its documentation, > _Hardhat projects are npm projects with the hardhat package installed and a hardhat.config.js or hardhat.config.ts file._ -Remixd looks for the `hardhat.config.js` or `hardhat.config.ts` file in shared folder, and if it finds the file, the Hardhat websocket listener will run. +Remixd looks for the `hardhat.config.js` or `hardhat.config.ts` file in shared folder, and if it finds the file, the Hardhat WebSocket listener will run. -The Hardhat websocket listener is a websocket plugin similar to `remixd` and is used to perform Hardhat specific actions with Remix IDE. +The Hardhat WebSocket listener is a WebSocket plugin similar to `remixd` and is used to perform Hardhat specific actions with Remix IDE. It doesn't need any separate installation as it is shipped with [remixd NPM](https://www.npmjs.com/package/@remix-project/remixd) module. @@ -28,7 +28,7 @@ To use Hardhat compilation with Remix IDE efficiently: 1. **Hardhat** should be installed locally on the system [https://hardhat.org/getting-started/#installation](https://hardhat.org/getting-started/#installation) 2. Shared folder should be a Hardhat project containing `hardhat.config.js` or `hardhat.config.ts` -3. `Remixd` Hardhat websocket listener should be running at `65522` +3. `Remixd` Hardhat WebSocket listener should be running at `65522` ### How to use @@ -46,7 +46,7 @@ The result of the compilation will be shown in the Remix IDE terminal ![](images/a-hardhat-compilation-success.png) -and also in the **remixd** terminal. +and also in the **Remixd** terminal. ![](images/a-hardhat-compilation-success-remixd.png) diff --git a/docs/import.md b/docs/import.md index 5e0d6fdb2d..92ea5d2825 100644 --- a/docs/import.md +++ b/docs/import.md @@ -63,7 +63,7 @@ import "./myLovelyLovelyLib.sol"; ### Importing a file from your computer's filesystem -This method uses **remixd** - the remix daemon. Please go to the {doc}`remixd docs ` for instructions about how to bridge the divide between the browser and your computer's filesystem. +This method uses **Remixd** - the remix daemon. Please go to the {doc}`remixd docs ` for instructions about how to bridge the divide between the browser and your computer's filesystem. ### More about the import keyword diff --git a/docs/locations.md b/docs/locations.md index ba2aa3b653..d6496b7b36 100644 --- a/docs/locations.md +++ b/docs/locations.md @@ -58,13 +58,13 @@ https://remix.ethereum.org/?#deactivate=debugger ### Minimizing Remix panels -The following URL will **close everything except the main panel & the icon panel** (the side and terminal are minimized). +The following URL will **close everything except the Main Panel & the icon panel** (the side and terminal are minimized). ```text https://remix.ethereum.org/?#embed=true ``` -To minimize just the side panel, use this URL: +To minimize just the Side Panel, use this URL: ```text https://remix.ethereum.org/?#minimizesidepanel=true @@ -88,7 +88,7 @@ To link to Remix with a theme specified use this url: To link to Remix with the list of plugins activated and with: -- the Learneth gaining the side panel's focus (because it is the last in the list) +- the LearnEth gaining the Side Panel's focus (because it is the last in the list) - the Light theme loaded - the terminal minimized - optimize off @@ -193,7 +193,7 @@ https://remix.ethereum.org/?#activate=solidity,fileManager&gist=0fe90e825327ef31 https://remix.ethereum.org/?#activate=solidity,LearnEth&gist=0fe90e825327ef313c88aedfe66ec142&call=fileManager//open//gist-0fe90e825327ef313c88aedfe66ec142/gridMix4.sol ``` -## Load a specific version of the Solidity compiler: +## Load a specific version of the Solidity Compiler: ```text https://remix.ethereum.org/?#version=soljson-v0.6.6+commit.6c089d02 @@ -201,7 +201,7 @@ https://remix.ethereum.org/?#version=soljson-v0.6.6+commit.6c089d02 **Note:** you need to specify both the Solidity version and the commit. -## Load a custom Solidity compiler: +## Load a custom Solidity Compiler: ```text https://remix.ethereum.org/#version=https://solidity-blog.s3.eu-central-1.amazonaws.com/data/08preview/soljson.js @@ -215,7 +215,7 @@ https://remix.ethereum.org/#autoCompile=true ## Select the language for the Solidity Compiler -Choose YUL or Solidity with the language parameter. +Choose Yul or Solidity with the language parameter. ```text https://remix.ethereum.org/#language=Yul diff --git a/docs/plugin_list.md b/docs/plugin_list.md index aedf59d2c2..ba86e42b07 100644 --- a/docs/plugin_list.md +++ b/docs/plugin_list.md @@ -15,7 +15,7 @@ profile name: **fileManager**
[Documentation](https://remix-ide.readthedocs.io/en/latest/remixd.html) **Solidity Compiler**   ![](images/pi-sol.png)
-Compiles Solidity & YUL. +Compiles Solidity & Yul.
profile name: **solidity**
{doc}`Documentation ` @@ -112,14 +112,14 @@ Deploy smart contracts using OpenZeppelin Defender directly from Remix IDE.
[Make an issue](https://github.com/OpenZeppelin/defender-deploy-plugin/issues) **Klaytn**   ![](images/pi-klaytn.png) -
Deploy & interact with smart contracts to the Klaytn public network, local klaytn nodes. +
Deploy & interact with smart contracts to the Klaytn public network, local Klaytn nodes.
[Profile name](https://github.com/ethereum/remix-plugins-directory/blob/master/plugins/klaytn/profile.json): klaytn-remix-plugin
[Documentation](https://github.com/klaytn-ozys/plug-and-klay)
[Make an issue](https://github.com/klaytn-ozys/plug-and-klay/issues) -**Learneth**   ![](images/pi-learneth.png)   Remix & Solidity Tutorials +**LearnEth**   ![](images/pi-learneth.png)   Remix & Solidity Tutorials
Tutorials that contain quizzes that teach users Solidity and Remix features. -
[Profile name](https://github.com/ethereum/remix-plugins-directory/blob/master/plugins/learneth/profile.json): learnEth +
[Profile name](https://github.com/ethereum/remix-plugins-directory/blob/master/plugins/learneth/profile.json): LearnEth
[Documentation](https://remix-learneth-plugin.readthedocs.io/en/latest/index.html)
[Make an issue](https://github.com/bunsenstraat/remix-learneth-plugin/issues) diff --git a/docs/remix_commands.md b/docs/remix_commands.md index fba3ae4c66..ccaf7fdf0e 100644 --- a/docs/remix_commands.md +++ b/docs/remix_commands.md @@ -20,9 +20,9 @@ In the console, you can run the commands listed below. Once you start to type a **remix.help()**: Display this help message. -**remix.loadgist(id)**: Load a gist in the file explorer. +**remix.loadgist(id)**: Load a gist in the File Explorer. -**remix.loadurl(url)**: Load the given url in the file explorer. The url can be of type github, swarm or ipfs. +**remix.loadurl(url)**: Load the given url in the File Explorer. The url can be of type github, swarm or IPFS. ### A few Ethers JS examples diff --git a/docs/remix_tutorials_learneth.md b/docs/remix_tutorials_learneth.md index 0964a1a481..30e62004fb 100644 --- a/docs/remix_tutorials_learneth.md +++ b/docs/remix_tutorials_learneth.md @@ -10,15 +10,15 @@ We have a growing set of tutorials on our repo- but anyone can build tutorials o The tutorials contain .md files for instructions and can also contain example files, Solidity Unit Test files for quizzes, as well as answer files for quizzes. -## Opening Learneth & associated links +## Opening LearnEth & associated links -Learneth is a plugin - so to access it, you need to activate the Learneth plugin in the Plugin Manager. Alternatively - this link will active it: click this link. +LearnEth is a plugin - so to access it, you need to activate the LearnEth plugin in the Plugin Manager. Alternatively - this link will active it: click this link. ``` https://remix.ethereum.org/?#activate=udapp,solidity,LearnEth ``` -This link will activate Learneth and then will open a specific tutorial - in this case it will load the **proxy contract** tutorial: +This link will activate LearnEth and then will open a specific tutorial - in this case it will load the **proxy contract** tutorial: ``` https://remix.ethereum.org/?#activate=udapp,solidity,LearnEth&call=LearnEth//startTutorial//ethereum/remix-workshops//master//proxycontract @@ -26,9 +26,9 @@ https://remix.ethereum.org/?#activate=udapp,solidity,LearnEth&call=LearnEth//sta **NOTE:** For other tricks about Remix URLs with parameters, go here: {doc}`locations `. -### Learneth Tutorials +### LearnEth Tutorials -Here is the current list of Learneth Tutorials +Here is the current list of LearnEth Tutorials **_Beginner_** @@ -46,13 +46,13 @@ Here is the current list of Learneth Tutorials Deploy with Libraries Opcodes in the Debugger -### Learneth & Tutorial Repos +### LearnEth & Tutorial Repos -The code for the Learneth plugin is located here: +The code for the LearnEth plugin is located here: https://github.com/bunsenstraat/remix-learneth-plugin/blob/master/docs/index.rst Documentation for creating your own tutorials is located here: https://remix-learneth-plugin.readthedocs.io/en/latest/index.html -Remix maintains and curates this repo of Learneth tutorials: +Remix maintains and curates this repo of LearnEth tutorials: https://github.com/ethereum/remix-workshops diff --git a/docs/remixd.md b/docs/remixd.md index 1a489a56a9..dd3929bed5 100644 --- a/docs/remixd.md +++ b/docs/remixd.md @@ -2,7 +2,7 @@ [![npm version](https://badge.fury.io/js/%40remix-project%2Fremixd.svg)](https://www.npmjs.com/package/@remix-project/remixd) -To give the Remix IDE (the web app) access to a folder on your computer, you need to use **Remixd** - the plugin along with **remixd** - the cli/npm module. +To give the Remix IDE (the web app) access to a folder on your computer, you need to use **Remixd** - the plugin along with **Remixd** - the cli/npm module. The **Remixd** plugin can be activated from the plugin manager or in the **File Explorer** - see the image below. The **connect to localhost** - will activate the **Remixd** plugin. @@ -12,9 +12,9 @@ Once you click **connect to localhost** or activate Remixd from the **Plugin Man ![](images/a-remixd-modal.png) -The Remixd plugin is a **websocket plugin** and it has no UI other than this modal dialog box - so you won't see a Remixd icon in the icon panel. +The Remixd plugin is a **WebSocket plugin** and it has no UI other than this modal dialog box - so you won't see a Remixd icon in the icon panel. -Before you hit **Connect**, you need to install the [remixd NPM module](https://www.npmjs.com/package/@remix-project/remixd) and run the **remixd** command. +Before you hit **Connect**, you need to install the [Remixd NPM module](https://www.npmjs.com/package/@remix-project/remixd) and run the **Remixd** command. The code of `remixd` is [here](https://github.com/ethereum/remix-project/tree/master/libs/remixd) . @@ -27,36 +27,36 @@ The code of `remixd` is Or just install it in the directory of your choice by removing the -g flag: `npm install @remix-project/remixd` -**NOTE:** When the remixd NPM module is installed, it also installs [Slither](https://github.com/crytic/slither), [solc-select](https://github.com/crytic/solc-select?tab=readme-ov-file#quickstart) and sets [solc](https://docs.soliditylang.org/en/latest/installing-solidity.html) to latest version i.e. 0.8.15 currently. +**NOTE:** When the Remixd NPM module is installed, it also installs [Slither](https://github.com/crytic/slither), [solc-select](https://github.com/crytic/solc-select?tab=readme-ov-file#quickstart) and sets [solc](https://docs.soliditylang.org/en/latest/installing-solidity.html) to latest version i.e. 0.8.15 currently. -**ALSO NOTE:** `Python3.6+ (pip3)` needs to already be installed on the System. (This packaging of Slither with the remixd module is supported since Remixd v0.6.3). In case of any discrepancy, Slither can also be installed along with other dependencies using command `remixd -i slither` +**ALSO NOTE:** `Python3.6+ (pip3)` needs to already be installed on the System. (This packaging of Slither with the Remixd module is supported since Remixd v0.6.3). In case of any discrepancy, Slither can also be installed along with other dependencies using command `remixd -i slither` -### Find your version of remixd +### Find your version of Remixd The command: `remixd -v` or `remixd --version` will return your version number. **If this command does not work, then you have an outdated version!** -### Update to the latest remixd +### Update to the latest Remixd -Because **remixd** creates a bridge from the browser to your local filesystem, it is important that you have the latest version of script. +Because **Remixd** creates a bridge from the browser to your local filesystem, it is important that you have the latest version of script. -For users who had installed the version of remixd from the **VERY** old NPM address or for users who do not know which NPM address they had installed it from, run these 2 steps: +For users who had installed the version of Remixd from the **VERY** old NPM address or for users who do not know which NPM address they had installed it from, run these 2 steps: 1. uninstall the old one: **npm uninstall -g remixd** 2. install the new: **npm install -g @remix-project/remixd** -**For Most Users** who know that they have a remixd version installed from @remix-project/remixd then just run: +**For Most Users** who know that they have a Remixd version installed from @remix-project/remixd then just run: ```shell npm install -g @remix-project/remixd ``` -### remixd command +### Remixd command -The remixd command without options uses the terminal's current directory as the shared directory and the shared Remix domain will be `https://remix.ethereum.org`, `https://remix-alpha.ethereum.org`, or `https://remix-beta.ethereum.org` +The `remixd` command without options uses the terminal's current directory as the shared directory and the shared Remix domain will be `https://remix.ethereum.org`, `https://remix-alpha.ethereum.org`, or `https://remix-beta.ethereum.org` -The remixd command is:
+The `remixd` command is:
`remixd` If you are using Remix from localhost or you are not running the command from your working directory, you'll need to use the command with flags. @@ -83,40 +83,41 @@ Example: **NOTE**: `remixd -i slither` can be used to install Slither along with its dependencies -#### HTTP vs HTTPS in the remixd command +#### HTTP vs HTTPS in the `remixd` command If your browser is on https://remix.ethereum.org (**secure http**) then use https in the command:
`remixd -s --remix-ide https://remix.ethereum.org` -Or if you are using **http** in the browser, then use **http** in the remixd command. +Or if you are using **http** in the browser, then use **http** in the `remixd` command. #### Read/Write permission & Read-only mode -The folder is shared using **a websocket connection** between `Remix IDE` +The folder is shared using **a WebSocket connection** between `Remix IDE` and `remixd`. Be sure the user executing `remixd` has read/write permission on the folder. -Alternatively, there is an option to run remixd in read-only mode, use `--read-only` flag. +Alternatively, there is an option to run `remixd` in read-only mode, use `--read-only` flag. ### Ports Usage -`remixd` functions by making websocket connections with Remix IDE on different ports. Ports are defined according to specific purpose. Port usage details are as: +`remixd` functions by making WebSocket connections with Remix IDE on different ports. Ports are defined according to specific purpose. Port usage details are as: -- **65520** : For `remixd` websocket listener, to share local file system with Remix IDE. Shared folder will be loaded in the Remix IDE `File Explorers` workspace named `localhost` -- **65522** : For `hardhat` websocket listener, to enable the Hardhat Compilation using Remix IDE `Solidity Compiler` plugin, if shared folder is a Hardhat project. -- **65523** : For `slither` websocket listener, to enable the Slither Analysis using Remix IDE `Solidity Static Analysis` plugin -- **65524** : For `truffle` websocket listener, to enable the Truffle Compilation using Remix IDE `Solidity Compiler` plugin, if shared folder is a Truffle project. +- **65520** : For `remixd` WebSocket listener, to share local file system with Remix IDE. Shared folder will be loaded in the Remix IDE `File Explorers` workspace named `localhost` +- **65522** : For `hardhat` WebSocket listener, to enable the Hardhat Compilation using Remix IDE `Solidity Compiler` plugin, if shared folder is a Hardhat project. +- **65523** : For `slither` WebSocket listener, to enable the Slither Analysis using Remix IDE `Solidity Static Analysis` plugin +- **65524** : For `truffle` WebSocket listener, to enable the Truffle Compilation using Remix IDE `Solidity Compiler` plugin, if shared folder is a Truffle project. **Note:** Please make sure your system is secured enough and these ports are not opened nor forwarded. -### Warning! +```{warning} - `remixd` **provides full read and write access** to the given folder **for any application** that can access the `TCP port 65520` on your local host. - To minimize the risk, Remixd can **ONLY** bridge between your filesystem and the Remix IDE URLS - including: +``` ```text https://remix.ethereum.org @@ -140,7 +141,7 @@ Cannot connect to the remixd daemon. Please make sure you have the remixd running in the background. ``` -Assuming you don't get the 2nd modal, your connection to the remixd daemon is successful. The shared folder will be visible in the File Explorer's workspace under **localhost**. +Assuming you don't get the 2nd modal, your connection to the `remixd` daemon is successful. The shared folder will be visible in the File Explorer's workspace under **localhost**. ![](images/a-ws-localhost.png) @@ -148,6 +149,6 @@ Assuming you don't get the 2nd modal, your connection to the remixd daemon is su Clicking on the **new folder** or **new file** icon under **localhost** will create a new file or folder in the shared folder. Similarly, if you **right click** on a file or folder you can **rename** or **delete** the file. -### Closing a remixd session +### Closing a `remixd` session -In the terminal where **remixd** is running, typing `ctrl-c` will close the session. Remix IDE will then put up a modal saying that **remixd** has stopped running. +In the terminal where `remixd` is running, typing `ctrl-c` will close the session. Remix IDE will then put up a modal saying that `remixd` has stopped running. diff --git a/docs/run.md b/docs/run.md index 997fa4857f..1e2dec79c9 100644 --- a/docs/run.md +++ b/docs/run.md @@ -169,7 +169,7 @@ Only use `--http.corsdomain *` when using a **test chain** AND using only **test ## Value: -- This sets the amount of ETH, WEI, GWEI, etc. that is sent to a contract or a payable function.
+- This sets the amount of ETH, WEI, Gwei, etc. that is sent to a contract or a payable function.
**Note:** payable functions have a red button. The **Value** field is always reset to 0 after each transaction execution.
@@ -179,7 +179,7 @@ The **Value** field is **NOT** for gas. ## Deploy and AtAddress -- In the image above, the select box is set to **Ballot**. This select box will contain the list of compiled contracts. +- In the image above, the selectbox is set to **Ballot**. This selectbox will contain the list of compiled contracts. - `Deploy` sends a transaction that deploys the selected contract. When the transaction is mined, the newly created instance will be added @@ -200,7 +200,7 @@ with extension **\*.abi** and copy the ABI content into it. Make sure this file is the active tab in the Editor. Then, in the field next to `At Address`, input the contract's address and click on `At Address`. If successful, an instance of the contract will appear below in the list of **Deployed Contracts**. -**Note:** To generate the ABI, in the Solidity compiler after a contract is compiled, click on the **Compilation Details** button. A modal will come up that contains the ABI, among other info. +**Note:** To generate the ABI, in the Solidity Compiler after a contract is compiled, click on the **Compilation Details** button. A modal will come up that contains the ABI, among other info. ## Pending Instances diff --git a/docs/run_proxy_contracts.md b/docs/run_proxy_contracts.md index f2f47e755c..e42ea22ff0 100644 --- a/docs/run_proxy_contracts.md +++ b/docs/run_proxy_contracts.md @@ -14,7 +14,7 @@ To try this out, you will need to get a proxy contract. Go to wizard.openzeppeli ## Deploying -When a UUPS contract is selected in Deploy & Run's Contract select box, you'll see some checkboxes below the Deploy button: +When a UUPS contract is selected in Deploy & Run's Contract selectbox, you'll see some checkboxes below the Deploy button: ![](images/a-proxy-deploy1-noParams.png) diff --git a/docs/running_js_scripts.md b/docs/running_js_scripts.md index 2ed718c6dd..2223b91cdd 100644 --- a/docs/running_js_scripts.md +++ b/docs/running_js_scripts.md @@ -76,7 +76,7 @@ In order to connect a contract with a script, add the **NatSpec** tag `@custom:d When you are ready to deploy the code for real, remove the NatSpec comment `@custom:dev-run-script`. -**ShortCut**: `Ctrl+Shift+S` , when editing a solidity file, will compile that file and then will run the script. In contrast, Ctrl+S will only start the compiling. +**ShortCut**: `Ctrl+Shift+S` , when editing a solidity file, will compile that file and then will run the script. In contrast, `ctrl+S` will only start the compiling. ## An Example Script diff --git a/docs/security.md b/docs/security.md index deb3bcdc6e..1cb517e267 100644 --- a/docs/security.md +++ b/docs/security.md @@ -1,7 +1,6 @@ -Using Remix Safely -================== +# Using Remix Safely -- It is dangerous to send transactions on contracts you don't understand (even if it's a get rich quick scheme that you've copied & pasted from a Discord DM or a youtube video and you really really want to get rich). +- It is dangerous to send transactions on contracts you don't understand (even if it's a get rich quick scheme that you've copied & pasted from a Discord DM or a youtube video and you really want to get rich). - Check our [article](https://medium.com/remix-ide/remix-in-youtube-crypto-scams-71c338da32d?source=friends_link&sk=bb6efbbf88bc3e496611943d282ad797) on a current scam promoting "liquidity front runner bots". @@ -20,16 +19,16 @@ Rather, **use one** like this:
- Always be sure to address or understand every warning. - Remix is a subdomain of ethereum.org - so the only valid Remix urls are: - - remix.ethereum.org - - remix-alpha.ethereum.org - - remix-beta.ethereum.org + - remix.ethereum.org + - remix-alpha.ethereum.org + - remix-beta.ethereum.org If you are directed to some site that looks like Remix but has a **similar but different URL** - it is NOT Remix and is likely a scam. -### Remix's ease makes its users a target +## Remix's ease makes its users a target + Because Remix has no setup, it has a large community of noobies to smart contract development. This is great, but it provides a target audience for scammers exploit. Without Remix, the scammers would first need to instruct victims to set up a local dev environment, which would severely limit the success rate of the scam. -**Scams lose their effectiveness when potential victims are educated about scams and about how to read and understand code. Learn Solidity and learn it well!** +**Scams lose their effectiveness when potential victims are educated about scams and about how to read and understand code. Learn Solidity and learn it well!** For Solidity Tutorials in Remix, go to the LearnEth plugin. - diff --git a/docs/slither.md b/docs/slither.md index 18994dfe61..04127b344f 100644 --- a/docs/slither.md +++ b/docs/slither.md @@ -8,11 +8,11 @@ _(Supported since Remix IDE v0.15.0 and Remixd v0.5.0)_ When [remixd NPM](https://www.npmjs.com/package/@remix-project/remixd) module is installed, it also installs [Slither](https://github.com/crytic/slither) and [solc-select](https://github.com/crytic/solc-select#quickstart) and latest version of [solc](https://docs.soliditylang.org/en/latest/installing-solidity.html). -`Python3.6+ (pip3)` needs to already be installed on the System. In case of any discrepancy, Slither can also be installed along with other dependencies using command `remixd -i slither` _(This packaging of Slither with the remixd module is supported since Remixd `v0.6.3`)_ +`Python3.6+ (pip3)` needs to already be installed on the System. In case of any discrepancy, Slither can also be installed along with other dependencies using command `remixd -i slither` _(This packaging of Slither with the Remixd module is supported since Remixd `v0.6.3`)_ -when `remixd` is running locally on your device, an additional websocket plugin will be listening on port `65523` which will be dedicated for Slither integration. (Supported since Remixd `v0.5.0`) +when `remixd` is running locally on your device, an additional WebSocket plugin will be listening on port `65523` which will be dedicated for Slither integration. (Supported since Remixd `v0.5.0`) -The Remixd Slither listener is a websocket plugin similar to Remixd and is used to perform Slither analysis with Remix IDE. +The Remixd Slither listener is a WebSocket plugin similar to Remixd and is used to perform Slither analysis with Remix IDE. ![](images/a-slither-remixd.png) @@ -30,7 +30,7 @@ There are setup with [remixd](https://www.npmjs.com/package/@remix-project/remix ### How to use -If a project is shared through remixd and `localhost` workspace is loaded in Remix IDE, there will be an extra checkbox shown in `Solidity Static Analysis` plugin with the label `Enable Slither Analysis`. +If a project is shared through Remixd and `localhost` workspace is loaded in Remix IDE, there will be an extra checkbox shown in `Solidity Static Analysis` plugin with the label `Enable Slither Analysis`. ![](images/a-slither-analysis.png) @@ -48,7 +48,7 @@ The result of the analysis will be shown in the Remix IDE terminal ![](images/a-slither-analysis-success-terminal.png) -and also in the **remixd** console. +and also in the `remixd` console. ![](images/a-slither-analysis-success-remixd.png) @@ -62,9 +62,9 @@ By default, it doesn't show the warnings for external libraries like remix-tests ### More Details -Analysis for Slither is run using the version set in `Solidity Compiler` plugin on Remix IDE. Slither is a CLI tool and requires `solc` to run the analysis. Before running the analysis, Slither websocket plugin checks if current version of solc is same as the version set in Remix IDE. +Analysis for Slither is run using the version set in `Solidity Compiler` plugin on Remix IDE. Slither is a CLI tool and requires `solc` to run the analysis. Before running the analysis, Slither WebSocket plugin checks if current version of solc is same as the version set in Remix IDE. -If the compiler version set in Solidity Compiler is different from current version of solc installed locally, the Slither websocket plugin will update the `solc` to be the same as the required version `solc-select`. +If the compiler version set in Solidity Compiler is different from current version of solc installed locally, the Slither WebSocket plugin will update the `solc` to be the same as the required version `solc-select`. For example, if current `solc` version on the system is 0.8.4 and on the Remix IDE 0.8.6 is set, `remixd` logs explain remote solc version selection diff --git a/docs/solidity_editor.md b/docs/solidity_editor.md index e0e99b6e0e..28c851ffc4 100644 --- a/docs/solidity_editor.md +++ b/docs/solidity_editor.md @@ -42,7 +42,9 @@ Autocompleting Solidity code happens when you start typing in the Editor. The Co ![](images/a-editor-autocomplete1.png) -**Tip:** If you start with a Solidity file that contains errors, the Compiler might not be able to compile it. In that case, the Editor's autocomplete features will not fully work until after the file is successfully compiled. After that, autocomplete will work even if there are errors, but only for the elements the Compiler already understands. For example, if you add a new function in a file that contains errors, autocomplete will not be able to find that function because it can’t compile the file. +```{tip} +If you start with a Solidity file that contains errors, the Compiler might not be able to compile it. In that case, the Editor's autocomplete features will not fully work until after the file is successfully compiled. After that, autocomplete will work even if there are errors, but only for the elements the Compiler already understands. For example, if you add a new function in a file that contains errors, autocomplete will not be able to find that function because it can’t compile the file. +``` ![](images/a-editor-autocomplete.png) diff --git a/docs/udapp.md b/docs/udapp.md index bbe1a224c5..c877801c84 100644 --- a/docs/udapp.md +++ b/docs/udapp.md @@ -12,7 +12,7 @@ The deployed contract's address is visible as are a few other icons - one of whi When a contract is pinned, it will jump up to the **Pinned Contracts** section and Remix will save the contract's address and the ABI (in the .deploys folder of the current Workspace). When Remix is refreshed, the pinned contracts will be loaded into the Pinned Contracts section. -#### Pinned contracts are chain & Workspace specific +### Pinned contracts are chain & Workspace specific Because a pinned contract's address and ABI are stored in a File Explorer Workspace, the same Workspace must be active to see its pinned contracts. Similarly, only the pinned contracts of the currently selected chain will show. @@ -28,7 +28,7 @@ The functions' buttons can have different colors. - Orange buttons are for `non-payable` functions. Non-payable functions change the state of the contract BUT **do not accept value** (typically ETH) being sent with the transaction. Clicking an orange button will create a transaction and will cost gas. -- Red buttons are for `payable` functions. Clicking a red button will create a new transaction and this transaction can accept a **value** (typically ETH). The amount of value is set in in the **Value** field which is under the Gas Limit field. +- Red buttons are for `payable` functions. Clicking a red button will create a new transaction and this transaction can accept a **value** (typically ETH). The amount of value is set in the **Value** field which is under the Gas Limit field. ![](images/a-jvm-calling-instance.png) @@ -87,7 +87,9 @@ To pass a tuple, you need to put in an array []. Similarly, to pass in a struct as a parameter of a function, it needs to be put in as an array []. -**NOTE:** the file's pragma must be set to: `pragma experimental ABIEncoderV2;` +```{note} +The file's pragma must be set to: `pragma abicoder v2;` +``` ### Example of passing nested struct to a function diff --git a/docs/unittesting.md b/docs/unittesting.md index d5b326dcd0..27c675a6b9 100644 --- a/docs/unittesting.md +++ b/docs/unittesting.md @@ -10,7 +10,7 @@ Go to the plugin manager by clicking the ![](images/a-plug.png) (plug) icon and ![](images/a-unit-testing-from-pm.png) -Now the `double check` icon will appear on the left side icon bar. Clicking on the icon will load the plugin in the side panel. +Now the `double check` icon will appear on the left side icon bar. Clicking on the icon will load the plugin in the Side Panel. Alternatively, select `Solidity` environment from Remix IDE `Home` tab. This will activate `Solidity Unit Testing` plugin along with `Solidity Compiler`, `Deploy & Run Transactions` & `Solidity Static Analysis` plugins.