getting-started.md
August 5, 2025 · View on GitHub
To start using TSA, you can either use the prebuilt artifacts (depending on your operating system) or build the artifacts yourself from the source code.
Running Prebuilt Artifacts
Linux/MacOS
Using a Docker Container
{% highlight bash %} docker run --platform linux/amd64 -it --rm -v [SOURCES_DIR_ABSOLUTE_PATH]:/project ghcr.io/espritoxyz/tsa:latest [ANALYZER_OPTIONS] {% endhighlight %}
Here:
SOURCES_DIR_ABSOLUTE_PATH– the absolute path to the directory containing the source code of the project you want to analyze;ANALYZER_OPTIONS– analyzer options (see details, or use the--helpoption).
NOTE: All paths in ANALYZER_OPTIONS must be RELATIVE to SOURCES_DIR_ABSOLUTE_PATH.
For example, to analyze inter-contract interactions between two FunC contracts located in sender.fc and receiver.fc, run the following command:
{% highlight bash %} docker run --platform linux/amd64 -it --rm -v [SOURCES_DIR_ABSOLUTE_PATH]:/project ghcr.io/espritoxyz/tsa:latest inter /project/[FIRST_CONTRACT_RELATIVE_PATH] /project/[SECOND_CONTRACT_RELATIVE_PATH] --fift-std /project/[PATH_TO_FIFT_STDLIB_DIR] {% endhighlight %}
Using JAR Executables
The Releases page provides a JAR executable:
tsa-cli.jar
Before using it, ensure you have the following installed:
Then, you can run the analysis in the standard error-checking/tests generation mode or with checker mode:
{% highlight bash %} java -jar tsa-cli.jar {% endhighlight %}
Windows
Currently, TSA is not supported on Windows.
Building from sources
- Install all prerequisites:
- At least
JDK 11- any preferred build - Gradle
- NodeJS
- Tact compiler
- FunC and Fift compilers
- At least
- Clone this repository
- Ensure
tact,func, andfiftare in your$PATH - Run
./gradlew tsa-cli:shadowJarfrom the root of the project to build error-checking analysis tool (will be located in build dir)