web3wu.gq Open in urlscan Pro
2606:4700:3032::6815:4951  Public Scan

URL: https://web3wu.gq/
Submission Tags: sansec.io magecart Search All
Submission: On December 08 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

<form class="remixui_permissionForm" data-id="pluginManagerSettingsPermissionForm">
  <div class="p-2"></div>
</form>

<form id="local-plugin-form">
  <div class="form-group"><label for="plugin-name">Plugin Name <small>(required)</small></label><input class="form-control" id="plugin-name" data-id="localPluginName" placeholder="Should be camelCase" value=""></div>
  <div class="form-group"><label for="plugin-displayname">Display Name</label><input class="form-control" id="plugin-displayname" data-id="localPluginDisplayName" placeholder="Name in the header" value=""></div>
  <div class="form-group"><label for="plugin-methods">Api (comma separated list of method names)</label><input class="form-control" id="plugin-methods" data-id="localPluginMethods" placeholder="Methods" value=""></div>
  <div class="form-group"><label for="plugin-methods">Plugins it can activate (comma separated list of plugin names)</label><input class="form-control" id="plugin-canactivate" data-id="localPluginCanActivate" placeholder="Plugin names" value="">
  </div>
  <div class="form-group"><label for="plugin-url">Url <small>(required)</small></label><input class="form-control" id="plugin-url" data-id="localPluginUrl" placeholder="ex: https://localhost:8000" value=""></div>
  <h6>Type of connection <small>(required)</small></h6>
  <div class="form-check form-group">
    <div class="radio"><input class="form-check-input" type="radio" name="type" id="iframe" data-id="localPluginRadioButtoniframe" value="iframe" checked="checked"><label class="form-check-label" for="iframe">Iframe</label></div>
    <div class="radio"><input class="form-check-input" type="radio" name="type" id="ws" data-id="localPluginRadioButtonws" value="ws"><label class="form-check-label" for="ws">Websocket</label></div>
  </div>
  <h6>Location in remix <small>(required)</small></h6>
  <div class="form-check form-group">
    <div class="radio"><input class="form-check-input" type="radio" name="location" id="sidePanel" data-id="localPluginRadioButtonsidePanel" value="sidePanel" checked="checked"><label class="form-check-label" for="sidePanel">Side Panel</label></div>
    <div class="radio"><input class="form-check-input" type="radio" name="location" id="mainPanel" data-id="localPluginRadioButtonmainPanel" value="mainPanel"><label class="form-check-label" for="mainPanel">Main Panel</label></div>
    <div class="radio"><input class="form-check-input" type="radio" name="location" id="none" data-id="localPluginRadioButtonnone" value="none"><label class="form-check-label" for="none">None</label></div>
  </div>
</form>

Text Content

Choose your wallet

Metamask

Coinbase

Trust Wallet

Binance Wallet

WalletConnect


loading compiler...




FILE EXPLORERS

GENERAL SETTINGS

Generate contract metadata. Generate a JSON file in the contract folder. Allows
to specify library addresses the contract depends on. If nothing is specified,
Remix deploys libraries automatically.
Always use Javascript VM at load
Word wrap in editor
Enable Personal Mode for web3 provider. Transaction sent over Web3 will use the
web3.personal API. Be sure the endpoint is opened before enabling it. This mode
allows a user to provide a passphrase in the Remix interface without having to
unlock the account. Although this is very convenient, you should completely
trust the backend you are connected to (Geth, Parity, ...). Remix never persists
any passphrase
Enable Matomo Analytics. We do not collect personally identifiable information
(PII). The info is used to improve the site’s UX & UI. See more about Analytics
in Remix IDE & Matomo

GITHUB ACCESS TOKEN

Manage the access token used to publish to Gist and retrieve Github contents.

Go to github token page (link below) to create a new token and save it in Remix.
Make sure this token has only 'create gist' permission.

https://github.com/settings/tokens

TOKEN:
Remove

THEMES

Dark (dark)
Light (light)
Midcentury (light)
Black (dark)
Candy (light)
Cerulean (light)
Flatly (light)
Spacelab (light)
Cyborg (dark)
Connect to a Local Plugin
Active Modules1
SOLIDITY COMPILER
DEACTIVATE

Compile solidity contracts
Inactive Modules29
CELOBETA
ACTIVATE

Deploy and Run Transactions with Celo.
CODE BY WELLDONE STUDIOBETA
ACTIVATE

Multi-Chain Deploy and Run Transactions
CONTRACT DEPLOYERALPHA
ACTIVATE

Deploy a compiled contract to the same address on multiple networks
CONTRACT VERIFICATION - SOURCIFY
ACTIVATE

Solidity contract and metadata verification service
COOKBOOK.DEV
ACTIVATE

Find any smart contract, protocol, and library.
DEBUGGER
ACTIVATE

Debug transactions
DEFI EXPLORER
ACTIVATE

Explore Defi smart contracts
DEFI TUTORIALSALPHA
ACTIVATE

Learn about Defi
DGIT
ACTIVATE

Manage workspaces in a git repository.
DGIT DIFF
ACTIVATE

Diff viewer for the DGIT plugin.
HARDHAT PROVIDER
ACTIVATE

Hardhat provider
KLAYTN
ACTIVATE

Deploy and Run Transactions with Klaytn.
LEARNETHBETA
ACTIVATE

Learn Ethereum with Remix!
LEXONALPHA
ACTIVATE

Compile Lexon contracts
MOONBEAM PLUGIN
ACTIVATE

Deploy and interact with Moonbeam.
MYTHX SECURITY VERIFICATION
ACTIVATE

Perform Static and Dynamic Security Analysis using the MythX Cloud Service
NAHMII COMPILER
ACTIVATE

Compiler for Nahmii 2.0.
ONE CLICK DAPP
ACTIVATE

A free tool to generate smart contract interfaces.
REMIXD
ACTIVATE

Using Remixd daemon, allow to access file system
RESTORE BACKUP ZIP
ACTIVATE

Use this to restore your Remix backup zip files to the new workspaces.
SOLHINT LINTER
ACTIVATE

Linter for Solidity
SOLIDITY STATIC ANALYSIS
ACTIVATE

Checks the contract code for security vulnerabilities and bad practices.
SOLIDITY UNIT TESTING
ACTIVATE

Fast tool to generate unit tests for your contracts
STARKNET
ACTIVATE

Compile and deploy contracts with Cairo, a native smart contract language for
Starknet.
TENDERLY
ACTIVATE

Remix & Tenderly Project Integration. Verify Contracts. Import To Remix From
your Tenderly project.
UMA PLAYGROUNDALPHA
ACTIVATE

Interactive playground for the UMA protocol
UMA TUTORIALSALPHA
ACTIVATE

Learn about the UMA protocol
WALLET CONNECT
ACTIVATE

Use an external wallet for transacting
ZOKRATESBETA
ACTIVATE

ZoKrates toolbox for zkSNARKs on Ethereum

PLUGIN MANAGER PERMISSIONS

Close

NO PERMISSION REQUESTED YET.


OKCancel
Permissions

LOCAL PLUGIN

Close
Plugin Name (required)
Display Name
Api (comma separated list of method names)
Plugins it can activate (comma separated list of plugin names)
Url (required)

TYPE OF CONNECTION (REQUIRED)

Iframe
Websocket

LOCATION IN REMIX (REQUIRED)

Side Panel
Main Panel
None
OKCancel
WorkspacesCreateRenameDeletedefault_workspace - connect to localhost -
 * Create New FileCreate New FolderPublish all the current workspace files (only
   root) to a github gistLoad a local file into current workspace
    * contracts
    * scripts
    * tests
    * README.txt





Close





Close

Close
CompilerAdd a custom compiler with URLlatest local version -
soljson-v0.8.7+commit.e28d00a7.js0.8.23+commit.f704f3620.8.22+commit.4fc1097e0.8.21+commit.d9974bed0.8.20+commit.a1b79de60.8.19+commit.7dd6d4040.8.18+commit.87f61d960.8.17+commit.8df45f5f0.8.16+commit.07a7930e0.8.15+commit.e14f27140.8.14+commit.80d49f370.8.13+commit.abaa5c0e0.8.12+commit.f00d73080.8.11+commit.d7f039430.8.10+commit.fc4108300.8.9+commit.e5eed63a0.8.8+commit.dddeac2f0.8.7+commit.e28d00a70.8.6+commit.11564f7e0.8.5+commit.a4f2e5910.8.4+commit.c7e474f20.8.3+commit.8d00100c0.8.2+commit.661d11030.8.1+commit.df193b150.8.0+commit.c7dfd78e0.7.6+commit.7338295f0.7.5+commit.eb77ed080.7.4+commit.3f05b7700.7.3+commit.9bfce1f60.7.2+commit.51b20bc00.7.1+commit.f4a555be0.7.0+commit.9e61f92b0.6.12+commit.27d517650.6.11+commit.5ef660b10.6.10+commit.00c0fcaf0.6.9+commit.3e3065ac0.6.8+commit.0bbfe4530.6.7+commit.b8d736ae0.6.6+commit.6c089d020.6.5+commit.f956cc890.6.4+commit.1dca32f30.6.3+commit.8dda95210.6.2+commit.bacdbe570.6.1+commit.e6f7d5a40.6.0+commit.26b700770.5.17+commit.d19bba130.5.16+commit.9c3226ce0.5.15+commit.6a57276f0.5.14+commit.01f1aaa40.5.13+commit.5b0b510c0.5.12+commit.7709ece90.5.11+commit.22be85920.5.11+commit.c082d0b40.5.10+commit.5a6ea5b10.5.9+commit.c68bc34e0.5.9+commit.e560f70d0.5.8+commit.23d335f20.5.7+commit.6da8b0190.5.6+commit.b259423e0.5.5+commit.47a71e8f0.5.4+commit.9549d8ff0.5.3+commit.10d17f240.5.2+commit.1df8f40c0.5.1+commit.c8a2cb620.5.0+commit.1d4f565a0.4.26+commit.4563c3fc0.4.25+commit.59dbf8f10.4.24+commit.e67f01470.4.23+commit.124ca40d0.4.22+commit.4cb486ee0.4.21+commit.dfe3193c0.4.20+commit.3155dd800.4.19+commit.c4cbbb050.4.18+commit.9cf6e9100.4.17+commit.bdeb9e520.4.16+commit.d7661dd90.4.15+commit.8b45bddb0.4.15+commit.bbb8e64f0.4.14+commit.c2215d460.4.13+commit.0fb4cb1a0.4.12+commit.194ff0330.4.11+commit.68ef58100.4.10+commit.f0d539ae0.4.9+commit.364da4250.4.8+commit.60cc16680.4.7+commit.822622cf0.4.6+commit.2dabbdf00.4.5+commit.b318366e0.4.4+commit.4633f3de0.4.3+commit.2353da710.4.2+commit.af6afb040.4.1+commit.4fc6fc2c0.4.0+commit.acd334c90.3.6+commit.3fc68da50.3.5+commit.5f97274a0.3.4+commit.7dab89020.3.3+commit.4dc1cb140.3.2+commit.81ae2a780.3.1+commit.c492d9be0.3.0+commit.11d673690.2.2+commit.ef92f5660.2.1+commit.91a6b35f0.2.0+commit.4dc2445e0.1.7+commit.b4e666cc0.1.6+commit.d41f8b7c0.1.5+commit.23865e390.1.4+commit.5f6c3cdf0.1.3+commit.028f561d0.1.2+commit.d0d36e30.1.1+commit.6ff4cd6
Include nightly builds
LanguageSolidityYul
EVM Versioncompiler
defaultlondonberlinistanbulpetersburgconstantinoplebyzantiumspuriousDragontangerineWhistlehomestead

Compiler Configuration

Auto compile
Enable optimization
Hide warnings
compiler is loading, please wait a few moments.Compile <no file selected>
No Contract Compiled Yet



Close

OK




Close

Close



Close


Environment
JavaScript VM (London) JavaScript VM (Berlin) Injected Web3 Web3 Providercheck
out docs to setup Environment
VM
Account
0x5B3...eddC4 (100 ether)0xAb8...35cb2 (100 ether)0x4B2...C02db (100
ether)0x787...cabaB (100 ether)0x617...5E7f2 (100 ether)0x17F...8c372 (100
ether)0x5c6...21678 (100 ether)0x03C...D1Ff7 (100 ether)0x1aE...E454C (100
ether)0x0A0...C70DC (100 ether)0xCA3...a733c (100 ether)0x147...C160C (100
ether)0x4B0...4D2dB (100 ether)0x583...40225 (100 ether)0xdD8...92148 (100
ether)

Sign a message using this account key
Gas limit
Value
WeiGweiFinneyEther
Contract
No contract compiled yet or compilation failed. Please check the compile tab for
more information.ABI file selected
No compiled contracts
or
At Address
 * Transactions recorded
   0
   

Deployed Contracts
Currently you have no contract instances to interact with.



Close





Close

Close



Close

OK


Zoom outZoom in
 * Home


Scroll to see all tabs
1





Enter to Rename, Shift+Enter to Preview



IMPORT FROM

Close

Import



Close

Close
Remix IDE


FEATURED PLUGINS

Solidity
StarkNetL2
Solhint linter
LearnEth
Sourcify
More

FILE

New File

Open Files

Connect to Localhost

Download Backup

Restore Backup

LOAD FROM:

GistGitHubIpfshttps

RESOURCES

Documentation

Gitter channel

Featuring website

Old experience

TwitterMedium blogs
08 Nov



REMIX RELEASE V0.37.0

Author: Rob Stupay


THE BIG NEWS

 * Circom plugin and ZKP Circom Semaphore template
 * ERC auto-complete will load the file
 * The Remix UI now translated into Spanish, French, Italian, and Simplified
   Chinese
 * Load Recent Workspaces
 * Start Coding Button
 * Updates for compatibility with OpenZeppelin v5.0 contracts


CIRCOM PLUGIN AND ZKP CIRCOM SEMAPHORE TEMPLATE

We’ve added a Semaphore Circom template which you can load by creating a new
Workspace.

When the template loads, our new Circom compiler plugin will load.

Start playing with ZK Proofs in Remix!


ERC AUTO-COMPLETE AND FILE LOADING

Remix now auto-completes all the ERC files when typing “erc”. The selected ERC
file will load in the Editor. Try this out in an empty file:

And when you select one, the ERC file will be printed out, like this:


THE REMIX IS NOW TRANSLATED INTO SPANISH, FRENCH, ITALIAN, AND SIMPLIFIED
CHINESE

The language can be chosen in three places:

 * At the top right of the Home Tab:

 * At the bottom of the Settings Panel
 * Via a URL by using the lang parameter with the language abbreviation:

Big shout-out to our Spanish (Juan David), French (Mehdi Amari), Italian
(matlemad). And another huge shout-out to @drafish who contributed the original
i18n PRs as well as doing the Chinese translations along with Mocca. (Actually
the Chinese translations have been around for a few months now).

In case you didn’t know, the Remix docs are available in Chinese, Spanish,
French, and Italian.

To contribute to the translation of documentation, go to CrowdIn — Remix
Translation our translation management platform.

To contribute to the translation of the Remix UI go to CrowdIn-Remix UI.


HOME TAB: RECENT WORKSPACES

Your recent workspaces are now listed:


HOME TAB: START CODING

The Start Coding button will open up a new Workspace called Playground and will
load a HelloWorld file in the Editor.


SUPPORTING OPENZEPPELIN V5

We’ve updated our OpenZeppelin templates and have made the necessary updates to
support the latest release of OpenZeppelin.


THANK YOU WONDEROUS REMIX USERS

Please report any problems you find in Remix. And, as always, please send us any
suggestions about changes you’d like to see in Remix, or any functionality you
think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort please fill out this form.

We no longer follow the discussions on Gitter, so we encourage you to move over
to our Discord server for community support. Or, send us an email at
remix@ethereum.org!

--------------------------------------------------------------------------------

Remix Release v0.37.0 was originally published in Remix Project on Medium, where
people are continuing the conversation by highlighting and responding to this
story.

More...
27 Sep



REMIX RELEASE V0.36.0

Author: Rob Stupay


THE BIG NEWS

 * AI comes to Remix in the Editor and in the Solidity Compiler
 * More “Quick Fixes”
 * Ephemery and SKALE Chaos Testnet added to Deploy & Run


CHATGPT

AI IN THE EDITOR: EXPLAIN A FUNCTION AND GENERATE DOCUMENTATION

You can now ask ChatGPT to explain a function or to generate documentation for a
function — right in the editor.

But to get this to work, in the Settings panel, make sure that the box is
checked to “Enable code completion in Editor.”

Then, with a Solidity file open in the Editor, you can “right-click” in the body
of a function, which will reveal a pop-up menu. Click on the option “Explain the
function” or “Generate documentation.”

The explanation or documentation will print out in the terminal.

AI IN THE SOLIDITY COMPILER: HELP WITH SOLIDITY ERRORS

In the Solidity Compiler’s error “cards”, we’ve added a prompt: “Ask GPT” which,
when clicked, will display an explanation of the error in the terminal.


NEW “QUICK FIXES” IN THE EDITOR

In the previous release we added Quick Fixes to the Editor. In this release, we
have added more Quick Fixes to:

 * Add a specific pragma
 * Add required visibility for Fallback and Receive methods
 * Add data location (e.g. storage, memory, calldata) to constructor params,
   function params and variables
 * Add virtual or override to a function
 * Mark a contract abstract

To make a “Quick Fix”, click on the big blue dot in the Editor.

Then select the suggested correction.

The “Quick Fix” will be input into the function.


NEW ENVIRONMENTS IN DEPLOY & RUN TRANSACTIONS

We’ve added two new options in the Environments select box of the Deploy & Run
Transactions plugin. These options save you the trouble of configuring you
browser wallet with the configuration info for these chains.

EPHEMERY

Ephemery is a testnet that resets after seven days. As a result, its faucets run
without clogs. It’s a great chain for heavy testing.

For more info check https://ephemery.dev or check the Ephemery Repo.

SKALE CHAOS TESTNET

The Chaos testnet is a project of Skale. Get tokens for this chain here or here.


MORE ADDITIONS

 * In the Verification — Etherscan plugin, LineaScan is now supported, so
   contracts can now be verified there too.
 * Custom error details are now shown with Injected Web3 environment. Previously
   it was for VM only.


THANK YOU WONDEROUS REMIX USERS

Please report any problems you find in Remix. And, as always, please send us any
suggestions about changes you’d like to see in Remix, or any functionality you
think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort please fill out this form.

We no longer follow the discussions on Gitter, so we encourage you to move over
to our Discord server for community support. Or, send us an email at
remix@ethereum.org!

--------------------------------------------------------------------------------

Remix Release v0.36.0 was originally published in Remix Project on Medium, where
people are continuing the conversation by highlighting and responding to this
story.

More...
18 Aug



REMIX RELEASE V0.35.0

Author: Rob Stupay


THE BIG NEWS

 * “Quick Fixes” in the Remix Editor!
 * Take the Remix User Survey


REMIX USER SURVEY

Remix has a quick, one-minute survey to help us better understand you, dear
user, and your development needs. You can find the link on the home tab in the
Featured section. Or, just click here.


QUICK FIXES IN THE REMIX EDITOR

Now in Remix, fixing the license, the visibility, or the mutability is as easy
as a swatting flies in a cow pasture.

LICENSE FIXES

Have you ever forgotten to add the license to a file, and then got the warning,
and then forgot the syntax of the license?

In the image below, I left out the license and I get the warning and this blue
dot. If you can’t get the Quick Fix blue dot to appear, try clicking on the
number for the line where the error occurs.

When you click on the blue dot there are a few options:

And selecting the open-source license will add this update to the file:

VISIBILITY QUICK FIXES

When a file has a visibility error because the visibility is not specified, the
blue dot will appear to the left of the function.

Click on the dot, and a popup menu will appear.

MUTABILITY QUICK FIXES: VIEW

With the quick fix from the image above the file will look like this:

But the mutability has not been specified, so again the blue dot will appear.

Clicking the dot will show this popup menu:

MUTABILITY QUICK FIXES: PURE

When the pure keyword is needed for a pure function, the Quick Fix will
suggest it.

Clicking the blue dot will yield the suggestion:

And adding the suggestion will add the pure keyword.


THANK YOU WONDEROUS REMIX USERS

Please report any problems you find in Remix. And, as always, please send us any
suggestions about changes you’d like to see in Remix, or any functionality you
think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort please fill out this form.

We have migrated our community channels off Gitter and on to Discord. Although
we still follow the discussions on Gitter (now through Matrix), we encourage you
to move over to our Discord server. Or, send us an email at remix@ethereum.org!

--------------------------------------------------------------------------------

Remix Release v0.35.0 was originally published in Remix Project on Medium, where
people are continuing the conversation by highlighting and responding to this
story.

More...
29 Jun



REMIX RELEASE V0.34.0

Author: Rob Stupay

We have entered the time of year where you can listen to your neighbors singing
in the shower as the tomatoes ripen in the garden. In this juicy Remix release,
we are singing about Linting, Verifying, and Analyzing…


0.34.0’S BIG NEWS

 * Updates for the Etherscan Verification plugin including proxy contracts!
 * Linting is added to the Static Analysis plugin
 * The File Explorer’s Workspace hamburger menu has moved to the left. Go there
   to navigate all things Workspace!
 * New scripts for verification and deployment in the hamburger menu
 * New labels in Deploy & Run showing the EVM version
 * Remix’s WalletConnect plugin is all set for WalletConnect v2.0


STATIC ANALYSIS

The Solidity Static Analysis plugin has been renamed to Solidity Analyzers. The
plugin is now packaged with the SolHint linter. The plugin also run Slither
Static analysis (if you are connecting to your filesystem with Remixd) and of
course Remix Static Analysis.

To use the plugin, a file should be already compiled.

As you can see above, Slither is disabled and will only work when you are
connecting Remix to your local filesystem with Remixd.


HAMBURGER HAMBURGER

The Workspace hamburger menu is now in the top left corner of the Workspaces
area of the File Explorer.

And, inside the hamburger we’ve added a few new options:

Add Etherscan scripts will add a folder inside the scripts folder containing
two .ts files—one for verifying, and one for getting the GUID of a verified
contract. The script for verifying has inputs for chain id and it will work for
verifying a proxy contract.

The Add contract deployer scripts also adds a couple of scripts. One script is
for automating deployment, and the other is a factory for deploying a contract
to different chains, but the contract’s address will be the same.

Go forth and run scripts!


KNOW YOUR CONTRACT’S EVM VERSION

Not all EVM versions work on all chains. We’ve added a badge in Deploy & Run
indicating which version of the EVM the contract was compiled with.


ETHERSCAN PLUGIN

For all you contract verifiers out there (which should be 100 percent of you)
we’ve made some important updates to the Etherscan plugin.

Of course, contract verification with Etherscan is not the only way to verify a
contract. You can also use the Sourcify service (when deploying, check the box
to publish to IPFS and the Sourcify service will be able to verify your
contracts) or use the Remix Sourcify plugin. But I digress…

The Etherscan plugin has been renamed and is now called:
Contract Verification — Etherscan.

You can access it from the Plugin Manager.

As of this release, in addition to Ethereum Mainnet and testnets, this plugin
now supports verification on other chains through the Etherscan family of block
explorers. But you will need to choose one of the chains where the block
explorer has an API key, and then you will need to input your API key.

For example, if you are trying to verify on an L2 chain like Optimism, you’ll
need to create an account on https://optimistic.etherscan.io/ and then get that
site’s API key. Not all of the block explorers made by Etherscan have API keys.
The Remix Contract Verification — Etherscan plugin only works where you can log
in to that block explorer to get an API key.

Once the API key is input, the plugin’s homepage is opened for verification.

The network is selected in Deploy & Run, and in your browser’s wallet (if you’re
using one). You will need to have compiled the contract, and of course, you will
also need to have deployed the contract.

VERIFYING CONTRACTS WITH CONSTRUCTOR ARGUMENTS

As of this release, you no longer need to input the encoded constructor
arguments.

You can input them just like you did when you deployed the contract.

VERIFYING A PROXY CONTRACT

Upgradeable contracts using the UUPS design pattern can now be verified in the
Etherscan plugin. Before verifying a proxy contract, the implementation contract
must already be verified.

THE IMPLEMENTATION CONTRACT PART

If you haven’t already verified the implementation contract, don’t check the
proxy box when verifying the implementation. Just verify the implementation
contract like a standard contract.

Then, and only then should you continue to verify the proxy contract.

THE PROXY CONTRACT PART

To verify the proxy (just after you’ve verified the implementation):

Click the It’s a proxy contract address checkbox.

Copy the implementation contract’s address from the Contract Address box and
paste it into the Expected Implementation Address box.

Then, paste the proxy contract address into the Contract Address box and
click Verify.

GENERATE VERIFICATION SCRIPTS

Clicking the Generate Verification Scripts button will create a folder named
etherscan in the Workspace’s scripts folder that contains .ts files for
verifying and returning the receipt status.


UPDATE TO THE WALLETCONNECT PLUGIN

As of 28 June 23, DApps and wallets that use WalletConnect will need to use
WalletConnect v2.0. The Remix WalletConnect plugin is ready for the upgrade.
Keep in mind that not all mobile wallets will work when the upgrade has
happened. Check for news about this on your mobile wallet’s docs, or here.


THANK YOU REMIX SUMMERTIME USERS

Please report any problems you find in Remix. And, as always, please send us any
suggestions about changes you’d like to see in Remix, or any functionality you
think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort please fill out this form.

We have migrated our community channels off Gitter and on to Discord. Although
we still follow the discussions on Gitter (now through Matrix), we encourage you
to move over to our Discord server. Or, send us an email at remix@ethereum.org!

--------------------------------------------------------------------------------

Remix Release v0.34.0 was originally published in Remix Project on Medium, where
people are continuing the conversation by highlighting and responding to this
story.

More...
16 May



REMIX RELEASE V0.33.0

Author: Rob Stupay

Remix is dedicating this late Spring release to the lovers out there connecting
their hearts and, uhh… wallets — or at least connecting their mobile wallets to
Remix as well as telling each other the many ways they love each other, and then
inputting grand totals into a function’s argument using scientific notation.

You see, Remix is for lovers!


BIG NEWS

 * Updates to the WalletConnect plugin
 * Scientific Notation comes to Deploy & Run — so stop counting those zeros!!
 * Etherscan verification plugin updates
 * Generate documentation with a right-click in the File Explorer


WALLETCONNECT

Approve transactions on your phone’s mobile wallet by using WalletConnect. In
this release, we’ve refactored the plugin and have moved it into Remix’s
codebase.

WalletConnect is great for mimicking how your users will approve transactions in
your dApp.

Compile a file, then in Deploy & Run, at the bottom of the Environments select
box, choose WalletConnect.

WalletConnect will appear in the main panel in an Editor tab.

Hit the Connect to a wallet button. Then scan the QR code with your mobile
wallet and approve the connection to Remix.

The network that your mobile wallet is connected to will display in the “badge”
underneath the Environment section of Deploy & Run.

Switching to a different network is done in the mobile wallet itself.

The chain ID of the chain you are connected to will be shown in Deploy & Run.


SCIENTIFIC NOTATION IN FUNCTION INPUTS

Scientific notation can now be used for numbers passed as function arguments.
This means that instead of inputting 12000000000000000000, you can input 12e18.

Scientific notation will also work in an array or as a single input.

For arrays the input looks like this:

Thanks again for the suggestion, Paul! Keep ’em coming!


ETHERSCAN UPDATES

In this release, we’ve updated the Etherscan plugin.

To verify a contract, compile it and then deploy to a public network. Activate
the Etherscan plugin and input your Etherscan API key. Then choose the contract
you want to verify and input the contract’s address.

Then click Verify.

If you are connected to the wrong network, change it in Deploy & Run.


DOCUMENTATION GENERATOR IN THE FILE EXPLORER’S RIGHT-CLICK MENU

Remix’s Documentation Generator is now integrated into the File Explorer’s
right-click menu. Of course, to generate the documentation the contract needs
NatSpec comments in it.

To generate the documentation, right-click on a file in the File Explorer and
choose the Generate Docs option from the menu.

The documentation will be displayed in an Editor tab. The associated markdown
file will be created in the docs folder.


SOL2UML

We’ve added a magnifying cursor to the UML viewer, and now the scroll wheel on
the mouse controls zoom instead of position. Moving around the diagram can be
done with the browser’s scroll bars.


THANK YOU, THANK YOU, AND…

Please report any problems you find in Remix. And, as always, please send us any
suggestions about changes you’d like to see in Remix, or any functionality you
think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort please fill out this form.

We have migrated our community channels off Gitter and on to Discord. Although
we still follow the discussions on Gitter (now through Matrix), we encourage you
to move over to our Discord server. Or, send us an email at remix@ethereum.org!

--------------------------------------------------------------------------------

Remix Release v0.33.0 was originally published in Remix Project on Medium, where
people are continuing the conversation by highlighting and responding to this
story.

More...
04 Apr



REMIX IDE V0.32.0 RELEASE

Author: Rob Stupay

> “In the spring, at the end of the day, you should smell like dirt.”

> — Margaret Atwood

After going through Remix’s April release, you should smell like blockchain.


BIG NEWS

 * Upload a folder to a Workspace
 * Github Actions can now include Forking
 * Free Functions have come to Remix
 * EthDoc creates MD files
 * Trust Wallet in Remix


UPLOAD A FOLDER TO A WORKSPACE

Suppose you have a folder full of files on your hard drive that you’d like to
bring into Remix. Previously, you could have shared this folder with Remixd to
connect it to Remix, but you would also have needed to run Remixd.

Now, you can upload a folder directly to a Workspace.


DOWNLOAD A WORKSPACE

We have also added an option in the Workspace hamburger menu for downloading the
current Workspace.

NOT NEW TO THIS RELEASE BUT RELATED:

 * To download all of your current Workspaces, choose the Backup option.
 * To download a file or a folder in a Workspace, right-click on its name, and
   choose the Download option from the context menu.


UNIT TEST WITH A GITHUB ACTION ON A FORKED BLOCKCHAIN

In the Workspace hamburger menu, previously there were three options for adding
GitHub actions: Solidity Unit Testing, Mocha Chai Unit Testing, and Slither
Analysis.

In release v0.31.0, we brought forked chains to Remix. In this release, we bring
the forking to GitHub actions. You can choose a chain to fork, as well as the
block number and the EVM version.

Once you have committed and pushed to GitHub from Remix, you are set!
For more info about GitHub actions in Remix, see our blog post on the subject.


FREE FUNCTIONS IN REMIX

Free functions are functions that run outside of a contract.

> Mainly useful when prototyping, but it also makes sharing code easier than
> with libraries.

> — Paul Razvan Berg

You can now run free functions by right-clicking on the function and you’ll see
the Run the free function option.

Thanks for the suggestion Paul! Keep your suggestions coming!


GENERATE UML — DOWNLOAD OPTION

We’ve been updating the Generate UML option. You can now download a PDF or a PNG
file of your UML diagram.

To generate a UML diagram, right-click on a .sol file, and in the context menu,
select the Generate UML option. The diagram will come up in an Editor tab called
Solidity UML Generator.


DOWNLOAD COMPILATION DETAILS

The button to view compilation details is visible in the Solidity Compiler after
a file has been successfully compiled. Now these details can be downloaded.


TRUST WALLET IN REMIX

There is an expanding list of Browser Wallets. These wallets are installed as
browser extensions. It is best practice to only have one these activated in your
browser for use with Remix.

Pick the wallet of your choice. Switch wallets in the browser settings for
extensions.


DEFAULT WORKSPACE NAMES

We’ve renamed the default workspace to Basic and we have changed the number
after the name to a simple incremented integer.

You can always rename a Workspace to whatever your heart fancies.


DOCUMENTATION GENERATOR

We are in the process of updating DocGen, the plugin that creates documentation
out of NatSpec comments. This plugin is activated in the Plugin Manager. In a
future release, it will be accessed by right-clicking on a file in the File
Explorer, so stay tuned. The update in this release is that DocGen now creates a
markdown file and places the .md file in the docs folder.


THANK YOU WONDROUS USERS

Please report any problems you find in Remix. And as always, please send
suggestions about any changes you’d like to see in Remix, or any functionality
you think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort please fill out this form.

We have migrated our community channels off Gitter and on to Discord. Although
we still follow the discussions on Gitter (now through Matrix), we encourage you
to move over to our Discord server. Or, send us an email at remix@ethereum.org!

--------------------------------------------------------------------------------

Remix IDE v0.32.0 Release was originally published in Remix Project on Medium,
where people are continuing the conversation by highlighting and responding to
this story.

More...
01 Mar



REMIX RELEASE V0.31.0 — A FORKING GOOD TIME

Author: Rob Stupay


REMIX RELEASE V0.31.0 — A FORKING GOOD TIME

> When you come to a fork in the road, take it.
> - Yogi Berra


THE BIG NEWS

 * Chain Forking! Fork a chain and play with it on the Remix VM. Works for
   Ethereum Mainnet, testnets, or the chain of your choice, all at the block
   number of your choice.
 * New Proxy Contract Upgrade checks
 * Download files and folders with a right-click
 * Zooming on UML diagrams
 * New version of Remixd v0.6.12 — DOWNLOAD IT NOW!
   npm install -g @remix-project/remixd


FORKING

You can now fork chains so that you can play with them on the Remix VM. This is
a great technique if you want to develop a contract that interacts with deployed
contracts on Mainnet. By forking Mainnet to the Remix VM local chain, you can
experiment more effectively in a local environment with test ETH.

To fork, go to the Environment select box of the Deploy & Run module.

You’ll see the four fork choices. When you select Mainnet, Sepolia, or Goerli
fork, the chosen chain will load into Remix. It may take some time to load,
depending on your connection speed. Once loaded, you’ll see ten accounts loaded
with 100ETH each.

Careful though. If you refresh the browser, you’ll lose the forked chain.

CUSTOM FORK — REMIX VM

When you choose the Custom fork a modal will pop up.

You can get the Node URL from chainlist.org. If the chain does not load, you may
need to choose a different RPC server. You will also need to choose an EVM
version appropriate to the block number. So if you choose a very old block
number, the EVM with the Merge “flavor” won’t work because this version of the
EVM came out later.


NEW CHECKS FOR PROXY CONTRACT UPGRADES

UPDATES TO HANDLING PROXY CONTRACTS

Remix has a UI for dealing with upgradeable contracts using the UUPS design
pattern. For more info about using Proxy contracts on Remix see our docs.

As of this release, Remix saves a list of the previously deployed proxy
contracts.

As you can see above, Remix displays previously deployed contracts that use this
pattern. On rollover, the tooltip will show the date of the deployment. This
information is deployed in the .deploys folder in the File Explorer.

Remix saves the storage layout and compiler solc inputs of all UUPS deployments.

NEW CHECKS

Now that the previously deployed upgradeable contracts are being saved, Remix
can make some tests to ensure that you are upgrading the right contract.

Remix checks the .deploys folder, and if it finds the contract, a comparison is
made with the upgrade. If there is an incompatibility, a warning modal
containing a list of the issues will pop up before the new contract deploys:

If the previous contract is not in the .deploys folder, Remix cannot make the
comparison, so this warning will pop up:

This warning simply means that Remix cannot make the comparison because the
previous contract is not in the .deploys folder. It might be a perfectly good
upgrade. Indeed, everyone who has made upgradeable contract deployments before
this release will get this warning.

Lastly, we have a simple check that makes sure a contract’s address is valid. If
it isn’t, you’ll get this warning:


MORE UPDATES TO THE ENVIRONMENTS SELECT BOX

The Environments select box has been updated and the code has been refactored.


FILE EXPLORER UPDATES

BACKUP A FILE OR FOLDER BY RIGHT-CLICKING ON IT

Now when you right-click on the name of a file or a folder (but not the icon)
you’ll get this popup menu:

Selecting Backup will download the file or folder to your computer.

AN UPDATE TO GENERATE UML IN THE FE RIGHT-CLICK MENU

In this release, you can now zoom in, move around the diagram, and zoom out.
Click the reset button to restore the original zoom level.

More updates are coming, so watch this space!


WARNING WHEN UPDATING A FILE OUTSIDE OF REMIX

As I hope you all know, Remixd connects a folder on your computer to Remix and
that you can connect to it by going to -connect to localhost- in the Workspaces
select box in the File Explorer. And, if you didn’t know that, now you do. To
find out more, see the docs.

But before I get to the new update, please download the latest version of Remixd
v0.6.12: npm install -g @remix-project/remixd

Now when Remixd is running (so a folder on your hard drive is connected with
Remix) and when you update a file in this shared folder from a tool outside of
Remix, a warning will pop up:


SOL COMPILER

The default Solidity Compiler is now v0.8.18.

In the Compiler’s Advanced Configurations section, we have also added the
Paris EVM.


FIXES

Flattener is updated. Calculation of gas execution costs has also been fixed.
And, in the FUNCTIONHASHES section of the Compilation Details modal, the
function hashes are now displayed.


THANKS YOU WONDROUS USERS

Please report any problems you find in Remix. Also, as always, please send
suggestions about any changes you’d like to see in Remix, or any functionality
you think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort please fill out this questionnaire.

We are migrating our community channels off Gitter and on to Discord. Although
we still follow the discussions on Gitter (now through Matrix), we encourage you
to move over to our Discord server. Or send us an email at remix@ethereum.org!

--------------------------------------------------------------------------------

Remix Release v0.31.0 — a Forking Good Time was originally published in Remix
Project on Medium, where people are continuing the conversation by highlighting
and responding to this story.

More...
08 Feb



REMIX IDE V0.30.0 RELEASE

Author: Rob Stupay

Remix Release v0.30.0 has quietly arrived like a bunny on a snowy night. Indeed,
it’s our release to start the Year of the Rabbit.


THE BIG NEWS

 * New version of Remixd v0.6.11, download the latest:
   npm install -g @remix-project/remixd
 * More Github action workflows
 * File Explorer: rt click for Flattener & rt click for Generating UML


HOME TAB UPDATES

We now have a link in the featured section to our channel of video tutorials.
Check ’em out — they are short and to the point. More are on the way, too. So
subscribe!


SUT UPDATE & EXPANDED SOLIDITY UNIT TEST EXAMPLES

We’ve updated the Solidity Unit Testing plugin (SUT). Now SUT plugin will show
the reason of the revert error (if it’s available).

In Remix’s OpenZeppelin ERC 20 template (with the mintable option selected), the
test file (texts/MyToken_test.sol) has been expanded with 13 more tests! Check
these out — they will give you lots of good examples for improving your Solidity
Unit Test writing skills.
Below are some of the new tests:


COMPILER INPUT SECTION IN COMPILATION DETAILS

We’ve added a new section in the Compilation details modal to show the compiler
input. Its good basic info to have handy.


NEW GITHUB WORKFLOW

GitHub Actions are useful to push tasks onto the GitHub side of things.
Obviously this is only useful if you are pushing files to GitHub. You can easily
clone a Git repo or to create a Git initialized Workspace. To clone, create a
Workspace, or to add a GitHub workflow, go to the hamburger menu in the File
Explorer.

In this release we’ve added the Mocha Chai Test Workflow and the Slither
Workflow.

When you select one of the actions, you’ll see the action in the .github folder.

You can open the .yml file to edit the default behavior of the action. To learn
more about editing this .yml file, see our article on the subject.


THE FLATTENER & SOL2UML PLUGIN UPDATED

The Flattener and Sol2UML plugins are now “internal plugins” — so they are part
of the Remix codebase.

And for both plugins, you no longer need to load up the plugin in the Plugin
Manager, but can now just right-click on a file in the File Explorer to pop up
the context menu. The Flattener is now the Flatten option in the context menu,
and the Sol2UML is now the Generate UML option.

Sol2UML, not surprisingly, is used to generate UML diagrams from Solidity files.
These UML diagrams get rendered to a tab in the main panel.

As stated above, to make a UML diagram, right-click on a file in the File
Explorer and choose the Generate UML option in the context menu:

Then the UML diagram will be loaded into a tab in the main panel. Here is the
UML from the 3_Ballot.sol file.

UML should help in understanding and explaining contracts. Now you just need to
know what those funny looking arrows mean. But, there are loads of resources out
there in that “interweb” for answers. In the next releases, we will be updating
the functionality of the plugin — so watch this space!


REMIXD RELEASE

This version of Remixd — v0.6.11—fixes a bug that was causing crashes on complex
contracts. Please install the latest. To make sure you have the latest, you can
always run:

remixd -v


HAPPY YEAR OF THE RABBIT, DEAR USERS

Please report any problems you find hopping around and munching on the Remix
garden. Also, send us suggestions about any changes you’d like to see in Remix,
or any functionality you think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort, please fill out this questionnaire.

We strive to make the Remix IDE more convenient and easy to use. You can reach
us on Twitter, Gitter, or via email (remix@ethereum.org) or Discord.
TIA!

--------------------------------------------------------------------------------

Remix IDE v0.30.0 Release was originally published in Remix Project on Medium,
where people are continuing the conversation by highlighting and responding to
this story.

More...
16 Dec



REMIX IDE V0.29.0 RELEASE

Author: Rob Stupay


BIG NEWS

 * Debugger Updates — further integration with the Editor to show more info
   about gas usage, updates for use with proxy contracts, and hover on a
   variable to see its value.
 * MultiSig Wallet Workspace template
 * Remix in Simplified Chinese
 * Config file for specifying the formatting of your (very) pretty code
 * Remixd update… so UPDATE!! npm install -g @remix-project/remixd


REMIXD

New version of Remixd, so all you remixd users, go update!!!
The current version is v0.6.9.

For all you people who never knew you could connect Remix to your computer’s
hard drive — you can, and that’s what Remixd does!
Check the Remixd docs!

In this version, the -r flag to make Remixd read-only is operational.


DEBUGGER

Make a transaction and open the Debugger. Go to the panel showing the opcodes
and you’ll see the line number of the associated Solidity file.

Step through the opcodes, and the highlighting in the Editor should follow.

Gas costs are also updated in the Editor.

And when you hover over global, state, or local variables, they will show their
current values according to the selected step — like this:


EVER THOUGHT ABOUT PLAYING THE MULTISIG?

We’ve added a MultiSig Wallet template to the Workspace template choices. Load
it up and start playing.

To get a new Workspace, click the plus button in the File Explorer

Then choose the MultiSig Wallet and start playing with the code!


REMIX IN CHINESE

We now have a version of Remix in Simplified Chinese.

To switch Remix to Chinese, go to the bottom of the Settings panel and
you’ll see:

Then Remix will look like this:

A big shoutout to drafish for his contributions on this effort!

More languages are soon to come. And the docs are also in the process of getting
translated!


SPECIFY CODE FORMATTING

When you right-click on some code in the Editor, you can choose Format Code
option in the context menu, to pretty it up.

Now, when you do that you’ll get a .json file in the File Explorer where you can
specify how you’d like your code to appear when cleaned up.


THANK YOU, ADORABLE USERS

Please report any problems you find in Remix. Also, as always, please send
suggestions about any changes you’d like to see in Remix, or any functionality
you think would be useful to add.

For future releases, we are looking for more Beta Testers. If you are interested
in helping this effort, please fill out this questionnaire.

We strive to make the Remix IDE more convenient and easy to use. You can reach
us on Twitter, Gitter, or via email (remix@ethereum.org) or Discord.
TIA!

--------------------------------------------------------------------------------

Remix IDE v0.29.0 Release was originally published in Remix Project on Medium,
where people are continuing the conversation by highlighting and responding to
this story.

More...
16 Dec



REMIX REMEMBERS 2022

Author: Rob Stupay

There have been loads of developments in Remix this year. I’ll start by going
through many of the changes to IDE that we made this year. Then I’ll go over the
project’s other updates which are primarily about new ways of engaging with
our users.

The functionality described in this article is mostly taken from our release
notes published here on Medium. To see the notes individually, please go to our
publication.

Let’s sashay into the details of this year’s developments, section by section of
the IDE.


EDITOR UPDATES

AUTO COMPLETES & AUTO COMPLETES ON IMPORTS

GAS ESTIMATES

Gas estimates are now displayed on the same line where a function is declared.

GO TO DEFINITION AND REFERENCES

Use the shortcut or right-click to get the context menu to go to definitions or
references.

HIGHLIGHTED REFERENCES

References are now highlighted in the Editor.

HOVERING

When you hover over a term with a definition, the definition will pop up.
Hovering over code that has triggered an error (underlined with a red squiggly
line) will show the error message.

FILES WITH ERRORS TURN RED

When a file has an error in it, its name will turn red, both in the File
Explorer and on its tab at the top of the Editor.

More about the Editor updates in this article: Major Updates to Remix Editor

TYPESCRIPT

Our Editor and Script Runner now support TypeScript, which mean that you can
write TypeScript, have some auto-completion, and run it straight from Remix.

The default Workspace now contains TypeScript example files in it, so create a
new Workspace and test it out.


FILE EXPLORER

CLONE A GIT REPO IN THE FILE EXPLORER

Click the hamburger to get the clone functionality.

When you have git initialized workspaces, the git icon will appear to the right
of their name.

MANAGE GIT BRANCHES IN THE FILE EXPLORER

When you are in a Work Space that is initialized with Git, at the bottom of the
File Explorer, you’ll see the place for managing branches.

Then when you click on the branch name, you’ll see how to switch branches and
how to create a new branch.

TO DO THE USUAL GIT MANAGEMENT COMMANDS, GO TO THE DGIT PLUGIN. ALSO CHECK THIS
ARTICLE ON THAT PLUGIN AND CHECK OUR DOCS.

DRAG AND DROP IN FILE EXPLORER

Feeling the need to do some end-of-summer cleaning? Now you can organize your
Workspaces by dragging files or folders into different folders!

Thanks so much to iamsethsamuel for this addition!


WORK SPACES & TEMPLATES

WHEN STARING AT A BLANK CANVAS HARSHES YOUR MELLOW, START A PROJECT WITH
SOME CODE!

And when you choose one of the OpenZeppelin templates, you can customize it.


SUBTRACTIVE UPDATE TO REMIXD

Remixd is a terminal command to share a folder on your hard drive with Remix. If
in the terminal, you are already in the directory you want to share, and are
trying to share with https://remix.ethereum.org, then the command is simply:

remixd

Simple as that!


GITHUB ACTIONS

ADDING REMIX’S SOLIDITY UNIT TESTS ACTION TO YOUR GITHUB WORKFLOW IS SIMPLE!

In the File Explorer click the hamburger icon to get its menu and choose the Add
GitHub Solidity Action option.

This will add a directory called .github/workflows to the current workspace and
will add a .yml file with the instructions. You’ll may need to do some editing
to run the action:

 1. In the example below, the action will look through the sample/tests
    directory, and will check for files named with a _test.sol suffix (e.g.
    filename_test.sol) and will run those tests.
 2. Change the name of the sample/tests directory to make it fit with your
    repo’s structure.
 3. If you don’t want to put a folder path, give the full path to a test file.
 4. Set the compiler version to be the same as the one in the contract files.

name: solidity-unit-testing-action
on: [push]

jobs:
  run_sample_test_job:
    runs-on: ubuntu-latest
    name: A job to run sample solidity tests
    steps:
      - name: Checkout
         uses: actions/checkout@v2
      - name: Run SUT Action
        uses: EthereumRemix/sol-test@v1
        with:
            test-path: 'sample/tests'
            compiler-version: '0.8.15'

Check the action we’ve published: Solidity Unit Tests Action.


SEARCH

Where was that variable? We now have a Search plugin to help you find and
replace. And it’s not hard to find the search.


SOLIDITY COMPILER

We’ve cleaned up the compiler UI so that advanced settings are collapsed.

When opened, you now have the opportunity to load a .json file with the
configuration settings:

COMPILING IN REMIX FOR A HARDHAT PROJECT

When you connect Remix to a Hardhat project folder with Remixd, you’ll now see
the option to Enable Hardhat Compilation.

COMPILING IN REMIX FOR A TRUFFLE PROJECT

Same as we did with the hardhat integration, here’s the truffle one ;)

So, for the great Truffle users, it is now possible to run Truffle Compile
alongside the Remix Compilation.

 * install Remixd npm install -g @remixproject/remixd
 * go to your favorite Truffle directory and run remixd
 * go to https://remix.ethereum.org and click on the Workspace dropdown list and
   select localhost
 * go to the Solidity Compiler panel, and check Enable Truffle Compilation and
   hit Compile. Truffle will also compile, and the result will be displayed in
   the Remix Terminal

More info on this is in our documentation.

PUBLISH TO IPFS LOCAL NODE AND API ENDPOINT

In the Solidity Compiler, there is a button to publish to IPFS.

Why publish your source code to IPFS?

Once you have published to IPFS and have deployed your code to a public network,
Sourcify — a contract verification service — will verify your code without you
needing to do any more.

CHANGES TO IPFS CONFIGURATION IN REMIX

Users need to specify which IPFS gateway to use. So when you click the Publish
on IPFS button, you’ll see this modal:

As indicated in the image above, there are 4 options:

 * public INFURA node: This is the default option and does not require a
   subscription to Infura. But, this is the least secure of the options because
   you don’t have control over what is kept pinned. And, if the data is not
   accessible, then Sourcify cannot verify it. To use this option, just
   click OK.
 * your own INFURA IPFS node: with this option, you’ll need to register with
   Infura. You’ll also need to input your Infura IPFS keys into the Remix
   settings panel (see the image below).
 * an external IPFS node which doesn’t require any authentication.
 * your own local IPFS node: A local node usually runs on http://localhost:5001

These configuration settings are in the Settings panel.


DEPLOY & RUN

SYNCING COMPILATION WITH HARDHAT, TRUFFLE, AND FOUNDRY

Code & Compile in another framework and Deploy from Remix

Now when you compile a contract in Truffle, Hardhat or Foundry, and your project
folder is connected to Remix IDE using Remixd, those compiled files can be
synchronized into, and deployed from, Remix.

To sync the compilation results in Remix, go to the Deploy & Run module and in
the Contract section, click the refresh icon.

If your last compilation was from Hardhat, you’ll see:

If the last compilation was from Remix, you’ll see:

All this syncing is in the Deploy & Run plugin, because from here, you can
Deploy to your heart’s content!

Similarly, it can work in the other direction: develop your files in Remix, and
deploy from the framework of your choice. Or, it can be used in both directions:
develop both in Remix and in another framework. The compiled files can be
brought into Remix, or they can be brought into the Framework of your choice.

Slice it and dice it as you choose! It will all get cleaned up in the sync.

PROXY CONTRACTS

A UUPS proxy contract is the implementation side of an ERC1967Proxy.

Once you have deployed a UUPS implementation contract, Remix will deploy a
ERC1967 with your implementation contract’s address.

To try this out, you will need to get a proxy contract.

 1. Make a new Workspace and choose an OpenZeppelin token template
 2. In the Upgradeability section, check the UUPS option
 3. Compile the contract

When a UUPS contract is selected in Deploy & Run’s Contract select box, you’ll
see some checkboxes below the Deploy button:

When deploying, choose Deploy with Proxy. This will create two transactions: one
for the implementation (your contract) and the other for the ERC1967 proxy
contract. You will get two modals to check through:

and then:

If you are deploying to the Remix VM, these modals will appear one after the
other. If you are connected to a public testnet, then the second modal will
appear after the first transaction has gone through.

After the ERC1967 proxy contract is deployed, in the Deployed Contracts section,
you’ll see two deployed instances.

To interact with your implementation contract DO NOT use the instance of your
contract. Instead, you should use the ERC1967 Proxy. The proxy will have all the
functions of your implementation.

To upgrade, check the Upgrade with Proxy box and dial down the caret to see
the options:

You’ll either need to use the last deployed ERC1967 contract, or input the
address of the ERC1967 contract that you want to use.

BALANCE

Have you ever needed to know the balance of a contract? As Dick Dale would have
said (if he had taken up Ethereum development) “Oh yah!”
The balance of a deployed contract now is shown in the contract’s instance.

CONTRACT PULLDOWN

Have you ever compiled a contract and then deployed the wrong one by accident
because you didn’t check the Contract Pulldown box?

Now this pulldown box will select a contract by default from the compiled file.
So, in most cases this should be selecting the file you want.

NEW & RENAMED PROVIDERS IN THE ENVIRONMENT PULLDOWN

We have added a bunch of providers to the list: Hardhat , Ganache andWallet
Connect for connecting to your mobile app.

RENAMED LABELS

We’ve edited the names of some of the choices in the Environment select box:

 * Javascript VM is now called Remix VM
 * Injected Web3 is now called Injected Provider [Name of the provider] : so
   when it’s MetaMask, it will say Injected Provider — Metamask
 * Web3 Provider is now called External Http Provider

When deploying to a local Hardhat, Ganache, or Foundry chain, just pick the
appropriate one here.

Of course, the old way will still work, where you’d use External HTTP Provider
and then input the node’s External HTTP Provider Endpoint.

DEPLOYING TO AN L2, LINKS TO BRIDGES

We’ve added the choice of Optimism Provider and Arbitrum One Provider. When you
choose one of these L2 chains, the chain’s settings will be automatically sent
to MetaMask. Then MetaMask will ask if you approve switching to this chain.

DEPLOYING TO THE “THISCHAIN” OR “THATCHAIN” OR “THEOTHER” CHAIN

Before you can deploy to some chain or other, you need to know its configuration
specs to put into MetaMask. Now, you don’t need to go searching for this info.

By clicking the plug icon next to Environment, you’ll be taken to chainlist.org
where you can automatically update your wallet with the chain’s specs.

L2 BRIDGES

Need a bridge to exchange Mainnet ETH for the selected L2 chain’s currency?
Click on the plug icon next to the L2 chain and you’ll be taken to Optimism’s
bridge page or Arbitrum’s bridge page (depending on which environment is
selected.


DEBUGGER

The Debugger is now wider, and shows gas usage per opcode and running gas total
per line.

To try it out. Make a transaction and open the Debugger. Go to the panel showing
the opcodes and you’ll see the line number of the associated Solidity file.

Step through the opcodes and the highlighting in the Editor should follow.

The gas costs are also updated in the Editor.

And when you hover over global, state, or local variables, they will show their
current value according to the selected step — like this:


INTEROPERABILITY WITH OTHER TOOLS

GITHUB

See the section about the File Explorer and DGit.

ETHERSCAN

Have you ever looked through some verified contracts in Etherscan and wanted to
open them up in Remix? Try this out! Find the URL of a verified contract like
this one:

https://etherscan.io/address/0x7ba6f990188f0a28594ca2441c0bde310c2bdd70

Then delete the “etherscan.io” part and type in “remix.ethereum.org” in its
place, like this:

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

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

SOURCIFY FOR LAZY CONTRACT VERIFICATION

Sourcify is a project we love! It’s a service that looks at all deployed
contracts, and if their source code and metadata is published on IPFS, it will
verify them. So just publish the source code and metadata, and then deploy.
Sourcify will do the verification and you don’t need to do anything! Publishing
to IPFS is done either in the Solidity Compiler:

or in the Deploy & Run module by checking the box before you deploy:

GITHUB ACTIONS WITH REMIX

See this blog post for more info.

SLITHER

See the Remixd section. But, also in the Static Analysis section.

Slither is a static analysis tool run with the CLI (command line interface) that
can be run in Remix through Remixd. It analyzes your code and provides a
full report.

For the moment, you’ll need to install Slither and its dependencies. Soon
however, we’ll be packaging Slither with Remixd.

Here’s what you need to do to run Slither:

 * Install Remixd npm install -g @remix-project/remixd
 * Install Slither remixd -i slither
 * Go to your working directory and run remixd
 * Go to https://remix.ethereum.org and click on the Workspace dropdown list and
   select localhost
 * Compile your contract
 * Go to the Plugin Manager and activate Solidity Static Analysis:

 * From there you can select Enable Slither Analysisand click Run. After some
   time the report will be available in the UI, and as a json file in the
   root folder.

TRUFFLE / HARDHAT / FOUNDRY

See the Deploy & Run section above where there’s an explanation about how to
sync the compilation results from these frameworks, and then continue
development in Remix, or use Remix to deploy and debug.

FOUNDRY REMAPPINGS

Are you going between Foundry and Remix? Check this out…

When you connect Remixd to a folder containing a Foundry project, Remix will add
the default remappings property in the compiler_config.json file.

You can add other remappings manually as per the requirement.


NEW WORKFLOWS

COMPILE AND RUN SCRIPT

Code - then compile and set the state in one click

When developing, you always need to see if the code you just wrote works. But,
getting the contract into that specific spot where you are working can take a
lot of clicking. This clicking can be automated. You can automate the deployment
and interaction with functions via an Ethers or Web3 script.

This workflow arose out of an internal project where we realized that setting
the state can be an arduous and annoying process. Yes, you could compile then
select the script and then run the script, but this makes the process
even faster.

The special sauce to connect a script to a contract

To check out an example .sol file and script combination, make a new Workspace
(we’ve updated the default files), and look at 1_Storage.sol as well
as ./scripts/deploy_with_ethers.ts

https://medium.com/media/abdab4f61fe582c7e80e042705ac185e/href

To setup a script that works with Compile and Run, you’ll need to:

 * set the NatSpec tag @custom:dev-run-script ./scripts/deploy_with_ethers.ts on
   the contract you want to interact with
 * from the Solidity Compiler, hit Compile And Run or Ctrl Shift S

Once the code is in good shape, you can remove the tag @custom:dev-run-script
from the contract.

TRANSACTION RECORDER

The Transaction Recorder is an underused gem in the Deploy & Run module. With
it, you can record a series of transactions and replay them in the same, or in a
different, environment.

This year, we improved it so you can use the last compiled bytecode in the
Recorder. In this use case, you can code, and, with the Transaction Recorder,
set the contract’s state, see how your code works, and then code some more.


VYPER PLUGIN UPDATES

We’ve corralled the Vyper Plugin into our codebase, and added a button to clone
the vyper-lang repo into Remix. So you can now play with loads of example files.
Just click the button and then go to the File Explorer to see the cloned repo.

Remember when using Vyper, only use the Remote Compiler for testing. You should
use a local compiler for production builds.

Also note that only Vyper versions > 0.2.16 are supported.


LEARNETH: TUTORIALS INSIDE OF REMIX

LearnEth, Remix’s tutorial plugin that includes quizzes, has been around for
awhile. This year we updated the Intro to Solidity tutorial and added tutorials
about ERC20, ERC721, and Auction Contracts. We’ve also added a repo of tutorials
in Spanish. These new classes were the basis of a workshop we gave in Spanish
at Devcon.


MORE INFO ABOUT ALL THE PLUGINS

For ages now, plugins in Remix have had their associated documentation linked
from the book icon next to their title. We’ve updated all the top side panel
plugins with a green check mark for plugins that Remix maintains, and a caret,
that when clicked, reveals…

 * A link to the docs (still the book icon)
 * Who maintains the plugin’s repo
 * A description of the plugin’s functionality
 * A link to the proper place to make an issue


TRANSLATIONS

REMIX IDE IN CHINESE SIMPLIFIED CHINESE

At the bottom of the Settings panel, you can choose to view Remix in Simplified
Chinese.


ENGAGEMENT WITH OUR USERS

Beyond development, this was a year of trying to expand two-way communications
with our users. We began this year seeking user feedback and feature requests
through live “Ask Remix Anything” calls and individual user interviews, and then
extended that user feedback by adding a user beta testing program for each
release. Their input has been very helpful for our release process.


INTERNAL PROJECTS — THE DOGFOODING BLOSSOMS

The Remix team used Remix this year for a few projects. The first was a
hackathon project at EthDenver in collaboration with Rocky Mountain Public
Media. We built an NFT playlist. The other project was to make Remix Rewards, a
non-transferable NFT for a series of badges to energize our contributors.

We then expanded on Remix Rewards with Remix Challenges, which are quizzes using
ZK Proofs that will be employed in our workshops at hackathons and on Twitter.
Dogfooding on Remix Challenges allowed us to play with our ZoKrates plugin.

One of the other developments in Remix IDE that came out of these dogfooding
projects is the Compile & Run Script workflow (see above), which was helpful for
us as we coded.


REMIX PROJECT WEBSITE

We updated the Remix-project.org website. This is the site that introduces all
the facets of the Remix Project.


REMIX HOME TAB

Remix has a wide range of users. We get neophytes, newbies, and experienced
devs. We are updating the hometab to direct users to appropriate resources.


2022 WAS BUSY!

The Remix metronome has swung at a fast rate in 2022. We found new ways of
improving the toolset, and new ways of engaging our users. We strive to improve
the tool and make the entire project sing…well…and in tune. This year we have
had a number of wonderful contributors who added depth to our harmonies.

Remix is just scratching for 2023!

--------------------------------------------------------------------------------

Remix Remembers 2022 was originally published in Remix Project on Medium, where
people are continuing the conversation by highlighting and responding to this
story.

More...



Clear console
0
listen on network

- Welcome to Remix 0.21.1 -

You can use this terminal to:
 * Check transactions details and start debugging.
 * Execute JavaScript scripts:
   - Input a script directly in the command line interface
   - Select a Javascript file in the file explorer and then run
   \`remix.execute()\` or \`remix.exeCurrent()\` in the command line interface
   - Right click on a JavaScript file in the file explorer and then click
   \`Run\`

The following libraries are accessible:
 * web3 version 1.5.2
 * ethers.js
 * remix (run remix.help() for more info)


>



Close






Close





Close

Close