# Deploying a Smart Contract

## Prerequisites

Ensure Olatte is installed correctly:

```shell
olatte --version
```

If this command fails, see [Setting up your environment.](https://ola-2.gitbook.io/ola-developer-documents/quick_start/setup_environment)

## Deploying a smart contract

You can write Ola smart contracts using [Ola-lang](https://olang.gitbook.io/ola-lang/) and compile them with olatte, Taking the [vote\_simple.ola](https://github.com/Sin7Y/ola-lang/blob/main/examples/source/storage/vote_simple.ola) contract as an example:

```shell
olatte compile path/to/vote_simple.ola path/of/output/dir
```

This command will generate a bin file and an abi file; the bin file is used for the deployment of the contract:

```shell
olatte deploy --network pre-alpha path/to/MyContract_bin.json
```
