Announcing: Fourmilab Blockchain Tools

Fourmilab Blockchain Tools provide a variety of utilities for users, experimenters, and researchers working with blockchain-based cryptocurrencies such as Bitcoin and Ethereum. These are divided into two main categories.

Bitcoin and Ethereum Address Tools

These programs assist in generating, analysing, archiving, protecting, and monitoring addresses on the Bitcoin and Ethereum blockchains. They do not require you run a local node or maintain a copy of the blockchain, and all security-related functions may be performed on an “air-gapped” machine with no connection to the Internet or any other computer.

  • Blockchain Address Generator creates address and private key pairs for both the Bitcoin and Ethereum blockchains, supporting a variety of random generators, address types, and output formats.

  • Multiple Key Manager allows you to split the secret keys associated with addresses into n multiple parts, from which any k ≤ n can be used to reconstruct the original key, allowing a variety of secure custodial strategies.

  • Paper Wallet Utilities includes a Paper Wallet Generator which transforms a list of addresses and private keys generated by the Blockchain Address Generator or parts of keys produced by the Multiple Key Manager into a HTML file which may be printed for off-line “cold storage”, and a Cold Storage Wallet Validator that provides independent verification of the correctness of off-line copies of addresses and keys.

  • Cold Storage Monitor connects to free blockchain query services to allow periodic monitoring of a list of cold storage addresses to detect unauthorised transactions which may indicate they have been compromised.

Bitcoin Blockchain Analysis Tools

This collection of tools allows various kinds of monitoring and analysis of the Bitcoin blockchain. They do not support Ethereum. These programs are intended for advanced, technically-oriented users who run their own full Bitcoin Core node on a local computer. Note that anybody can run a Bitcoin node as long as they have a computer with the modest CPU and memory capacity required, plus the very large (and inexorably growing) file storage capacity to archive the entire Bitcoin blockchain. You can run a Bitcoin node without being a “miner”, nor need you expose your computer to external accesses from other nodes unless you so wish.

These tools are all read-only monitoring and analysis utilities. They do not generate transactions of any kind, nor do they require unlocked access to the node owner's wallet.

  • Address Watch monitors the Bitcoin blockchain and reports any transactions which reference addresses on a “watch list”, either deposits to the address or spending of funds from it. The program may also be used to watch activity on the blockchain, reporting statistics on blocks as they are mined and published.

  • Confirmation Watch examines blocks as they are mined and reports confirmations for a transaction as they arrive.

  • Transaction Fee Watch analyses the transaction fees paid to include transactions in blocks and the reward to miners and produces real-time statistics and log files which may be used to analyse transaction fees over time.


You can download the complete source code distribution, including ready-to-run versions of all of the programs, from the Fourmilab Blockchain Tools home page.

All of this software is licensed under the Creative Commons Attribution-ShareAlike license.

Please see the Fourmilab Blockchain Tools User Guide [PDF] for details or read the complete source code [PDF] in Perl and Python written using the Literate Programming methodology with the nuweb system.