/hardware-bitcoin-wallet

A minimal Bitcoin wallet intended for embedded devices

Primary LanguageCBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Hardware Bitcoin Wallet
by someone42, unless stated otherwise

A minimal Bitcoin (see http://bitcoin.org/ ) wallet for embedded devices. The
wallet is responsible for parsing transactions, prompting the user and signing
transactions. In order to do this, the wallet also stores and manages private
keys, but it does not store anything else. The wallet is not aware of the
blockchain and communicates with a BitCoin client ("the host" from the point
of view of the code here) via. a point-to-point stream-based link.

Everything in the top-level source directory is self-contained and should be
platform-independent. The only platform-dependent file there is common.h,
which should be modified if porting to other platforms. hwinterface.h
describes what platform-dependent functions need to be implemented. The
Makefile in the top-level source directory will build unit tests by compiling
everything with TEST and TEST_x (TEST_AES for aes.c unit tests, TEST_BASECONV
for baseconv.c unit tests, TEST_WALLET for wallet.c unit tests etc.) defined.

Everything in the avr/ subdirectory is specific to the 8 bit AVR platform. The
Makefile in avr/ will produce a (non-testing) binary suitable for programming
an 8 bit AVR device with.