Remix - Ethereum IDE
latest

Introduction

  • Navigating Remix
  • Using Remix Safely
  • Tutorials in Remix
  • Remix URLs & Links with Parameters
    • Main Remix URLs
    • Customize Remix with URL Parameters
      • Activating a list of plugins
      • Deactivating a list of plugins
      • Minimizing Remix panels
      • Specifying a theme
      • A URL example combining multiple parameters
    • Pass commands to a plugin’s API via a url param
      • An example using call
      • Load a specific tutorial in the LearnEth plugin:
      • Make calls to a number of different plugins’ APIs
    • Load a file via a URL into the Editor
    • Load an encoded base64 string into a .sol file in the Editor
    • Load contracts from Etherscan via address
    • Load a Solidity contract from Github
    • Load a GIST
      • Load a GIST and have it be visible in the Editor:
      • Load a GIST, have it be visible in the Editor & load a list of plugins:
    • Load a specific version of the Solidity compiler:
    • Load a custom Solidity compiler:
    • Turn on autoCompile:
    • Select the language for the Solidity Compiler
  • FAQ

Core Modules

  • File Explorer
  • Search in Files
  • Plugin Manager
  • Settings
  • Editor
  • Terminal
  • Remixd: Access your Local Filesystem

Solidity modules

  • Solidity Compiler
  • Deploy & Run
  • Deploy & Run (part 2)
  • Deploy & Run Proxy Contracts
  • Debugger
  • Solidity Analyzers

Unit Testing

  • Unit Testing Plugin
  • Command Line Interface
  • Remix Assert Library
  • Testing by Example
  • Testing using Chai & Mocha

External Tool Integrations

  • Hardhat
  • Truffle
  • Slither
  • Foundry

Guides

  • Creating and Deploying a Contract
  • Debugging Transactions
  • Importing & Loading Source Files in Solidity
  • Contract Verification
  • Running Scripts
  • Frequently Asked Scripts

Advanced

  • Compilation Artifacts
  • Remix Commands

Miscellaneous

  • Plugin List
  • Remix as code viewer
  • Code Contribution Guide
  • Community Support
Remix - Ethereum IDE
  • Remix URLs & Links with Parameters
  • Edit on GitHub

Remix URLs & Links with Parameters

Main Remix URLs

  • Remix IDE Online is located at https://remix.ethereum.org.

  • The alpha version of remix is located at https://remix-alpha.ethereum.org. This is not a stable version.

  • Github repo: https://github.com/ethereum/remix-project. The README contains instructions for running Remix-IDE locally.

  • Remix Desktop is an Electron App. Here is the release page.

  • Remix has a VSCode extension called Ethereum Remix.

  • The Remix twitter account is EthereumRemix.

  • The Remix Project Medium publication is: https://medium.com/remix-ide.

  • The Remix Project website introduces the different facets of our project.

  • The Remix Gitter Channel is a forum to post your questions about Remix.

Customize Remix with URL Parameters

There are many ways to customize Remix IDE by using url parameters. Here are some options:

  • Activate or deactivate a list of plugins to be activated - and specify which plugin gains the “focus”. SEE MORE

  • Send commands to a plugin - once the plugin loads. SEE MORE

  • Load a GIST, a file via a url or a base64 encoded string into Remix’s Editor.

  • Specify the theme (Dark or Light). SEE MORE

  • Specify which panels should be minimized - useful when embedding Remix in your site. SEE MORE

  • Select the version of the Solidity compiler, enable/disable the optimizer, turn on auto compile or choose the language for the Solidity compiler. SEE MORE

  • Load verified contracts from Etherscan using contract address SEE MORE

Activating a list of plugins

The following example contains the url parameter activate followed by a comma separated list of plugins.

The last plugin in the list will gain the focus.

When you use the activate list, all other plugins that a user had loaded will be deactivated. This does not apply to the file explorer, the plugin manager, and the settings modules because these are never deactivated.

https://remix.ethereum.org/?#activate=solidity,solidityUnitTesting,defiexplorer

Note: a plugin is called by its name as specified in its profile. There are 3 types of plugins:

  1. Native Mandatory Plugins that are always loaded (so you don’t need to activate them using the url parameter activate). These include: fileManager, settings, manager (the plugin manager), and udapp (deploy & run).

  2. Native Optional Plugins that are loaded on demand: debugger, hardhat-provider, solidity, solidityStaticAnalysis, solidityUnitTesting, and vyper

  3. External Plugins to get these plugins’ names, please go to https://github.com/ethereum/remix-plugins-directory/tree/master/plugins.

Deactivating a list of plugins

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).

https://remix.ethereum.org/?#embed=true

To minimize just the side panel, use this URL:

https://remix.ethereum.org/?#minimizesidepanel=true

To minimize just the terminal, use this URL:

https://remix.ethereum.org/?#minimizeterminal=true

Specifying a theme

To link to Remix with a theme specified use this url:

 **https://remix.ethereum.org/?#theme=Dark**

A URL example combining multiple parameters

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 Light theme loaded

  • the terminal minimized

  • optimize off

use this url:

 https://remix.ethereum.org/?#activate=solidity,solidityUnitTesting,LearnEth&theme=Light&minimizeterminal=true&optimize=false&evmVersion=null&version=soljson-v0.6.6+commit.6c089d02.js

Pass commands to a plugin’s API via a url param

The URL parameter to issue a command is call. Following the call is a // (double slash) separated list of arguments.

call=plugin_name//function//parameter1//paremeter2

An example using call

The URL below uses activate & call. It activates a number of plugins and calls the File Explorers to tell it to load one of the default Remix files:

https://remix.ethereum.org/?#activate=defiexplorer,solidity&call=fileManager//open//contracts/3_Ballot.sol

Load a specific tutorial in the LearnEth plugin:

https://remix.ethereum.org/?#activate=solidityUnitTesting,solidity,LearnEth&call=LearnEth//startTutorial//ethereum/remix-workshops//master//proxycontract

Make calls to a number of different plugins’ APIs

Use the calls parameter to call a series of plugins. Use /// to separate the calls.

For example, this command, after activating a list of plugins, calls the LearnEth plugin’s API and then calls the File Explorer’s API.

https://remix.ethereum.org/?#activate=solidityUnitTesting,solidity,LearnEth&calls=LearnEth//startTutorial//ethereum/remix-workshops//master//proxycontract///fileManager//open//contracts/3_Ballot.sol

Load a file via a URL into the Editor

The url parameter takes a URL, loads it into the Editor and saves it into the code-sample workspace of the File Explorer:

https://remix.ethereum.org/#url=https://github.com/ethereum/remix-project/blob/master/apps/remix-ide/contracts/app/solidity/mode.sol

Load an encoded base64 string into a .sol file in the Editor

The code parameter takes an encoded base64 string and loads it into the Editor as a .sol file and saves to the code-sample workspace of the File Explorer:

https://remix.ethereum.org/?#code=Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoKcHJhZ21hIHNvbGlkaXR5IDAuOC40OwoKLyoqCiAqIEB0aXRsZSBXb25kZXJmdWxDb2RlCiAqIEBkZXYgV2VsY29tZSB0byBSZW1peAogKi8KY29udHJhY3QgWW91IHsKCiAgICBhZGRyZXNzIHByaXZhdGUgb3duZXI7CiAgICAKICAgIC8qKgogICAgICogQGRldiBTZXQgY29udHJhY3QgZGVwbG95ZXIgYXMgeW91QW5kWW91cldvbmRlcmZ1bFNlbGYKICAgICAqLwogICAgY29uc3RydWN0b3IoKSB7CiAgICAgICAgeW91QW5kWW91cldvbmRlcmZ1bFNlbGYgPSBtc2cuc2VuZGVyOwoKICAgIH0KCiAgICAvKioKICAgICAqIEBkZXYgQ2hhbmdlIG1vb2QKICAgICAqIEBwYXJhbSBuZXdPd25lciBhZGRyZXNzIG9mIG5ldyBvd25lcgogICAgICovCiAgICBmdW5jdGlvbiBjaGFuZ2VNb29kKGFkZHJlc3MgbmV3TW9vZEFkZHIpIHB1YmxpYyB7CiAgICAgICAgb3duZXJNb29kID0gbmV3TW9vZEFkZHI7CiAgICB9Cn0=

Load contracts from Etherscan via address

The address parameter takes an address, loads all the verified contracts found for the address on different Ethereum networks and saves them into the etherscan-code-sample workspace of the File Explorer:

https://remix.ethereum.org/#address=0xdac17f958d2ee523a2206206994597c13d831ec7

Load a Solidity contract from Github

With a github url of a Solidity contract like this one:

https://github.com/ethereum/remix-project/blob/master/apps/remix-ide/contracts/app/solidity/mode.sol

Then delete the github part and type in remix.ethereum.org in its place, like this:

https://remix.ethereum.org/ethereum/remix-project/blob/master/apps/remix-ide/contracts/app/solidity/mode.sol

Remix will fetch the Solidity file and open it up in the File Explorer in a Workspace named
code-sample.

Load a GIST

The URL parameter here is gist.

https://remix.ethereum.org/?gist=0fe90e825327ef313c88aedfe66ec142

Load a GIST and have it be visible in the Editor:

Using both gist & call

https://remix.ethereum.org/?#activate=solidity,fileManager&gist=0fe90e825327ef313c88aedfe66ec142&call=fileManager//open//gist-0fe90e825327ef313c88aedfe66ec142/gridMix4.sol 

Load a GIST, have it be visible in the Editor & load a list of plugins:

https://remix.ethereum.org/?#activate=solidity,LearnEth&gist=0fe90e825327ef313c88aedfe66ec142&call=fileManager//open//gist-0fe90e825327ef313c88aedfe66ec142/gridMix4.sol 

Load a specific version of the Solidity compiler:

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:

https://remix.ethereum.org/#version=https://solidity-blog.s3.eu-central-1.amazonaws.com/data/08preview/soljson.js

Turn on autoCompile:

https://remix.ethereum.org/#autoCompile=true

Select the language for the Solidity Compiler

Choose YUL or Solidity with the language parameter.

https://remix.ethereum.org/#language=Yul
Previous Next

© Copyright 2019-23, Remix;. Revision 7c59a3fd. Last updated on Nov 29, 2023.

Built with Sphinx using a theme provided by Read the Docs.