# User Manual

## Node and wallet

The two basic components of the software are:

- client - a bitcoin node that must be connected to Internet
- wallet - a wallet app, that is designed to be used (for security) on a network-free PC

## Tools

There are also some additional tools:

- base58 - encode / decode base58 data
- bootdat_qt - convert gocoin's block database to `bootstrap.dat` file (for bitcoin-qt)
- btcversig - verify a messages signed with bitcoin address.
- fetchbal - fetch your balance (in a format recognized by the wallet) from block explorers
- fetchtx - downloads a raw transaction from blockexplorer.com, storing it in a binary file
- goc - command line client to remote control the client node via its web interface (with no browser required)
- importblocks - import block database from the satoshi client
- mkmulti - create a multisig address
- peers - display a content of gocoin's peers database
- stealth - decode a stealth address
- txaddsig - add a signature (generated somewhere else) to a raw transaction
- type2determ, type2next - generate public addresses for type-2 deterministic wallets

## Using wallet without a node

It is also possible to use the wallet without the client. For this purpose there is a tool called balio. It can fetch the balance of your wallet from popular block explorers and save it in the format recognized by gocoin's wallet. You can find it in the `tools/` folder. Execute "`go build balio.go`" to compile it, or run it without compiling with: `go run` `balio.go <your_bitcoin_addresses>`
Note: This tool does not support fetching balances of stealth addresses. You need the client node to fetch a balance of a stealth addresses.

## User interface

All the applications are console only (no GUI window), though the client node has a fairly functional and quite convenient web interface (to be controlled via a web browser).