Skip to content
This repository has been archived by the owner on Feb 15, 2024. It is now read-only.

jgarzik/picocoin

Repository files navigation

Picocoin

GitHub license Build Status Coverage Status

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

Command line and configuration file usage

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

Recognized parameters

addnode

Format: address SPACE port

Manually add P2P node to peer manager.

config (alias "c")

Specify a pathname to the configuration file.

wallet (alias "w")

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.

debug

Enable additional debug output.

net.connect.timeout

TCP connect(2) timeout.

Recognized commands

chain-set

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, ...)

dns-seeds

Query and display bitcoin DNS seeds, for P2P node addresses.

settings

Display settings map.

address

Generate a new bitcoin address (ECDSA keypair). Store it in the current wallet,

create

Initialize a new wallet. Refuses to initialize, if the filename already exists.

createAccount

Create new HD account.

netsync

Synchronize with network: send any pending payments, and check for new incoming payments.

addressList

List all legacy non-HD bitcoin addresses in wallet.

dump

Dump entire wallet contents, including all private keys.

info

Informational summary of wallet data.

About

A bitcoin library in C, SPV wallet & more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages