Skip to content

@contracts:solidity.compiler

Compile Solidity source (inline text or a http/ipfs URL) and return the long compiler version (0.8.26+commit.8a97fa7a), ready for verify --compiler. Pass the same options as the matching @solidity call so the cached compile is reused.

⚗️ Experimental — available at next.evmcrispr.com.

Returns: string

@contracts:solidity.compiler(source version:<value> runs:<value> optimizer:<value> via-ir:<value> evm:<value> contract:<value>)
NameTypeDescription
sourcestringSolidity source code, or a URL to fetch it from
version:stringCompiler release, e.g. version:0.8.26 (default: from the pragma)
runs:numberOptimizer runs, e.g. runs:1000 (default: 200)
optimizer:booloptimizer:false disables the optimizer
via-ir:boolvia-ir:true compiles through the IR pipeline
evm:stringEVM version, e.g. evm:cancun
contract:stringTarget contract name when the source defines several
# Get the compiler version string for verification
set $compiler @contracts:solidity.compiler('https://sources.example.com/Counter.sol')
print $compiler