/solidity

Fork of the Solidity Compiler for compiling Solidity to IELE

Primary LanguageC++GNU General Public License v3.0GPL-3.0

The Solidity to IELE Compiler

This is the Solidity to IELE compiler, a fork of the Solidity compiler targeting the IELE virtual machine (instead of the EVM).

To learn more about the supported Solidity features and the main differences between the IELE and EVM compilers, see README-IELE-SUPPORT.

Useful links

To get started you can find an introduction to the language in the Solidity documentation. In the documentation, you can find code examples as well as a reference of the syntax and details on how to write smart contracts.

You can start using Solidity in your browser with no need to download or compile anything.

The changelog for this project can be found here.

Solidity is still under development. So please do not hesitate and open an issue in GitHub if you encounter anything strange.

Building

Prerequisites

Dependencies

To easily install the required dependencies on your system, run

sudo ./scripts/install_deps.sh

We have successfully tested the script on the following operating systems:

  • Darwin
  • Ubuntu
  • Arch Linux
  • Debian
  • Fedora
  • Alpine Linux

Build the compiler

mkdir build
cd build
cmake ..
make

Usage

Use the compiler like this:

./build/solc/isolc --asm <solidity file>

To run the compilation tests:

./test/ieleCmdlineTests.sh

Failed tests reported are stored in test/failed, clean them before rerunning:

rm -rf test/failed