/TON-Solidity-Compiler

Solidity compiler for Free TON Virtual Machine

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

the TVM Solidity compiler

GitHub Everscale

Port of the Solidity smart-contract compiler generating TVM bytecode for TVM compatible blockchains (Everscale, Venom, Gosh, TON). Please refer to upstream README.md for information on the language itself.

TVM Solidity API reference

API documentation is here

Developer program

Logo

Build and Install

Original Instructions about how to build and install the Solidity compiler can be found in the Solidity documentation.

Sold driver

Documentation is available at README.md (RECOMMENDED).

Building compiler

Ubuntu Linux

git clone https://github.com/tonlabs/TON-Solidity-Compiler
cd TON-Solidity-Compiler
sh ./compiler/scripts/install_deps.sh
mkdir build
cd build
cmake ../compiler/ -DCMAKE_BUILD_TYPE=Release
cmake --build . -- -j8

Make other toolchain utilities aware of the language runtime library location via an environment variable: specify path to stdlib_sol.tvm.

sh ./compiler/scripts/install_lib_variable.sh

Windows 10

Install Visual Studio Build Tools 2019, Git bash, cmake. Run Developer PowerShell for VS 2019

git clone https://github.com/tonlabs/TON-Solidity-Compiler
cd TON-Solidity-Compiler
compiler\scripts\install_deps.ps1
mkdir build
cd build
cmake -DBoost_DIR="..\compiler\deps\boost\lib\cmake\Boost-1.77.0" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded ..\compiler
cmake --build . --config Release -- /m

To facilitate work with other toolchain utilities add path to stdlib_sol.tvm into environment variable TVM_LINKER_LIB_PATH.

Links

License

GNU GENERAL PUBLIC LICENSE Version 3