# wagu [![Build Status](https://travis-ci.com/ArgusObserver/wagu.svg?token=vLs9yE9nZjZuPeG7pEBi&branch=master)](https://travis-ci.com/ArgusObserver/wagu) Pronounced like [wagyu](https://en.wikipedia.org/wiki/Wagyu). Wagu is the **wa**llet **g**eneration **u**tility. Wagu allows users to generate wallets for the following cryptocurrencies: - Bitcoin - Ethereum - Monero - Zcash (Transparent Addresses) ## Quick Usage Create a wallet for any currency like so: `wagu ` The supported currencies are listed above. Specific examples are found below and in the `docs` folder. ## Table of Contents * [Table of Contents](#TableofContents) * [Documentation](#documentation) * [Features](#Features) * [Generate a wallet with default options](#Generateawalletwithdefaultoptions) * [Generate testnet and mainnet wallets](#Generatetestnetandmainnetwallets) * [Generate wallets as JSON object](#GeneratewalletsasJSONobject) * [Generate multiple wallets of the same kind](#Generatemultiplewalletsofthesamekind) * [Generate a P2WPKH_P2SH (SegWit) Wallet](#GenerateaP2WPKHSegWitWallet) * [Generate compressed and uncompressed (default) wallets](#Generatecompressedanduncompresseddefaultwallets) * [Help](#Help) ## Documentation * [Bitcoin](./docs/bitcoin.md) * [Ethereum](./docs/ethereum.md) * [Monero](./docs/monero.md) * [Zcash](./docs/zcash.md) ## Features The following demonstrates the functionality of `wagu`. All examples are for the Bitcoin blockchain and more specific exampls can be found in the `/docs` folder. #### Generate a wallet with default options Generate an uncompressed mainnet private key and address with the following command: `wagu bitcoin` ```bash ╰─ wagu bitcoin Private Key: 5JHwLmRafAxdtRddv3o2urYo2bfFUT2V29LSoDM3QFJPzoUoBJT Address: 1GMmaXUixBA2ZMqw9U1zX4cTCmhWtNhgTB Network: Mainnet Compressed: false ``` #### Generate testnet and mainnet wallets Generate a testnet private key and address with the following command: `wagu bitcoin --network testnet` ```bash ╰─ wagu bitcoin --network testnet Private Key: 92Rk56bU8atxbM9mUyNJtijc8XFyw7UHrDaasyTzcn9iLn4M9Le Address: myPXYe7NrVpq8oYBugTFtHwamejxB6wNC8 Network: Testnet Compressed: false ``` #### Generate wallets as JSON object Generate an uncompressed mainnet private key and address with the following command: `wagu bitcoin -j` OR `wagu bitcoin --json` ```bash ╰─ wagu -j [ { "privateKey": { "wif": "5JZPS2WbS8A5jkZYtSvHibvNQMN6vU2Btht5YqAZze7zEiFtNDd", "network": "Mainnet", "compressed": false }, "address": { "wif": "1NuPmGDSsCFcSZCuAccq6zJTvXi2vNzRwg", "network": "Mainnet", "address_type": "P2PKH" } } ] ``` #### Generate multiple wallets of the same kind Generate a multiple wallets with the following command: `wagu bitcoin --count 3` OR `wagu bitcoin -n 3` ```bash ╰─ wagu bitcoin -n 3 Private Key: 5JsktgmsNQh3MbHMcwNWG3gd5awH59dnUa64Uih6rAssCsdjjU9 Address: 1N4Ezyuo4K4FFvBnbeyPv5qPA93mBVi5P9 Network: Mainnet Compressed: false Private Key: 5JzxKHZNEqN9zNgxkjJQASnpCYvBj5NQMs6HfEgMRsQ84VXJpyU Address: 1AzoF4Cw8fS7JdFocmsVoKJdv1j4a81Tf9 Network: Mainnet Compressed: false Private Key: 5JxRr7Evz4YSKRWvMLzAtg7WZHg7uEfpM6D6TK4w3HUE3aSQbF7 Address: 19uxwixdfxdYVJ4HjrLKT31EakWCqrhb1r Network: Mainnet Compressed: false ``` #### Generate a P2WPKH_P2SH (SegWit) Wallet Generate a SegWit mainnet private key and address with the following command: `wagu bitcoin --segwit` ```bash ╰─ wagu --segwit Private Key: L13EzQBa7izHyXHdhAwBzApAPL1Q8rdVRpY7CASWXyFPyHTuPJxs Address: 3Qz5gtJ4GKoeSHHErF8Nvs9bDp5TQDw89o Network: Mainnet Compressed: true ``` #### Generate compressed and uncompressed (default) wallets Generate a compressed mainnet private key and address with the following command: `wagu bitcoin --compressed` OR `wagu bitcoin -c` ```bash ╰─ wagu bitcoin -c Private Key: KzpvjTPuU7p2GZFki2FRnnTceDn5jdVAYZkVvDBptWrHMcLeGWFn Address: 1G75ZLkSbTr6wBzr4pthM7eV9NzenMyZPC Network: Mainnet Compressed: true ``` ## Help The cli contains useful help text, displayed below. ``` wagu v0.5.0 Argus Observer Generate a wallet for any cryptocurrency Supported Currencies: Bitcoin, Ethereum, Monero, Zcash (t-address) USAGE: wagu [FLAGS] [OPTIONS] FLAGS: -c, --compressed Enabling this flag generates a wallet which corresponds to a compressed public key -h, --help Prints help information -j, --json Enabling this flag prints the wallet in JSON format --segwit Enabling this flag generates a wallet with a SegWit address -V, --version Prints version information OPTIONS: -n, --count Number of wallets to generate -N, --network Network of wallet(s) to generate (e.g. mainnet, testnet) [values: mainnet, testnet] ARGS: Name of the currency to generate a wallet for (e.g. bitcoin, ethereum, monero, zcash) ```