Neon EVM: How to Deploy dApps Using Remix

Neon Labs
Neon Labs
Published in
4 min readSep 21, 2022

Deploying a decentralized application, or dApp for short, is the final stage of any developer’s process of bringing their vision of a crypto project to reality. Neon’s features as an Ethereum Virtual Machine (EVM) on Solana make it suitable for cheap and simple deployment of dApps written in Solidity. In this article series about dApp deployment, we will illustrate how to deploy a simple “Hello World” dApp using three different deployment tools: Remix, Truffle, and Hardhat.

This article will focus on deploying dApps with Remix. Remix is an online IDE for Solidity programs and can be used to run code without any local installation. This makes it convenient for deploying dApps from anywhere, so long as the user has the contract source code. However, since it is an online environment, its capacity for supporting large, complex projects is limited. Therefore, Remix should be used primarily for simple code, which can be deployed with ease and requires minimal dependency management.

Before You Begin

Before you start the tutorial below, make sure that the following is true:

  • MetaMask is installed on your device.
  • MetaMask is configured for the Neon EVM.

To install and configure MetaMask, follow this guide.

Hello World Tutorial

The following tutorial will explain how to deploy a simple Hello World contract to the Neon Devnet using Remix.

Step 1: Create a Simple Smart Contract in Remix

To add a smart contract to Remix, go to https://remix.ethereum.org, click on the “Create New File” icon, and type “helloWorld.sol” in the field that appears. Then, paste the following code into the empty file and press CTRL+S to save the smart contract file.

The process should look like in the image below (Fig. 1).

Fig. 1 — Loading the helloWorld smart contract

Step 2: Compile the Smart Contract

Before the smart contract can be deployed, it must first be compiled. To accomplish this, select the “Solidity compiler” tab in the left side menu. The SOLIDITY COMPILER menu will appear.

Click on the Compile helloWorld.sol button to compile the smart contract (Fig. 2).

Fig. 2 — Compiling helloWorld smart contract

If the compilation is successful, a green icon will appear near the Solidity compiler button.

Step 3: Connect Remix to MetaMask

Interactions between Remix and the Neon EVM are carried out through MetaMask. Before connecting Remix to MetaMask, select “Deploy & run transactions” in the left sidebar menu. The DEPLOY & RUN TRANSACTIONS menu will appear.

Choose the “Injected Provider — Metamask” environment to connect Remix with an active account in MetaMask (Fig. 3). Make sure that your MetaMask wallet is set to display the Neon Devnet network before you complete this step.

Fig. 3 — “Injected Provider” connects Remix with an active account in Metamask

Once you do this, the MetaMask pop-up window should appear. It will display a list of available accounts, if you have multiple accounts. Choose your desired account and click “Next”. Then, click “Connect” to connect to this account.

Step 4: Deploy a Smart Contract on Solana Devnet

The contract is finally ready to be deployed by clicking the “Deploy” button (Fig. 4).

Fig. 4 — Deploying the smart contract

MetaMask will send a notification in the form of a pop-up window to confirm the transaction. Click “Confirm” to execute it.

If all the above steps have been completed successfully, a green icon will appear near the “Deploy & run transactions” button. The contract’s methods will now be present as buttons under the “Deployed Contracts” section (Fig. 5).

Fig. 5 — Final view of the Remix panel

Finally, to obtain the desired ‘Hello World’ functionality, click on the “callHelloWorld” button, which will return the string “Hello World!” (Fig. 6).

Fig. 6 — Calling the smart contract methods

Conclusion

Fortunately, for Solidity developers new to using Neon, Remix is a quick and easy solution for contract deployment. It allows this deployment to occur from any device and does not require any specific local installations or settings. However, as it is an online IDE, its security is limited (don’t include any mainnet private keys in your contract code here!) and it will not work well with large projects. Therefore, Remix is best for testing smaller contracts when a quick check is desired.

Visit our docs for a complete tutorial on using Remix to deploy your dapps.

--

--