First we need to setup Remix to have the correct plugins installed, activated and configured. Before we do that, some general information!
What's Remix anyways?
Remix, previously known as Browser-Solidity, is a browser based development environment for Smart Contracts. It comes with compilers for different solidity versions and a blockchain simulation. It also has plenty of other plugins. It's a great way to get started!
HTTP vs HTTPS
Be careful with the https vs http domain. Remix stores edited files in localstorage of the browser. If your smart contracts are suddenly gone, look at the protocol.
In this course we work with http, not https. This is especially important later when we do private blockchains which require CORS to be setup correctly.
Go to http://remix.ethereum.org. You should be greeted with the following page:
If the popup shows up for you, then feel free to accept if you have no concerns over privacy violations. For our course we can do that.
Updates from Video
In the video we are using an older version of Remix. Currently, by default, Remix starts with the dark theme. In the videos you see the light theme. You can change this in the settings: Bottom left, scroll down, theme light.
More importantly, in the videos we had to enable plugins. The most important plugins are now enabled by default. Below we're still making sure they are enabled, just in case.
Remix is built with a pluggable architecture. All functions are done via plugins. The Compiler is a plugin, the blockchain connection is a plugin, the debugging functionality is a plugin and there are a lot of other plugins that might be useful.
What you need in the next few chapters are
- The Solidity compiler
- The "Deploy & Run Transactions" Plugin
If the plugins are not showing up yet, then click on the plugin symbol and enable them:
And find the two plugins and activate them:
Configure the Compiler¶
In this chapter we are working with Solidity 0.8.1. The compiler will normally switch automatically based on the
pragma line in your solidity files. But you can set a specific version, if necessary.
If you don't know what that is and don't want to wait several videos to understand what a pragma line is: In layman terms, it's here to configure your compiler. For example there's a version pragma, that tells the compiler "Hey, this source is made for compiler version XYZ". That's what we're going to use. Need more information? Either wait, or read the official docs
Switch Compiler Version
If it is necessary to switch compiler versions manually, you can always do this. You can either follow along in the videos, then use the compiler version the videos are using. Or you follow along this guide and use this solidity version.
New Compiler versions are published very frequently. It is very normal to find "outdated" solidity files around. Some very popular projects are using older solidity versions.
Make sure "auto-compile" is enabled:
Great! You're all set! Let's create your first file in the next section!