# Sourced Local Dev Setup

{% hint style="info" %}
These settings are only for development use of Source Chain on a local machine.
{% endhint %}

Want to use `sourced` locally for development, or to work with smart contracts? You're in the right place. To get started with smart contract development, we recommend running on a laptop until you are ready to deploy to a public testnet.

## Local Source Chain set up with Ignite CLI

### Install Pre-requisites

#### Install Go

Follow the instructions [here](https://golang.org/doc/install) to install Go.

For an Ubuntu LTS, you can probably use:

```bash
ver="1.19" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version
```

Please install Go v1.19 or later.

#### Install Ignite Cli

Follow the instructions [here](https://docs.ignite.com/guide/install) to install Ignite CLI. (Ignite CLI can also be used in an online Gitpod container [here](https://gitpod.io/#https://github.com/tendermint/starport/tree/master))

```
sudo curl https://get.ignite.com/cli! | sudo bash
```

#### Clone Source Chain Repo

```
git clone https://github.com/Source-Protocol-Cosmos/source.git
```

#### Compile sourced binary and start the local chain

```
cd ~/source
git fetch
git checkout v3.0.0
ignite chain serve
```

Your local chain should now be running in development mode with two funded genesis accounts and a single validator for testing purposes.
