How to Access Solana using Neon EVM - ETHGlobal Bangkok 2024
ETHGlobal·Thu, Oct 9, 2025, 12:00 AM
Join us for a workshop with Daria Agadzhanova from Neon EVM titled, "How to Access Solana using Neon EVM." Join Daria Agadzhanova, DevRel at Neon EVM, in this workshop and learn: - How Ethereum-like transactions are getting processed on Solana through Neon EVM; - What are precompiles and how they can be used to interact natively with Solana; - How to build & perform Solana instructions inside Solidity This workshops took place at ETHGlobal Bangkok, a 3-day hackathon held November 15 to 17 2024, that brought together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com
Transcript
[Music] uh so first let's go into what neon is um we are a virtual ethereum virtual machine on salana so what that means for you as a developer is that you can take your existing solidity code and just go ahead and deploy it with us and then you can interact with your project using your uh favorite ethereum tooling and specifically metamask wallet or any other um evm compa compatible wallet so um because we are running on Solana we kind of combine both The Best of Both Worlds so we have all of the benefits of ethereum so you don't have to change your code you can use Viper or solidity you can use all of the well-known ethereum tooling like metamask hard hat drael remix um also anything Z related you can use the etherum RPC API and then also ethereum accounts signatures and token standards like ERC 721 or rc20 um and then we also bring in salana benefits uh transactions on neon are executed in parallel we have low gas fees High transaction speed access to grow ing Sanic assist and liquidity and also we use Salan consensus mechanism without um any additional infrastructure or need for sequencer um so we have been live on Solana since uh July 2023 and this is the overview of our tooling so we have the evm the proxy server that acts kind of like an API we have a tracer API for debugging um we have neon pass for um sending tokens from salana to Neon and then we have the neon faucet for developers and neon da which is the owner of the neon evm program and the gas fees are extremely low and we also achieve transaction speed of around 2, transactions per second um and this is neon ecosystem so as you can see we um have all of the um standard evm wallets available so metamask trust wallet wallet connect uh we use the same RPC providers as ethereum so um P2P and ever stake we have two explorers uh block Scout on neon scan we support indexers like the graph and Subs squid um we have nft tooling Bridges uh multi uh and uh most important importantly we support all of the de Frameworks that evm developers uh use so uh hardhead Foundry um development platforms like third BB and also uh remix ID uh and this is the overview of the def tooling specifically so as you can see we support uh all of the uh ethereum specific tooling uh also JavaScript libraries op Ze in standard and um so on so this is the overview of neon architecture uh we have um first uh the user who interacts with Neons through a wallet it can be uh salano or VM wallet uh for example metamask uh metamask sends a transaction to a dep front end and then this dep front end forwards it towards our proxy that acts like U RPC and after that uh the RPC forwards the Solana transaction to uh neon evm program on salana where the bite code is translated into Solana instructions and subsequently executed uh on Solana so this is the classic structure of a Solana program uh you can see that is different from uh ethereum it stores data uh in a different way so you have separate accounts for uh your main account then you have program derived accounts and you also have uh token accounts so your uh tokens have each have separate account and now I'll show you how uh neon uses this to um support evm so this is the neon evm program and as you can see we we use uh the free space that is allocated for data in the accounts uh to store some of the evm information so salana allows up to 10 gigabytes or megabytes sorry salana allows uh up to 10 megabytes of storage and neon uses about two uh so in this way we are able to put um evm bite code ether address uh nons balance uh and all of the other relevant information into an account and then use it to execute the transaction um so this is how a neon transaction is packed into salana transaction program um we have an account list and we utilize it to store list of neon accounts um then in the program index we uh store the index of neon evm program and then uh in the data field we store all of the ethereum like uh transaction data like nons gas price uh gas limit value and data uh this is a diagram of how um parallel execution works on neon and Solana so because of how Solana manages data and how it separates um accounts and programs uh due to c-level execution we can run parallel transactions also on Solana um so uh this is how we achieve the speed of up to 2,000 transactions uh per second and another exciting feature is composability so uh composability is the ability to use neon evm and call uh salana transactions through your solidity code so this is an example of how it works Works uh you have your neon evm account which is represented uh through your for example metamask or any other of wallet and then you send an evm transaction to a Sal uh to a call salana uh contract which is an interface for a pre-compile inside of neon evm uh so you call the execute function and you can think about it uh similar uh you can think about it kind of like a delegate call where you pack your uh instruction name of the function and parameters that you want to execute and gets forwarded to the precompile uh inside of neon evm program and then forward it to any salana program that was U marked as a destination in this execute uh function um and this is um actually uh I'm going to show you uh and then it has um functions like get resource address or get neon address that can uh restore relevant information from Solana and mainly they the execute function uh which you can use to call a specific instruction in any program uh on salana um so uh this is a diagram of how transferring to tokens from one account to another works on neon so in this case uh we are transferring usdc coins using composability so we own a neon evm account and then we directly call uh uh salana through the composability feature uh to send some tokens to salana account uh so you can see that we prepare prepar the an evm transaction where we um Mark token to token program at the destination and we want to call the transfer function and we have a destination token signer uh source and amount inputs um it goes to salana precompile inside the evm program and then to salana token program that uh owns the token uh program for usdc and then all uh they both handle the transfer from uh one token Associated account to to another um and I also wanted to show you one of the compossibility transactions so this was a transaction sending uh some salana from one uh neon account uh to a Solana account using compossibility feature uh so we can go into neon scan on our blog Explorer and we will see that one transaction on neon um corresponds to uh what to two transactions on salani in this case uh and we can go and ahead and open it and we'll see that it was actually uh doing the sending so it sent uh One S from the account that neon account owns to uh the destination account uh all through uh just using um solidity code and this is how um it works so you can use uh hard hat and web3js to do this you need to set up your transaction um get some information like public key uh to uh sender account receiver account and then you can just call um the salana instruction uh through web3js and um so in this hackathon we have two tracks and one of them is focused on composability feature so um the one that I talked about so if you call um salana through neon interface uh you will qualify for this one and another one is more mcoin uh and D toolbox focused so for this one you don't need to uh directly interact with salana through neon you can just use um neon evm and Deploy on it um and lastly uh we have um a little overview of um how uh bridging and works from another evml 2 to Sol to Neon and how bridging works not bridging but uh communication Works between neon evm to salana so for example if you're bridging tokens uh from ethereum or polygon you have to use a Bridge which is the bridge in this case and if you're sending um tokens from neon evm to salana you can just use uh our neon pass which essentially wraps tokens uh from salana to be compatible with neon and then when you send them back it kind of works vice versa um and then if you're uh building on neon you can join our developer uh resources we also have uh GitHub where you can see uh all of the examples of our code uh that if you want to go for one of our Bounties in the hackathon um yeah for um Coming thank you um sorry I was a little bit late so I didn't see the contract for the Solana call so there was the Met data and I think yeah account meta that's the account information from Solana yeah yeah this is the so on neon you as a user you interact with your evm account but obviously there uh neon program handles the creation of a corresponding uh Sal account that you own for you and then when you use compossibility you have to yeah use the struct where you essentially pass some uh salana account information especially if you're sending uh for example some SPL or Soul tokens from evm account on neon to another account on Solana specifically so this is what it is for okay so and again I I was late but obviously you guys have this abstraction on of paying the Solana gas using Neon right or should I have some soul on my account in Solana to pray for the guas um so since neon evm like is not an L2 and each of your transactions uh actually executes up Sal on salana you pay for gas and neon but then neon evm program handles the um Gas payment on Solana so you essentially pay for it and actually it is the same thing when you deploy a contract on Solana because of how the account model and rent Works uh it costs you kind of a little bit more because we uh pay for two we want you to pay for two years rent so that your account is yours forever you don't have to pay rent for it okay perfect thank you [Music]
Automatic transcript — names and jargon may be misspelled.