BitcoinArmory

Python-Based Bitcoin Software

Subscribe to updates I use BitcoinArmory


Statistics on BitcoinArmory

Number of watchers on Github 617
Number of open issues 189
Average time to close an issue about 1 month
Main language C++
Average time to merge a PR 19 days
Open pull requests 29+
Closed pull requests 39+
Last commit about 3 years ago
Repo Created almost 7 years ago
Repo Last Updated 8 months ago
Size 86.9 MB
Organization / Authoretotheipi
Contributors8
Page Updated
Do you use BitcoinArmory? Leave a review!
View open issues (189)
View BitcoinArmory activity
View on github
Latest Open Source Launches
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating BitcoinArmory for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Armory

Created by Alan Reiner on 13 July, 2011

Armory is a full-featured Bitcoin client, offering a dozen innovative features not found in any other client software! Manage multiple wallets (deterministic and watching-only), print paper backups that work forever, import or sweep private keys, and keep your savings in a computer that never touches the internet, while still being able to manage incoming payments, and create outgoing payments with the help of a USB key.

Multi-signature transactions are accommodated under-the-hood about 80%, and will be completed and integrated into the UI soon.

Armory has no independent networking components built in. Instead, it relies on on the Satoshi client to securely connect to peers, validate blockchain data, and broadcast transactions for us. Although it was initially planned to cut the umbilical cord to the Satoshi client and implement independent networking, it has turned out to be an inconvenience worth having. Reimplementing all the networking code would be fraught with bugs, security holes, and possible blockchain forking. The reliance on Bitcoin-Qt right now is actually making Armory more secure!

Donations

Please take a moment to donate! 1ArmoryXcfq7TnCSuZa9fQjRYwJ4bkRKfv

bitcoin:1ArmoryXcfq7TnCSuZa9fQjRYwJ4bkRKfv

Building Armory From Source

See instructions here

Dependencies

  • GNU Compiler Collection
    Linux: Install package g++

  • Crypto++
    Linux: Install package libcrypto++-dev
    Windows: Download

  • SWIG
    Linux: Install package swig
    Windows: Download
    MSVS: Copy swigwin-2.x directory next to cryptopp as swigwin

  • Python 2.6/2.7
    Linux: Install package python-dev
    Windows: Download

  • Python Twisted -- asynchronous networking
    Linux: Install package python-twisted
    Windows: Download

  • PyQt 4 (for Python 2.X)
    Linux: Install packages libqtcore4, libqt4-dev, python-qt4, and pyqt4-dev-tools
    Windows: Download

  • qt4reactor.py -- combined eventloop for PyQt and Twisted
    All OS: Download

  • pywin32
    Windows Only: qt4reactor relies on pywin32 (for win32event module). Download

  • py2exe
    (OPTIONAL - if you want to make a standalone executable in Windows)
    Windows: Download

Sample Code

Armory contains over 25,000 lines of code, between the C++ and python libraries. This can be very confusing for someone unfamiliar with the code (you). Below I have attempted to illustrate the CONOPS (concept of operations) that the library was designed for, so you know how to use it in your own development activities. There is a TON of sample code in the following:

License

Distributed under the GNU Affero General Public License (AGPL v3)
See LICENSE file or here

Copyright

Copyright (C) 2011-2015, Armory Technologies, Inc.

BitcoinArmory open issues Ask a question     (View All Issues)
  • about 2 years armory_0.93.3_ubuntu-64bit.deb fails to install on Linux Mint KDE edition 17.3, is corrupt
  • about 2 years any updates to the wallet?
  • over 2 years INFO: Maintainer change - This repo seems to be unmaintained for now
  • almost 3 years Releases and Change Logs
  • almost 3 years TypeError in BlockDataManagerConig_blkFileLocation_set (2nd argument)
  • about 3 years Error when sending lockbox TX
  • over 3 years Armory's installer should ask where to save the data directory
  • over 3 years Unable to use 0.93.1 segmentation fault: not enough memory
  • over 3 years Armory crashes after `BlockDataManager Warning`
  • over 3 years Invalid signature when preparing lockbox TX
  • over 3 years SatoshiDatadir setting is ignored when doAutoBitcoind is false
  • over 3 years Icon 'armorytestneticon' for 'armorytestnet.desktop' is missing
  • over 3 years [security feature suggesiton] Should only allow wallet files with restrictive permissions
  • over 3 years python-2.7 errors
  • over 3 years [GUI] Transaction Info window, Click for more info link broken
  • over 3 years [GUI] Can't close Address Information window
  • over 3 years Connection lost notification is incorrectly shown on Armory close
  • over 3 years [Secure Downloader] Incorrect downloads showing for OS X 10.10
  • over 3 years 0.93 Ubuntu Offline Bundle Fail
  • over 3 years Crash when running Armory-0.93.0 from Ubuntu 12.04.4 Live DVD
  • over 3 years Missing API feature to import/export lockbox
  • almost 4 years Automatic comment backup?
  • almost 4 years make compile instructions available again
  • almost 4 years make test fails with segfault on v0.92.3
  • almost 4 years Remove Export Key Lists from Standard User View
  • almost 4 years Crash report in Ubuntu
  • almost 4 years Creating Multiple Lockboxes With Same Public Keys Overwrites Previous Lockbox
  • almost 4 years Armory crashes on startup if armorycpplog.txt is too big
  • almost 4 years armoryd.py AttributeError on python 2.6
  • about 4 years No 0.92.3 update for OSX 10.9.5?
BitcoinArmory open pull requests (View All Pulls)
  • fix context menu bug
  • Reactor is necessary for this to work
  • Fixed a small typo
  • Restrict IPC port to local connections
  • Allow defaults to be overwritten
  • Autotools and Gitian in a single change set to be merged into master
  • Updated copyright/license date to 2015 for new year.
  • Make python path environment based, and compiler path overridable by the caller
  • Freebsd comptibility patch
  • Fix slow and potentially-error-prone scan for mimeTypes.rdf
  • Fix the makefile because the desktop files have changed
  • fix typos in qtdialogs.py
  • Installer tweaks
  • README: Added Python psutil to the list of dependencies.
  • add asset-proof.py
  • Two quick typo corrections
  • fedora 19 build fixes
  • Commit fixes #98 (Add array/dict support to armoryd sendmany)
  • Raspberry Pi compile compatibility
  • Fix typo
  • Convert tuple to list in getUsableTxOutList()
  • Replace references to generic python with references to generic python2
  • Make extractKeysFromWallet.py print private keys in base58 format
  • Fix for unclickable links in version check dialog
  • Update armoryengine.py
  • Recognize compressed keys as standard as well
  • Dev
  • Fix broken headings in Markdown files
  • Replacing readme with clear deprecation note
Other projects in C++