Installation

System requirements

If you only want to use the wallet with the corresponding balio tool, you can run it on anything that your go compiler can build for.
For instance, it will work on even the oldest Raspberry Pi model A with 256MB of RAM.

However, in order to run the full node (client), you need a 64-bit OS with a decent amount of RAM.
See the README.md file for the current RAM requirement.

You also need a file system that supports large files (bigger than 4GB) and a decent size of a free space on it.

Note that you can purge blocks from disk, allowing you to run the node with a limited storage (e.g. 20GB).
See config file values: Memory.MaxDataFileMB and Memory.DataFilesKeep (set this one to non-zero, e.g. 10)

The node runs very well on Linux based virtual servers, as long as they have enough RAM.
To quickly assess a performance of a chosen platform, you can use the benchmark below (lower time = better performance).

	package main

	import (
		"fmt"
		"math/rand"
		"time"
	)

	const (
		MAPSIZE = 8
		RECNT   = int(20e6)
	)

	func main() {
		tm := make(map[[MAPSIZE]byte]bool, RECNT)
		var k [MAPSIZE]byte
		fmt.Println("Plase wait...")
		sta := time.Now()
		for i := 0; i < RECNT; i++ {
			rand.Read(k[:])
			tm[k] = true
		}
		fmt.Printf("All %d records loaded in %s\n", RECNT, time.Now().Sub(sta).String())
	}


Build from source

You will need git and go commands installed in your system.

Download the source code from github to a local folder of your choice, e.g. by executing: git clone https://github.com/piotrnar/gocoin.git
Then go to gocoin/client/ and execute go build there. Do the same in gocoin/wallet/, to build the wallet.
In order to build balio or some other tool, go to gocoin/tools/ and do go build balio.go

The process is also described in the main README.md file of the github repo piotrnar/gocoin

Binaries

The binaries (usually not the latest version) for Windows and Linux can be downloaded from sourceforge.net