# Build on Source Code

Download SwipeNode source code from Github

```bash
sudo apt-get update
sudo apt-get -y upgrade
sudo apt install -y curl vim git build-essential jq

wget https://dl.google.com/go/go1.15.5.linux-amd64.tar.gz
tar -xvf go1.15.5.linux-amd64.tar.gz
mv go /usr/local
rm go1.15.5.linux-amd64.tar.gz # cleanup

export GOROOT=/usr/local/go
export GOPATH=~/go
export GOBIN=$GOPATH/bin
export PATH=$GOBIN:$GOROOT/bin:$PATH

git clone https://github.com/SwipeWallet/swipechain-node.git

cd swipechain-node
make install tools
```

Ensure you have a recent version of go (ie `1.15`) and enabled go modules And have `GOBIN` in your `PATH`

```
export GOBIN=$GOPATH/bin
```

#### Automated Install Locally

Install via this `make` command.

```bash
make install
```

Once you've installed `swipecli` and `swiped`, check that they are there {GOBIN} folder swipecli and swiped generated.

```bash
swipecli help
swiped help
```

#### Start Standalone Full Stack

For development and running a full chain locally (your own separate network), use the following `make` command.

```bash
make -C build/docker reset-mocknet-standalone
```

#### Format code

```bash
make format
```

#### Build all

```bash
make all
```

#### Test

Run tests

```bash
make test
# test with NATIVE SXP
NATIVE=true make test
```

To run test live when you change a file, use...

```
go get -u github.com/mitranim/gow
make test-watch
```
