
What you will learn:
In this article you will learn how to interact with the Remix. Integrated Development Environment.
In fact, you are already accustomed to repeating steps in instructions or video tutorials, without going into the essence of what you are doing.
However, it is important to understand what the Remix IDE menu items and settings are responsible for.
After reading the article, your actions in Remix IDE will be meaningful and this will probably save you a lot of time and prevent you from making mistakes.
INTRODUCTION
Remix IDE is an integrated development environment (IDE) specifically designed for smart contract developers.
It is a simple and powerful tool that provides the ability to create, edit, deploy and manage smart contracts.
The main goal of Remix is to simplify and speed up the development process of blockchain applications, providing developers with a convenient environment and tools to work more efficiently with smart contracts.
Thanks to its feature richness and intuitive interface, Remix has become a popular choice for blockchain application developers.
The first thing you will see when you open Remix IDE is several panels in which all work with smart contracts will take place.
Let's sort them from left to right:
- Menu. Each menu item is a separate panel with tools for different tasks. You only need three:
- File Explorer to switch between files
- Solidity Compiler for compilation and error detection
- Deploy & run transactions for deployment and management of smart contracts
- Settings panel. When you click on each menu item, you will see the corresponding set of tools. Here you will perform most of the actions when working with smart contracts. What you now see in the picture below is the corresponding panel of the File Explorer menu item.
- Code Editor. A field in which you can edit the source code of smart contracts.
- Console. The place where information about the status of transactions is displayed.

Now let's look at the example of the deployment process and smart contract management, what each setting is responsible for.
NEW PROJECT
And the first thing we need to do is set a new file. Make sure you are in the "File Explorer" menu item, then click on โCreate a new fileโ (number 2 in the image below) to create a new file and name it any name. For example "contract.sol"
! Please note that all smart contract files must have the extension .sol

In field number four you have to insert the source code of the smart contract. For example, I will use a standard ERC-20 token.
COMPILATION
Once you have pasted your token source code, go to the Solidity Compiler menu option as shown below.

In this panel we have to select the compiler version of your contract. You can find the compiler version at the top of the file. And select the appropriate menu item in the "COMPILER" drop-down list as shown below:
Explanation: Solidity smart contracts are written taking into account the innovations of each version of Solidity Compiler, so if you try to compile a contract written for version 0.8.20 on compiler version 0.6.6, you will most likely get an error.

After which you should click on the "Compile" button with the file name. If there are no errors in the contract and all actions have been performed correctly, a green check mark โ will appear next to the menu icon.

Now let's take a closer look at the "Advanced Configurations" tab. It provides the ability to optimize your smart contract.
This is necessary if you plan to deploy the contract to the Ethereum Mainnet network or if your contract is really large. Otherwise, you can skip this step.
To optimize your smart contract, open the "Advanced Configurations" tab, check the box next to "Enable optimization", and then click the "Compile" button with the file name again.

DEPLOY
By going to the Deploy & run transactions menu item, you will see the following panel elements:
- Enivronment: The way you connect to the blockchain. In most cases, this is your Metamask wallet.
- Account: Your current wallet, which is connected to Remix IDE. It is from this that the deployment and all subsequent transactions will be made.Value: The amount of ETH (if you interact with the Ethereum network) that you send along with the transaction. For example, if you are using a function that deposits ETH to a smart contract, you should indicate the desired amount in this field.
- Value: The amount of ETH (if you interact with the Ethereum network) that you send along with the transaction. For example, if you are using a function that deposits ETH to a smart contract, you should indicate the desired amount in this field.
Note: Pay special attention to the units in which Value is indicated. By default this is Wei. The smallest unit of ETH is called Wei and corresponds to 10^-18 ETH. In other words, one ETH is equal to 1,000,000,000,000,000,000 Wei - or one wei is equal to 0.000000000000000001 ETH.
- Contract: The contract that you are going to deploy. Among the available contracts in the drop-down list, you should select only one, which is the token.
Note: Drop-down list contains all the smart contracts that are contained in the contract.sol file. Typically, developers do not write one large smart contract that contains all the necessary functionality, but split it into separate smart contracts, each of which performs strictly defined tasks, and in the end they are combined into one resulting contract based on the principle of inheritance. This makes the code cleaner and more understandable.
In our case, there are the following contracts: IERC20, Ownable and TokenContract. And TokenContract inherits the functionality of the two previous contracts
Note: Please note that in the drop-down list the contracts are arranged in alphabetical order and not according to their hierarchy. Be careful and read the names of smart contracts.

Now let's make the settings necessary for deployment in this panel.
And first of all, you need to connect your Metamask wallet. This is done in the "ENVIRONMENT" drop-down list.

The "Metamask" window will then open. And when you connect it to Remix, you will be able to see the current chain ID and the current connected wallet.

Note: Chain ID corresponds to the network you are currently on. Here are examples of Chain ID for different networks:
- Ethereum - 1- Binance Smart Chain - 56
- Polygon - 137
- Arbitrum - 42161
- BASE - 8453
- PulseChain - 369
And also some examples for test networks:
(test network)Goerli Ethereum - 2(test network)Holesky Ethereum - 17000
(test network)BSC Testnet - 97
Make sure you select the network and wallet you need. All this can be changed directly in your Metamask.
Now in the "CONTRACT" drop-down list you need to select the smart contract of your token. As mentioned earlier in this example, select "TokenContract".

And now we can click on the "DEPLOY" button to deploy the smart contract. Metamask will prompt you to sign the transaction with the creation of a smart contract. For this, the network will charge you a certain fee.
After this, a tab with the interface of the deployed smart contract should appear in the "Deployed Contracts" section. This is the area for interacting with the deployed smart contract.
And now, using the /transfer function as an example, we will try to interact with a smart contract.

Smart contract management
Let's say we need to send 1000 tokens to another address.
To do this, expand the .transfer() function tab and specify the arguments. The recipient's address is in the first field (1) and the quantity we want to send in the second (2). Remember that we indicate the number of tokens in Wei units (if the deicmals of your token are 18)
You can then press the transact (3) button to execute the function. Sign the transaction and wait for it to be confirmed.

Another important skill is Interacting with an already deployed smart contract in Remix - read the article.
Article on the topic:
Another important skill is Interacting with an already deployed smart contract in Remix - read the article ➥
📰 MORE TOP HEADLINES
