OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Soll

SOLL is a C++ compiler that converts Solidity and Yul smart-contract source code into Ethereum-flavored WebAssembly (Ewasm) files. Its documented Solidity workflow can also emit contract ABI data. The project targets Solidity-based contracts for the Ewasm VM and includes a Docker-based build and demonstration environment.

Independent OpenViST project profile, based on linked sources.

Soll — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Pull the image with the command below.

    Documented command
    docker pull secondstate/soll
  2. Clone the repository recursively, enter the soll directory, and check out version 0.1.1.

  3. Start the container with the repository mounted at /root/soll.

  4. Inside the container, run mkdir -p build, enter the build directory, then run cmake .. && 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.
Source-based practical guide

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.sol example

Steps

  1. Copy 0-0-3.sol from the repository examples to the home directory.

  2. Run the built soll compiler on 0-0-3.sol to generate the .wasm bytecode.

  3. Run the compiler with --action=EmitABI on 0-0-3.sol to 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.
Evidence and transparency

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