Tiny bitcoin library, with lightweight client and utils.
This contains several pieces of interest:
- libccoin - C library for building bitcoin applications
- picocoin - (WIP) Bitcoin HD wallet
- brd - (WIP) Bitcoin network full node ("block relay daemon")
- Comprehensive test suite.
libccoin library dependencies: GMP
picocoin client dependencies: GMP libevent 2.x jansson 2.x (2.1 used for development)
block relay daemon (brd) dependencies: GMP libevent 2.x
The picocoin wallet is operated via command line, in a similar style to "git sub-command". To obtain a list of commands, run
$ ./picocoin --help
The program stores settings in a key/value map. These key=value parameters may be specified on the command line via --set, or in a configuration file. To view these settings, run
$ ./picocoin settings
Format: address SPACE port
Manually add P2P node to peer manager.
Specify a pathname to the configuration file.
Specify a pathname to the wallet data file. Default "picocoin.wallet"
AES encryption is applied to the wallet. Passphrase is specified via environment variable PICOCOIN_PASSPHRASE.
Enable additional debug output.
TCP connect(2) timeout.
Select blockchain and network. Reads the "chain" settings variable. Acceptable values are "chain=bitcoin" and "chain=testnet3". Updates internal parameters (pchMessageStart / network magic, genesis block, ...)
Query and display bitcoin DNS seeds, for P2P node addresses.
Display settings map.
Generate a new bitcoin address (ECDSA keypair). Store it in the current wallet,
Initialize a new wallet. Refuses to initialize, if the filename already exists.
Create new HD account.
Synchronize with network: send any pending payments, and check for new incoming payments.
List all legacy non-HD bitcoin addresses in wallet.
Dump entire wallet contents, including all private keys.
Informational summary of wallet data.