<commit_before>[![Build Status](https://travis-ci.org/libbitcoin/libbitcoin-explorer.svg?branch=master)](https://travis-ci.org/libbitcoin/libbitcoin-explorer)

*The automated build is failing because it exceeds the current Travis time-out limit of 50 minutes.*

# Bitcoin Explorer

*The Bitcoin Command Line Tool*

**License Overview**

All files in this repository fall under the license specified in [COPYING](https://github.com/libbitcoin/libbitcoin-explorer/blob/master/COPYING). The project is licensed as [AGPL with a lesser clause](https://wiki.unsystem.net/en/index.php/Libbitcoin/License). It may be used within a proprietary project, but the core library and any changes to it must be published on-line. Source code for this library must always remain free for everybody to access.

**About Libbitcoin**

The libbitcoin toolkit is a set of cross platform C++ libraries for building bitcoin applications. The toolkit consists of several libraries, most of which depend on the foundational [libbitcoin](https://github.com/libbitcoin/libbitcoin) library. Each library's repository can be cloned and built using common [automake](http://www.gnu.org/software/automake) instructions. There are no packages yet in distribution however each library includes an installation script (described below) which is regularly verified in the automated build.

**Table of Contents**

* [Background](#background)
* [Installation](#installation)
  * [Debian/Ubuntu](#debianubuntu)
  * [Macintosh](#macintosh)
  * [Windows](#windows)
* [Design Overview](#design-overview)
  * [Single File Objective](#single-file-objective)
  * [Extensibility Model](#extensibility-model)
  * [Localization Model](#localization-model)
  * [Primitive Types](#primitive-types)
  * [Input Processing](#input-processing)
  * [Output Processing](#output-processing)
  * [Help Integration](#help-integration)
* [Test Methodology](#test-methodology)
* [Explorer Library](#explorer-library)
* [Random Numbers](#random-numbers)
* [Acronyms](#acronyms)
* [Command Taxonomy](#command-taxonomy)
* [Command Map](#command-map)
* [Command List](#command-list)

## Background

Bitcoin Explorer is a fork of the popular [SX command line tool](https://sx.dyne.org/index.html). Many of the commands and their parameters are identical to SX although many have changed, some have been obsoleted and others have been added.

Obsoleted commands include those overtaken by industry standards or by changes to other commands. Others were based on interaction with network services other than the Bitcoin peer-to-peer network or [libbitcoin-server](https://github.com/libbitcoin/libbitcoin-server), making them redundant. Others were administrative interfaces to libbitcoin\_server and it was agreed that this scenario would be better handled independently.

Because of this significant interface change and out of a desire to provide consistent naming across repositories, the repository name of this fork is **libbitcoin-explorer**. Therefore the program is called **explorer** and is referred to as **BX** as a convenience and out of respect for its ground-breaking predecessor.

## Installation

### Debian/Ubuntu

Libbitcoin requires a C++11 compiler, which means [GCC 4.7.0](https://gcc.gnu.org/projects/cxx0x.html) minimum.

> For this reason Ubuntu is not supported prior to version 12.04.

To see your GCC version:

```sh
  $ gcc --version
```

If necessary, upgrade your compiler [as follows](http://bit.ly/1vXaaQL):
```sh
  $ sudo apt-get install g++-4.8
  $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
  $ sudo update-alternatives --config g++
```
Next install the [build system](http://wikipedia.org/wiki/GNU_build_system):
```sh
  $ sudo apt-get install build-essential autoconf automake libtool pkg-config
```
Next install [Boost](http://www.boost.org) (1.50.0 or newer) and [GMP](https://gmplib.org) (5.0.0 or newer) development packages:
```sh
  $ sudo apt-get install libboost-all-dev libgmp-dev
```

Finally, execute the [install script](https://github.com/libbitcoin/libbitcoin-explorer/blob/master/install-bx.sh).
```sh
$ ./install-bx.sh
```
Bitcoin Explorer is now installed in `/usr/local/` and can be invoked using the `$ bx` or original `$ sx` alias.

#### Notes

If you intend to inspect and/or modify source code you should [git clone](http://git-scm.com/docs/git-clone) BX and each unpackaged dependency and build them manually. The install script itself is commented so that the manual build steps for each dependency can be inferred by a developer.

You can run the install script from any directory on your system. This will build BX in a subdirectory named `bx-build` and install it to `/usr/local/`. When the build completes successfully the `bx-build` directory is deleted.

The install script should not normally be executed using sudo. Instead it will immediately prompt you for a super user password if required. This ensures that only the necessary installation steps are executed as a super user, as opposed to the entire build process.

**The install can take well over an hour to complete.** The install script clones, builds and installs nine unpackaged repositories, namely:

* [jedisct1/libsodium](https://github.com/jedisct1/libsodium)<commit_msg>Remove sx alias reference.<commit_after>[![Build Status](https://travis-ci.org/libbitcoin/libbitcoin-explorer.svg?branch=master)](https://travis-ci.org/libbitcoin/libbitcoin-explorer)

*The automated build is failing because it exceeds the current Travis time-out limit of 50 minutes.*

# Bitcoin Explorer

*The Bitcoin Command Line Tool*

**License Overview**

All files in this repository fall under the license specified in [COPYING](https://github.com/libbitcoin/libbitcoin-explorer/blob/master/COPYING). The project is licensed as [AGPL with a lesser clause](https://wiki.unsystem.net/en/index.php/Libbitcoin/License). It may be used within a proprietary project, but the core library and any changes to it must be published on-line. Source code for this library must always remain free for everybody to access.

**About Libbitcoin**

The libbitcoin toolkit is a set of cross platform C++ libraries for building bitcoin applications. The toolkit consists of several libraries, most of which depend on the foundational [libbitcoin](https://github.com/libbitcoin/libbitcoin) library. Each library's repository can be cloned and built using common [automake](http://www.gnu.org/software/automake) instructions. There are no packages yet in distribution however each library includes an installation script (described below) which is regularly verified in the automated build.

**Table of Contents**

* [Background](#background)
* [Installation](#installation)
  * [Debian/Ubuntu](#debianubuntu)
  * [Macintosh](#macintosh)
  * [Windows](#windows)
* [Design Overview](#design-overview)
  * [Single File Objective](#single-file-objective)
  * [Extensibility Model](#extensibility-model)
  * [Localization Model](#localization-model)
  * [Primitive Types](#primitive-types)
  * [Input Processing](#input-processing)
  * [Output Processing](#output-processing)
  * [Help Integration](#help-integration)
* [Test Methodology](#test-methodology)
* [Explorer Library](#explorer-library)
* [Random Numbers](#random-numbers)
* [Acronyms](#acronyms)
* [Command Taxonomy](#command-taxonomy)
* [Command Map](#command-map)
* [Command List](#command-list)

## Background

Bitcoin Explorer is a fork of the popular [SX command line tool](https://sx.dyne.org/index.html). Many of the commands and their parameters are identical to SX although many have changed, some have been obsoleted and others have been added.

Obsoleted commands include those overtaken by industry standards or by changes to other commands. Others were based on interaction with network services other than the Bitcoin peer-to-peer network or [libbitcoin-server](https://github.com/libbitcoin/libbitcoin-server), making them redundant. Others were administrative interfaces to libbitcoin\_server and it was agreed that this scenario would be better handled independently.

Because of this significant interface change and out of a desire to provide consistent naming across repositories, the repository name of this fork is **libbitcoin-explorer**. Therefore the program is called **explorer** and is referred to as **BX** as a convenience and out of respect for its ground-breaking predecessor.

## Installation

### Debian/Ubuntu

Libbitcoin requires a C++11 compiler, which means [GCC 4.7.0](https://gcc.gnu.org/projects/cxx0x.html) minimum.

> For this reason Ubuntu is not supported prior to version 12.04.

To see your GCC version:

```sh
  $ gcc --version
```

If necessary, upgrade your compiler [as follows](http://bit.ly/1vXaaQL):
```sh
  $ sudo apt-get install g++-4.8
  $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
  $ sudo update-alternatives --config g++
```
Next install the [build system](http://wikipedia.org/wiki/GNU_build_system):
```sh
  $ sudo apt-get install build-essential autoconf automake libtool pkg-config
```
Next install [Boost](http://www.boost.org) (1.50.0 or newer) and [GMP](https://gmplib.org) (5.0.0 or newer) development packages:
```sh
  $ sudo apt-get install libboost-all-dev libgmp-dev
```

Finally, execute the [install script](https://github.com/libbitcoin/libbitcoin-explorer/blob/master/install-bx.sh).
```sh
$ ./install-bx.sh
```
Bitcoin Explorer is now installed in `/usr/local/` and can be invoked as `$ bx`.

#### Notes

If you intend to inspect and/or modify source code you should [git clone](http://git-scm.com/docs/git-clone) BX and each unpackaged dependency and build them manually. The install script itself is commented so that the manual build steps for each dependency can be inferred by a developer.

You can run the install script from any directory on your system. This will build BX in a subdirectory named `bx-build` and install it to `/usr/local/`. When the build completes successfully the `bx-build` directory is deleted.

The install script should not normally be executed using sudo. Instead it will immediately prompt you for a super user password if required. This ensures that only the necessary installation steps are executed as a super user, as opposed to the entire build process.

**The install can take well over an hour to complete.** The install script clones, builds and installs nine unpackaged repositories, namely:

* [jedisct1/libsodium](https://github.com/jedisct1/libsodium)
{'fraction_non_alphanumeric': 0.1030908226343319, 'fraction_numerical': 0.0053257251545411315, 'mean_word_length': 4.9446014697569245, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 22, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6141134', 'n_tokens_mistral': 3047, 'n_tokens_neox': 2809, 'n_words': 1163}