FAQ

Frequently asked questions

Everything on how SolScript works and how it compares. Still stuck? Contact us or read the blog.

Basics

What is SolScript?
SolScript is a Solidity-to-Solana compiler framework. It lets you write Solana smart contracts in familiar Solidity syntax and compiles them to native Solana BPF programs with full Anchor compatibility. It is open source under the MIT license.
Can I deploy Solidity contracts directly to Solana?
Not directly — Solana uses a different virtual machine (BPF, not the EVM). SolScript compiles Solidity-style syntax into native Solana programs. The syntax is familiar, but the output is a Solana program, not an EVM contract.
Do I need to know Rust to use SolScript?
No. You write Solidity-style code and SolScript generates the Rust/Anchor code for you. Understanding the generated code is helpful for advanced debugging, but you never have to write Rust.
Is SolScript free and open source?
Yes. SolScript is open source under the MIT license. The compiler, playground, CLI and VS Code extension are all free to use.

Language & compilation

Does SolScript support all Solidity features?
It supports the most commonly used Solidity features: state variables, mappings, functions, modifiers, events, custom errors, constructors, single inheritance and interfaces. Some EVM-specific features (assembly blocks, delegatecall, selfdestruct) are not applicable to Solana and are not supported.
How do Solidity mappings work on Solana?
Solidity mappings are automatically converted to Solana Program Derived Addresses (PDAs). When you write mapping(address => uint256) public balanceOf, SolScript creates a PDA account for each key, using the key as a seed and deriving the bump automatically. This is transparent to the developer.
What's the difference between Anchor mode and BPF mode?
Anchor mode generates human-readable Rust/Anchor code you can inspect, modify and deploy with standard Solana tools. BPF mode compiles directly to Solana bytecode via LLVM, which is faster but produces a binary rather than source.
Can I use SolScript for production contracts?
SolScript is currently in beta (v0.1.1). It is suitable for prototyping, learning and devnet/testnet deployments. For mainnet contracts handling significant value, audit the generated Anchor code before deployment.

Compared to alternatives

How does SolScript compare to Solang?
Both let you write Solidity for Solana, but they work differently. SolScript generates readable Rust/Anchor source with automatic PDA mapping and a browser playground. Solang (by Hyperledger) compiles Solidity directly to BPF bytecode via LLVM. SolScript emphasises auditable output and browser-based development; Solang emphasises stricter Solidity 0.8 compatibility and Hyperledger backing.
How does SolScript compare to Neon EVM?
Neon EVM runs a full Ethereum Virtual Machine on Solana, so existing Ethereum contracts work with minimal changes. SolScript compiles to native Solana programs with no emulation layer — native performance, at the cost of maximum EVM compatibility.
How does SolScript compare to Seahorse?
Seahorse uses Python syntax and also generates Anchor code; SolScript uses Solidity syntax, targeting the larger Ethereum developer community. SolScript is also the only one of these tools with a browser-based WASM playground.
What are the alternatives for writing Solidity on Solana?
Three main tools: SolScript (transpiles to Anchor/Rust), Solang (compiles to BPF via LLVM) and Neon EVM (full EVM emulation). For Python syntax there is Seahorse; for native Rust there is the Anchor framework.

Explore use cases, how it works, or the comparison pages.