Skip to content
Snippets Groups Projects
README.md 1.63 KiB
Newer Older
Hans Moog's avatar
Hans Moog committed
# goshimmer
[![Build Status](https://travis-ci.org/iotaledger/goshimmer.svg?branch=master)](https://travis-ci.org/iotaledger/goshimmer)

capossele's avatar
capossele committed
## Run Shimmer

First, you need to [install Go](https://golang.org/doc/install) if it is not already installed on your machine. It is recommended that you use the most recent version of Go.

### Requirements

capossele's avatar
capossele committed
- gcc: Some packages in this repo might require to be compiled by gcc. Windows users can install [MinGW-gcc](http://tdm-gcc.tdragon.net/download). 
capossele's avatar
capossele committed
## Build

capossele's avatar
capossele committed
If you need to develop locally and be able to build by using your local code, i.e., without waiting for pushing your commits on the repo, clone the repository directly inside the `src/github.com/iotaledger/` folder of your `$GOPATH` with the command:
capossele's avatar
capossele committed

```
git clone git@github.com:iotaledger/goshimmer.git
```

or if you prefer https over ssh

```
git clone https://github.com/iotaledger/goshimmer.git
```

You can build your executable (as well as cross compiling for other architectures) by running the `go build` tool inside the just cloned folder `goshimmer`:

```
go build -o shimmer
```

martingravel's avatar
martingravel committed
On Windows:
```
ren shimmer shimmer.exe
```

You can then run by:
Hans Moog's avatar
Hans Moog committed

martingravel's avatar
martingravel committed
Linux
capossele's avatar
capossele committed
```
./shimmer
martingravel's avatar
martingravel committed
Windows
```
shimmer
```

## Docker

To run Shimmer on docker, you must first build the image with
```
docker build -t iotaledger/goshimmer .
```
and then run it with
```
docker run --rm -it -v target/mainnetdb:/root/mainnetdb iotaledger/goshimmer
```
You may replace `target/mainnetdb` with a custom path to the database folder.

To start Shimmer in the background, you can also simply use [Docker Compose](https://docs.docker.com/compose/) by running
```
docker-compose up -d
```