0%
Overview page background
HomeOverviewsSolana
An Introduction to the Solana EVM

An Introduction to the Solana EVM

Written by Shray Jain

Brady Werkheiser headshot

Reviewed by Brady Werkheiser

Published on August 5, 20224 min read

A virtual machine is a building block of a virtualized computing resource that exhibits nearly all the same functionality as a computer, including running applications and operating systems. This concept of the virtual machine is not novel. The technology is used across numerous technology ecosystems. 

The largest smart contract development platform, Ethereum, uses an Ethereum Virtual Machine (EVM) to run smart contracts on a globally distributed network of nodes. Because there are a lot of developers building Ethereum applications, EVM-compatible blockchains, and people using Ethereum, creating a Solana EVM to make Ethereum smart contracts compatible with Solana's rust-based blockchain is advantageous.

This article will explain the Solana EVM, its benefits, limitations, and how it is currently being used.

A Solana EVM is a software platform that enables decentralized applications (dApps) and transactions on the Ethereum blockchain network to also be processed by the Solana blockchain. 

The EVM is an abstraction layer separating a physical machine (the node) from the smart contract code. Since all Ethereum nodes run some instance of an EVM, they form a universal web or globally decentralized computer.

Ethereum boasts one of the most established Web3 communities, with the most popular blockchain wallets, DeFi platforms, developer tools, and NFT projects, but there are obvious bottlenecks. Ethereum’s dynamic growth has contributed to high transaction costs and low throughput for a large addressable user and developer base. 

In contrast, Solana provides end-users with rapid transaction speeds and low transaction expenses. Before the introduction of the Solana EVM, porting over Ethereum projects onto the Solana network was impractical because of differences between Solidity and Rust programming languages and other developer tooling

The Solana EVM enables Ethereum developers to leverage their familiarity and experience with Solidity, developer tooling, and existing codebases to scale their applications on Solana. 

Yes, the Solana blockchain network is EVM compatible using Solana EVMs like the EVM built by Neon Labs.

EVM compatibility allows Ethereum-based smart contracts and projects to deploy on a compatible blockchain. In general, interoperability between blockchains is one of the biggest issues that the industry is currently trying to solve, and EVM compatibility is a step in the right direction. 

Due to the burgeoning user base and increasing volume of dApps, it became unsustainable to maintain low costs and high transaction speeds on the Ethereum network. Noticing these rising problems, other permissionless blockchains reacted by offering infrastructure that could support faster transactions and lower gas fees. 

Instead of devising a new way of implementing smart contracts, developers simply emulated parts of the Ethereum network. This resulted in time savings, reduction in knowledge transfer costs, and cut back on development requirements. Many new blockchain platforms now support the EVM to attract users, talent, and innovation present in the Ethereum ecosystem. 

Though it’s still early, the benefits of using a Solana EVM  include efficient scaling, better accessibility to the Solana ecosystem, the ability to use complimentary tools across chains, easy porting of smart contracts, and providing access to more users.

As a result of the Solana network, web3 developers can take advantage of low gas fees and high throughputs due to its parallel processing (Sealevel) and novel innovations such as Proof-of-History which enables 400ms block times.

Ethereum developers and creators can gain access to the Solana developer, DeFi, and NFT ecosystem by migrating or extending their application using a Solana EVM.

Instead of learning how to use new tools, EVM developers can seamlessly continue using tools that they are already familiar with like MetaMask, Truffle, and Waffle. 

Existing dApps on Ethereum can be ported over to Solana Programs (i.e. Solana smart contracts) without any reconfigurations of the underlying smart contracts. 

Using a Solana EVM means the Ethereum ecosystem’s consumers, talent, and innovation follow and can more easily adapt projects to both blockchains.

The first EVM on Solana was created by Neon Labs, which brings together the benefits of the Ethereum infrastructure with the scalability and liquidity of Solana. 

The Neon EVM is a cross-chain solution that allows dApp developers to access the advantages of Solana to expand their services, offering new products like arbitrage or high-frequency trading, grow their user base, and decrease costs where possible, including gas fees.

The Neon EVM enables Ethereum transactions to process on Solana, taking full advantage of the functionality native to Solana, including the ability to execute transactions in parallel. To facilitate this parallel execution of smart contracts, the Neon EVM ensures that each contract keeps its data in its own Solana storage and account balances used to pay for Neon transactions stay updated. 

The Neon EVM works as a smart contract on the Solana blockchain. This means that the contract can interact with and call other smart contracts on Solana such as SPL tokens. The Neon EVM can access data stored on Solana accounts, and every Ethereum-like account within the Neon EVM is stored in a corresponding Solana account. 

Neon Labs has also developed complementary tools for developers and creators to maximize the user experience of their Solana EVM. 

The ERC-20/SPL wrapper is the implementation of the ERC-20 interface for SPL tokens that ensures Solana applications interact with Neon EVM contracts.

The original ERC-20 tokens are wrapped in the SPL tokens so that they can operate with Solana wallets and programs. Transferring SOL/SPL tokens using Ethereum wallets such as MetaMask can also be achieved using the wrapper.

The quickest way to get started with the Neon EVM is to install MetaMask and then proceed with connecting your MetaMask wallet to the NeonEVM devnet using Chainlist or manually.

Here's how to connect to a new chain in MetaMask:

  • Neon EVM testnet RPC server address: https://proxy.devnet.neonlabs.org/solana

  • ChainID: 245022926.

  • Faucet: https://neonfaucet.org/

Interested developers can learn more about the Neon EVM through the NeonEVM documentation, and once you're on the Solana devnet, developers can request test NEON tokens using the NeonFaucet website or by using the NeonFaucet API. 

When you're ready to launch your Solana app into production, upgrade to a reliable Solana RPC provider like Alchemy for a seamless developer experience.

Solana EVMs combine the benefits of Ethereum with the speed and efficiency of the Solana blockchain network.

This focus on EVM compatibility will help spur the next generation of applications to become multi-chain, induce network effects, and improve the overall user experience as engagement migrates towards scalable technology.

To begin using Solana on Alchemy, head over to the Solana API documentation and find out what Solana methods Alchemy supports

Overview cards background graphic
Desktop section background image

Build blockchain magic

Alchemy combines the most powerful web3 developer products and tools with resources, community and legendary support.

Get your API key