Breakpoint 2023: Solang: Running Solidity Natively on Solana
An introduction to Solang, a tool that compiles Solidity code to run natively on the Solana blockchain.
Summary
During the Breakpoint 2023 conference, Lucas, a representative from Solana Labs, introduced Solang, a novel Solidity compiler designed to facilitate the running of Solidity smart contracts directly on the Solana blockchain. This breakthrough presents a bridge between Ethereum-developed Solidity contracts and the Solana ecosystem, fostering easier portability and reducing the learning curve for Ethereum developers venturing into Solana. Lucas emphasizes the architectural differences between emulating the Ethereum Virtual Machine (EVM) and running code natively on Solana, and he delineates the advantages of native execution such as performance enhancements and direct interaction with Solana's features.
Key Points:
What is Solang?
Solang is a Solidity-to-Solana compiler that enables developers to write smart contracts in Solidity, the programming language widely used on the Ethereum blockchain, and deploy them on Solana without emulation layers. The tool provides developers with an integrated development environment (IDE) file, which is necessary for interacting with smart contracts through TypeScript code. Solang boasts compatibility with the latest Solidity syntax, grants access to Solana-specific features, and is conveniently integrated with the Anchor CLI, a command tool that streamlines the development process on Solana.
Why Is Solang Significant?
Solang is newsworthy because it bridges the gap between two major blockchain platforms: Ethereum and Solana. This compatibility simplifies the transition for developers familiar with Solidity who want to leverage Solana's fast and cost-efficient blockchain. It reduces the need to relearn programming or port entire projects into Rust, which is the primary language used for Solana smart contracts. Furthermore, Solang supports shared libraries and interfaces, allowing codebase reuse across multiple platforms such as Ethereum, Solana, and Polkadot.
How Does Solang Work?
Solidity smart contracts consist of two parts: the bytecode (program account) which executes the code, and the data account which holds the contract's state. Solang compiles Solidity code into Solana bytecode, which is then deployed to a program account. When interacting with the smart contract, such as calling functions or constructing objects, one interacts with both the bytecode and the data account. Solang also integrates leading Solana features like Program Derived Addresses (PDAs) and allows smart contracts to engage directly with native Solana tools such as the SPL token system.
Solang's Readiness and Contributions
Lucas confirms that Solang is production-ready, citing that it has undergone two security audits with all issues addressed, and documentation is readily available. The tool's examples and codebase are open source, allowing for community contributions. Moreover, Solang aims at providing a developer experience on par with that of Rust in the Solana ecosystem. The team actively seeks contributions in the form of tutorials, additional examples, or library enhancements.
Facts + Figures
- Solang compiles Solidity code to run natively on the Solana blockchain.
- It is up to date with the latest Solidity syntax.
- Solang facilitates interactions between Solidity and Solana's native features.
- The Anchor CLI tool is used to initialize, test, and deploy Solidity projects on Solana.
- Unlike EVM emulation approaches, Solang runs contracts natively.
- Solang supports Solidity constructs in Solana such as PDAs and the SPL token system.
- The tool can interact with other contracts created with Anchor Rust.
- It is designed to simplify the transition from Ethereum to Solana for developers.
- Solang has been subjected to two security audits and is considered production-ready.
- The tool and its related resources are open source, with contributions welcomed.
Top quotes
- "Solang is a Solidity compiler that allows developers to write Solidity code and run natively on Solana."
- "You can do almost anything possible on Solidity if you use Solang."
- "We support basically all Solana features."
- "Solang is very easy... you need to learn about Solana."
- "Solang outputs an IDE file for you to call other contracts in Solana."
Questions Answered
What is Solang?
Solang is a tool that compiles Solidity smart contracts so that they can run natively on the Solana blockchain without requiring emulation. This allows developers familiar with Solidity to make use of Solana's capabilities directly.
Why should Ethereum developers care about Solang?
Developers who are well-versed in Solidity can now benefit from the high performance and low cost of Solana without having to rewrite contracts in Rust or learn a new programming paradigm. Solang offers a gentle learning curve and a faster, simpler transition to Solana's growing ecosystem.
What are the benefits of running Solidity natively on Solana with Solang?
Running Solidity natively on Solana using Solang allows developers to utilize the full suite of Solana's features and optimize their smart contracts for performance. It eliminates the overhead associated with EVM emulation and allows direct interaction with core system functions, such as SPL token operations.
How does Solang compare to EVM emulation methods like Neon?
Solang differs from EVM emulation methods like Neon in that it allows Solidity contracts to run directly on Solana's infrastructure, whereas emulation methods recreate an Ethereum-like environment on Solana, which can introduce additional complexity and overhead.
Is Solang ready for production use?
Yes, Solang is ready for production. The project has completed two security audits and resolved identified issues. Documentation and examples are available, and thereβs a strong encouragement for community contributions.
Comments
Please login to leave a comment.
On this page
Related Content
Write Solidity on Solana with Solang (feat. Sean Young, Solana Labs) - Solfate Podcast #31
Solana Changelog May 31: Interfaces, Solang, and Solana ChatGPT
Solana Changelog May 31 - Interfaces, Solang, and Solana ChatGPT
Solana Changelog May 8 - Native Events, Solidity, Gaming
Solana Changelog - August 29th, 2022 - SDK Changes, Address Lookup Tables, Solang & More!
Solana Changelog - July 25 - Events, Pyre, and Anchor
Solana Changelog May 8 - Native Events, Solidity, Gaming
Solana Changelog - July 25 - Events, Pyre, and Anchor
Solana Changelog - August 29th, 2022 - SDK Changes, Address Lookup Tables, Solang & More!
What's Behind the Move Movement? w/ Rushi Manche (Movement Labs)
Solana Ecosystem Call ft. Anatoly Yakovenko (Aug 23)
Solana Changelike: Weekly Updates and Innovations
Solana vs Ethereum: A Compare and Contrast - Solfate Podcast #25
BP 2024: Technical Talk: Open Source X-Ray: Solana Smart Contract Static Analysis
Ship or Die at Accelerate 2025: WalletConnect on Solana
Latest news
Range Raises $8.3M Series A to Build Unified Treasury and Compliance Platform for Stablecoins and Fiat
Superteam Brazil Relaunches Solana-Claude as Solana AI Kit, Available Now on the Claude Code Plugin Marketplace
Jupiter's Limit Order v2 Traded Blockchain Guarantees for Privacy. Here's the Bill.
Pyth Network Adds FX Indices for EUR/USD, GBP/USD, and USD/JPY, Completing Traditional Asset Class Coverage
Confidential Transfers Return to Solana Mainnet After Year-Long Security Pause
Solana Governance: SIMD-553 Targets Compute Unit Mispricing That Distorts Transaction Scheduling
AWS CloudFront Publishers Can Now Charge AI Bots Per Request in USDC on Solana
Phoenix Trade Adds Google, Tesla, and Micron to Its On-Chain Equities Markets With Up to 20x Leverage
Anza and a16z Researchers Publish Gatling: A Protocol Achieving 10ms Slots and 214ms Transaction Latency on Solana
Pye Finance Launches Speedstake, Letting Solana Stakers Sell Future Rewards for Immediate SOL
Solana Token Markets
