Skip to content
forked from jgarzik/picocoin

A bitcoin library in C, SPV wallet & more.

License

Notifications You must be signed in to change notification settings

libbitc/libbitc

 
 

Repository files navigation

libbitc

GitHub license Segregated Witness

Build Status Coverage Status Coverity Scan Build Status

Join the chat at https://gitter.im/libbitc/libbitc Join the chat at https://irc.gitter.im/#libbitc Join the chat at https://libbitc.slack.com

Open in Gitpod

An itsy-bitsy bitcoin library, with lightweight client and utils.

This contains several pieces of interest:

  • libbitc - C library for building bitcoin applications
  • bitsy - (WIP) Bitcoin HD wallet
  • brd - (WIP) Bitcoin network full node ("block relay daemon")
  • Comprehensive test suite.

libbitc library dependencies: GMP

bitsy client dependencies: GMP

block relay daemon (brd) dependencies: GMP

Command line and configuration file usage

The bitsy wallet is operated via command line, in a similar style to "git sub-command". To obtain a list of commands, run

$ ./bitsy --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

$ ./bitsy 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 "bitsy.wallet"

AES encryption is applied to the wallet. Passphrase is specified via environment variable BITSY_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.

Packages

No packages published

Languages

  • C 97.8%
  • Makefile 1.1%
  • Other 1.1%