// the find
hyperledger-solang/solang
Solidity Compiler for Solana, Polkadot and Stellar
Solang is a Solidity compiler targeting non-EVM chains — Solana (BPF), Polkadot (Wasm via the contracts pallet), and Stellar's Soroban. It uses LLVM as the backend and aims for Solidity 0.8 source compatibility, letting EVM developers port contracts without learning Rust or Anchor. The practical audience is teams with existing Solidity code who want to deploy on Solana or Polkadot without rewriting everything.
LLVM backend means you get real optimization passes (dead storage elimination, common subexpression elimination, strength reduction) that a hand-rolled code generator would skip. The Solana integration is first-class enough that it ships as part of the official Solana Tools Suite, so you don't need a separate install step. The documentation is thorough — per-target compatibility matrices, porting guides, and a Soroban support matrix that honestly lists what isn't implemented yet. The included Solidity formatter (the fmt/ subcrate) is a bonus that most experimental compilers skip entirely.
The v0.4 roadmap shows OpenZeppelin support on Polkadot is still 'in progress', which means you can't rely on battle-tested library contracts and have to port or rewrite them — that's a significant adoption blocker for anything serious. Solana's account model is fundamentally incompatible with Solidity's implicit storage model, so you end up writing Solidity with annotations and constraints that have no Ethereum equivalent, making the 'source compatible' claim misleading for non-trivial contracts. The Soroban target is the newest and least complete; the support matrix shows gaps in type handling and cross-contract calls. Active development by a relatively small team under the Hyperledger umbrella means the blast radius of a key contributor leaving is high for a compiler you'd be betting production contracts on.