Compiler Pipeline
8-stage Solidity-to-NeoVM compilation: lexing, parsing, semantic analysis, IR lowering, optimization (O0โO3), code generation, manifest emission, and NEF packaging.
Architecture docs
Production-grade compiler that transforms Solidity 0.8.x contracts into deployable NeoVM artifacts (.nef + .manifest.json) with full EVM-to-Neo semantic mapping, permission hardening, and deploy/test workflows.

Neo Solidity is a Rust-based compiler and toolchain that translates Solidity smart contracts into Neo N3 artifacts. It produces two files per contract:
.nef -- NeoVM executable bytecode, ready for on-chain deployment.manifest.json -- contract manifest with ABI, permissions, supported standards, and metadataThe compiler is designed for practical deployability and auditability. It enforces strict manifest permission controls, emits explicit compatibility diagnostics where EVM semantics diverge from Neo, and integrates with Neo-Express for local smoke testing before mainnet deployment.
Unlike transpilation approaches that attempt to emulate EVM behavior on NeoVM, Neo Solidity performs native semantic mapping -- translating Solidity constructs directly to their Neo N3 equivalents while preserving developer intent.

The compilation pipeline processes Solidity source through eight stages to produce deployment-ready Neo N3 artifacts:
Each stage produces diagnostics. The optimizer supports four levels (O0--O3), and the code generator emits both NeoVM bytecode and the contract manifest in a single pass.
# Install from source
git clone https://github.com/r3e-network/neo-solidity.git
cd neo-solidity && cargo install --path .
# Compile a contract
neo-solc contract.sol -O2 -o contract
# Deploy to Neo-Express (local)
neoxp contract deploy contract.nef contract.manifest.json
# Run production gate (format + lint + build + tests + deploy smokes)
make production-gate