Practical overview
When it fits
Use SOLL when your contract is written in Solidity or Yul and your target is Ewasm; first verify that the language constructs you need are covered by its feature guides and known-issues list.
Who it is for
- Smart-contract developers with Solidity or Yul source who need Ewasm bytecode.
- Developers exploring an Ewasm-targeted compiler workflow and willing to check language support against project limitations.
Documented uses
- Compile Solidity smart-contract source into Ewasm `.wasm` bytecode.
- Compile Yul source into Ewasm `.wasm` bytecode.
- Emit ABI information for a Solidity contract as a separate compiler action.
- Build the compiler using the documented Docker, CMake, and Make workflow.
Requirements & limits
The project repository is public and identifies SOLL as open source. The README recommends Docker for its demonstration environment and lists dependencies for a manual setup.
- The target is Ewasm rather than a general-purpose EVM compilation workflow.
- The recommended build environment uses Docker; manual setup lists LLVM 10, CMake, Make, Binaryen, WABT, and Clang 10 or g++ 9, among other dependencies.
- The README reports incomplete language support: 27 of 80 Solidity compilation tests and 393 of 499 Yul tests passed in the cited suites.
- The official Ewasm TestNet is described as unavailable; the README points to Second State DevChain for another Ewasm test environment.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build SOLL in the documented Docker environment
Prepare the repository and build SOLL using the recommended Docker image.
Before you start
- Docker
- The secondstate/soll Docker image
- Git
Steps
Pull the image with the command below.
docker pull secondstate/sollClone the repository recursively, enter the
solldirectory, and check out version 0.1.1.Start the container with the repository mounted at
/root/soll.Inside the container, run
mkdir -p build, enter the build directory, then runcmake .. && make.
Expected outcome
A SOLL build produced through the README's Docker-based CMake and Make workflow.
Guide limitations
- The README describes this as a demonstration setup and says Solidity and Yul support is incomplete.
- The official Ewasm TestNet is unavailable; this recipe covers building, not deployment.
Compile a Solidity example to Ewasm and emit its ABI
Generate Ewasm bytecode and ABI from the documented Solidity demonstration contract.
Before you start
- A built SOLL compiler in the documented Docker environment
- The repository's
docs/examples/0-0-3.solexample
Steps
Copy
0-0-3.solfrom the repository examples to the home directory.Run the built
sollcompiler on0-0-3.solto generate the.wasmbytecode.Run the compiler with
--action=EmitABIon0-0-3.solto output the contract ABI.
Expected outcome
The example workflow produces a `.wasm` file and ABI output for the Solidity contract.
Guide limitations
- SOLL's Solidity support is incomplete; consult its feature guide and known issues for language limitations.
- The README reports 27 of 80 Solidity compilation tests passing in its cited test suite.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- second-state/SOLL · Official homepage title · retained in its source language

