What is the Remix Project?

Senudajayalath
Coinmonks
6 min readDec 21, 2022

--

How I found Remix to be useful as a blockchain developer

The Remix Project is a rich toolset which can be used for the entire journey of smart contract development by users of any knowledge level, and as a learning lab for teaching and experimenting with Ethereum.

https://github.com/topics/remix-ide

Remix IDE is part of the Remix Project which also includes the Remix Plugin Engine and Remix Libraries. It is a no-setup tool with a GUI for developing smart contracts. Used by experts and beginners alike, Remix will get you on track in no time. Remix works well with other tools, and allows for a simple deployment process to the chain of your choice. Remix is the place everyone comes to learn Ethereum. Remix-IDE is available at remix.ethereum.org and more information can be found in these docs. The Remix Editor is available as an online IDE, a desktop IDE and also as a VSCode extension so that you as a developer will be able to choose any option according to your convenience. Speaking about me, my choice would be the Remix online IDE as it easy to work with and also easy to access.

In Remix, everything is a plugin. Core plugins are preloaded for essential operations. Additional plugins offer an expanded palette of tools. These are some verified plugins that can be used with Remix

Plugins for Remix

Why you should use Remix IDE?

As I mentioned earlier, Remix is a GUI tool to develop smart contracts. Anyone familiar with developing smart contracts on Ethereum would have used some sort of an IDE with hardhat and truffle as an Ethereum development environment. But Remix goes beyond all. It is an IDE built specially for smart contract development. This IDE makes it easy to debug, deploy and test smart contracts like none other. It also gives us the option to interact with deployed contracts via a GUI interface. If you were to do that with a regular Ethereum development environment like truffle or hardhat, you would need to build a FE for your smart contract and integrate it, which will take more time and expertise.

Remix can be used by any developer regardless of the knowledge level of the Ethereum ecosystem. It’s main purpose is to reduce the time of development, debugging and testing for smart contracts. I personally have found it very useful, specially for testing smart contracts because it takes really less time to compile, deploy and test using the GUI.

In the following section I will share with you some of the most crucial functionality of the Remix IDE as well as some of the most important functionalities of Remix I personally found useful as a blockchain developer.

Features of Remix IDE

When you navigate to the online editor you would be presented with something like this,

The sections shown in the above image are some of the most important features of the Remix IDE, which you will use if you start using Remix. I will explain how to use these components to get your job done quickly and I assure you, you will not need any other Ethereum development tool when you find out how easy it is to work with Remix.

First, the “workspace”. It is nothing different to your ordinary IDE. You can write what ever code imaginable here. On the left, you can see how your files are structured. You can structure your files according to your requirement. It is important to note that you are not limited to only sol files. You can have any piece of code written in any language here. But do note that this IDE is specially built for writing code for the Ethereum ecosystem.

Next is the “Solidity Compiler”. This is what you will see when you expand this tab

A cool feature I found in this tab is how easily you can switch from one solidity compiler version to another. And to add to that, the IDE will automatically shift to the compiler looking at the code that is being compiled. This is something very cool considering the fact that your ordinary Ethereum development environments will throw errors and the compilers will have to be manually updated. It is also very easy to use “Advanced configurations” when compiling smart contracts as shown in the above image.

Next comes the “Deploy & Run Transactions” tab. After compiling your code, you would need to come to this tab to deploy your smart contract to any chain of your choice.

As you can see in the above image, using the first drop down box you can choose which environment to deploy your smart contracts to. It is even possible to connect your wallets (i.e. Metamask) and use any wallet address and network in your wallet. This makes it really easy to deploy contracts to any blockchain network of your choosing. Then you can choose your compiled smart contract from the field marked as “1” in the above picture and click “deploy”. You will shortly get a confirmation that your smart contract has been deployed via the terminal. It is also possible to interact with an already deployed contract as well. Anyone familiar with the web3 ecosystem would know that you would need the contract abi and address to interact with any deployed contract. Likewise, using the Remix IDE you will also need those two elements. After compiling the contract you will get the abi file. Then all you need to do is select what contract you want from field “1” and enter the deployed address in field “2” as shown in the above picture. This will result in you getting an instance of the deployed contract. From there on you can interact with that contract, the same way as any contract deployed by you.

The deployed contracts will be shown to you under “Deployed Contracts” section.

Now let us see how you can interact with deployed contracts using a GUI, which is I think the best part about Remix.

As you can see from the above image, all the functions that are able to be invoked are shown on the interface. You just need to pass the required parameters and call the function. Remix is smart enough to identify the public and internal functions, functions that require parameters and their data types and present it to the users in a very effective manner so that it makes the life of developers very easy.

I would urge everyone of you yo try and use Remix and let me know if it made your life any easier.

Cheers!!

Resources

  1. The Remix Project website — https://remix-project.org/
  2. The Remix project GitHub page — https://github.com/ethereum/remix-project
  3. Remix plugin engine — https://github.com/ethereum/remix-plugin
  4. Remix Libraries — https://github.com/ethereum/remix-project/tree/master/libs#remix-libraries
  5. Remix Docs — https://remix-ide.readthedocs.io/en/latest/index.html

New to trading? Try crypto trading bots or copy trading

--

--