# Solo

## What is Solo?​

Solo is a testing framework that allows developers to validate real smart contracts and entire inter-chain protocols before deploying them on the distributed network.

## Installation​

Solo tests are written in Go. Go (version 1.16) needs to be installed on your machine.

Solo is part of the Wasp codebase repository. You can access the Solo framework by cloning the repository with the following command:

git clone https://github.com/iotaledger/wasp.git

Alternatively, you can install the Solo package separately using the following command:

In Linux/macOS:

go get github.com/iotaledger/wasp/packages/solo

In Windows:

go get -buildmode=exe github.com/iotaledger/wasp/packages/solo

To run Rust/Wasm smart contracts you will also need Rust and wasm-pack installed. You can use any development environment for Rust and Go. The GoLang environment with the Rust plugin is a good combination.

You can find example implementations of smart contracts (including source code and tests) in the Wasp repository, in the contracts/wasm folder.

tip

You can find the documentation for all the functionalities available in solo in go-docs.

In the following pages some usage examples will be presented. The example code can be found in the Wasp repository.