Full bitcoin solution written in Go (golang)
Go HTML Other
Latest commit 9a96d3e Dec 1, 2016 @piotrnar No commit message
Permalink
Failed to load latest commit information.
client No commit message Dec 1, 2016
lib No commit message Nov 19, 2016
tools No commit message Nov 12, 2016
wallet No commit message Nov 27, 2016
website No commit message Nov 19, 2016
.gitignore Former-commit-id: 6cd8af0 Jun 6, 2014
LICENSE No commit message Sep 28, 2016
README.md No commit message Sep 29, 2016
changelog.txt No commit message Nov 6, 2016
todo.txt No commit message Nov 6, 2016
version.go No commit message Oct 28, 2016

README.md

Binaries

Windows or Linux (amd64) binaries can be downloaded from

Please note that the binaries are usually not up to date. I strongly encourage everyone to build the binaries himself.

About Gocoin

Gocoin is a full Bitcoin solution written in Go language (golang).

The wallet combined with balio tool also provides a working solution for Litecoin.

The software's architecture is focused on maximum security and good performance.

The client (p2p node) is an application independent from the wallet.

The wallet is deterministic and password seeded. As long as you remember the password, you do not need any backups of your wallet.

There is additional tool called downloader that can quickly sync (download) the blockchain state from the p2p network. Use it for the initial blockchain download or to sync your client after having it offline for a longer time.

In addition there is also a set of more and less useful tools. They are all inside the tools/ folder. Each source file in that folder is a separate tool.

Documentation

The official web page of the project is served at gocoin.pl where you can find extended documentation, including User Manual.

Requirements

Hardware

client / downloader:

  • 64-bit architecture OS and Go compiler.
  • File system supporting files larger than 4GB
  • At least 8GB of system memory.

wallet:

  • Any platform that you can make your Go (cross)compiler to build for (Raspberry Pi works).
  • For security reasons make sure to use encrypted swap file (if there is a swap file).
  • If you decide to store your password in a file, have the disk encrypted (in case it gets stolen).

Operating System

Having hardware requirements met, any target OS supported by your Go compiler will do. Currently that can be at least one of the following:

  • Windows
  • Linux
  • OS X
  • Free BSD

Build environment

Since no binaries are provided, in order to build Gocoin yourself, you will need the following tools installed in your system:

If the tools mentioned above are all properly installed, you should be able to execute go and git from your OS's command prompt without a need to specify full path to the executables.

Getting sources

Use go get to fetch and install the source code files. Note that source files get installed within your GOPATH folder.

go get github.com/piotrnar/gocoin

Building

Client node

Go to the client/ folder and execute go build there.

Wallet and downloader

Go to the wallet/ folder and execute go build there.

Go to the downloader/ folder and execute go build there.

Tools

Go to the tools/ folder and execute:

go build btcversig.go

Repeat the go build for each source file of the tool you want to build.

Development

Although it is an open source project, I am sorry to inform you that I will not merge in any pull requests. The reason is that I want to stay an explicit author of this software, to keep a full control over its licensing. If you are missing some functionality, just describe me your needs and I will see what I can do for you. But if you want your specific code in, please fork and develop your own repo.