Deploy a complex smart contract easily and quickly with Remix IDE

What is Remix IDE:

Remix is a powerful, open source tool that helps you write Solidity contracts straight from the browser. Written in JavaScript, Remix supports both usage in the browser and locally.

Our smart contract:

This tutorial will use Provable.sol smart contract which is to help users approve an ERC20 token with zero fees.

Provable.sol

How to deploy the Provable smart contract with Remix:

  1. Use remixd:
  • Paste the Provable source code to Remix IDE
  • Wait. What’s wrong!!! The Remix IDE doesn’t detect the import “openzeppelin-solidity/contracts/token/ERC20/ERC20.sol”; Yes, it’s because of ERC20.sol only exists on your local computer. That’s why we need remixd.
  • remixd is a tool that intend to be used with Remix IDE (aka. Browser-Solidity). It allows a websocket connection between Remix IDE (web application) and the local computer.
  • Install remixd: npm install -g remixd
  • Share folder between your local computer and Remix IDE
  • Press connect localhost button on Remix IDE and change the import statement like my screenshot below
  • Congratulations! You can able to press the Deploy button on Remix IDE now.

2. Use solidity flattener:

  • Like the title of this article. Use remixd still not quite easy yet. Let’s imagine something like if we can merge all the import files into one file (Provable.sol). The process will be easy, right?
  • Thanks to him https://github.com/poanetwork/solidity-flattener for making it happens.
  • Let’s clone this repos and use this command: npm start "path_to_not_flat_contract_definition_file.sol" It will generate a Provable_out.sol to ./out directory
  • Paste the content of Provable_out.sol to Remix IDE. It will look like something like this one:
  • Enjoy!!! you can deploy Provable smart contract now.

3. Conclusion:

  • There still many ways to deploy the smart contract to Ethereum blockchain. This article only shows the easiest way I think.

Thanks for reading. If you have any feedback or comment, don’t hesitate to contact me via email: trongdth@gmail.com. The next tutorial will be deploying smart contracts by using ethers.js

Discover and review best Ethereum development tools

📝 Save this story in Journal.

👩‍💻 Wake up every Sunday morning to the week’s most noteworthy stories in Tech waiting in your inbox. Read the Noteworthy in Tech newsletter.

--

--

I’m a peaceful person who wants to make friend with people around the world.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store