Ethereum Remix Project

A browser-based compiler and IDE that enables users to build Ethereum contr...

README

Remix Project


Remix Project is a rich toolset including Remix IDE, a comprehensive smart contract development tool. The Remix Project also includes Remix Plugin Engine and Remix Libraries which are low-level tools for wider use.  

Remix IDE

Remix IDE is used for the entire journey of contract development by users of any knowledge level. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. The IDE comes in 2 flavors and a VSCode extension:

Remix Online IDE, see: https://remix.ethereum.org

:point_right: Supported browsers: Firefox v100.0.1 & Chrome v101.0.4951.64. No support for Remix's use on tablets or smartphones or telephones.


Remix screenshot


Remix libraries

Remix libraries are essential for Remix IDE's native plugins. Read more about libraries here

Offline Usage


The gh-pages branch of remix-live always has the latest stable build of Remix. It contains a ZIP file with the entire build. Download it to use offline.

Note: It contains the latest supported version of Solidity available at the time of the packaging. Other compiler versions can be used online only.


Setup


* Install **Yarn** and **Node.js**. See [Guide for NodeJs](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) and [Yarn install](https://classic.yarnpkg.com/lang/en/docs/install)
Supported versions:
  1. ```bash
  2. "engines": {
  3.     "node": "^20.0.0",
  4.     "npm": "^6.14.15"
  5.   }
  6. ```
Install Nx CLI globally to enable runningnx executable commands.
  1. ```bash
  2. yarn global add nx
  3. ```
Clone the GitHub repository (wget need to be installed first):

  1. ```bash
  2. git clone https://github.com/ethereum/remix-project.git
  3. ```
Build and Run remix-project:

1. Move to project directory: cd remix-project
2. Install dependencies: yarn install or simply run yarn
3. Build Remix libraries: yarn run build:libs
4. Build Remix project: yarn build
5. Build and run project server: yarn serve. Optionally, run yarn serve:hot to enable hot module reload for frontend updates.

Open http://127.0.0.1:8080 in your browser to load Remix IDE locally.

Go to your text editor and start developing. The browser will automatically refresh when files are saved.

Production Build

To generate react production builds for remix-project.
  1. ```bash
  2. yarn run build:production
  3. ```
Build can be found in remix-project/dist/apps/remix-ide directory.

  1. ```bash
  2. yarn run serve:production
  3. ```
Production build will be served by default to http://localhost:8080/ or http://127.0.0.1:8080/

Docker:


Prerequisites:
Docker (https://docs.docker.com/desktop/)
Docker Compose (https://docs.docker.com/compose/install/)

Run with docker


If you want to run the latest changes that are merged into the master branch then run:

  1. ```
  2. docker pull remixproject/remix-ide:latest
  3. docker run -p 8080:80 remixproject/remix-ide:latest
  4. ```

If you want to run the latest remix-live release run.
  1. ```
  2. docker pull remixproject/remix-ide:remix_live
  3. docker run -p 8080:80 remixproject/remix-ide:remix_live
  4. ```

Run with docker-compose:


To run locally without building you only need docker-compose.yaml file and you can run:

  1. ```
  2. docker-compose pull
  3. docker-compose up -d
  4. ```

Then go to http://localhost:8080 and you can use your Remix instance.

To fetch the docker-compose file without cloning this repo run:
  1. ```
  2. curl https://raw.githubusercontent.com/ethereum/remix-project/master/docker-compose.yaml > docker-compose.yaml
  3. ```

Troubleshooting


If you have trouble building the project, make sure that you have the correct version of node, npm and nvm. Also, ensure Nx CLI is installed globally.

Run:

  1. ```bash
  2. node --version
  3. npm --version
  4. nvm --version
  5. ```

In Debian-based OS such as Ubuntu 14.04LTS, you may need to run apt-get install build-essential. After installing build-essential, run npm rebuild.