A Rust library for generating cryptocurrency wallets
Wagyu is a feature-rich command-line utility to generate a cryptocurrency wallet.
Wagyu enables developers to build their own cryptocurrency application using the following modules.
| Library | Standard Wallet | HD Wallet | Mnemonic | Network |
|---|---|---|---|---|
| wagyu-bitcoin | ||||
P2PKH
P2SH-P2WPKH
Bech32
| BIP-32
BIP-44
BIP-49
Custom
| BIP-39
|
Mainnet
Testnet
|
| wagyu-ethereum |
Standard
| Ethereum
Ledger
Trezor
Keepkey
Custom
|
BIP-39
|
All
|
| wagyu-monero
|
Standard
Integrated
Subaddress
|
N/A |
Electrum
|
Mainnet
Testnet
Stagenet
|
| wagyu-zcash
|
P2PKH
Sprout
Sapling
| ZIP-32
| N/A
| Mainnet
Testnet
|Wagyu can support new cryptocurrencies by implementing the model as outlined in this module.
| Library | Standard Wallet | HD Wallet | Mnemonic | Network |
|---|---|---|---|---|
| wagyu_model | ||||
| |
|
|
We recommend installing Rust using rustup. You can install rustup as follows:
macOS or Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shWindows (64-bit):
Download the Windows 64-bit executable and follow the on-screen instructions.
Windows (32-bit):
Download the Windows 32-bit executable and follow the on-screen instructions.
For macOS users, we recommend installing wagyu via Homebrew as follows:
brew install wagyuWe recommend installing wagyu this way. In your terminal, run:
cargo install wagyuNow to use wagyu, in your terminal, run:
wagyuAlternatively, you can install wagyu by building from the source code as follows:
# Download the source code
git clone https://github.com/AleoHQ/wagyu
cd wagyu
# Build in release mode
$ cargo build --releaseThis will generate an executable under the ./target/release directory. To use wagyu, run the following command:
./target/release/wagyuTo generate a cryptocurrency wallet, run:
wagyu [CRYPTOCURRENCY] [FLAGS] [OPTIONS]To generate a Bitcoin wallet, run:
wagyu bitcoin [FLAGS] [OPTIONS]The command can be run with the following optional parameters:
FLAGS:
-h, --help Prints help information
-j, --json Prints the generated wallet(s) in JSON format
OPTIONS:
-c, --count Generates a specified number of wallets
-f, --format Generates a wallet with a specified format [possible values: bech32, legacy, segwit]
-n, --network Generates a wallet for a specified network [possible values: mainnet, testnet]To generate an Ethereum wallet, run:
wagyu ethereum [FLAGS] [OPTIONS]The command can be run with the following optional parameters:
FLAGS:
-h, --help Prints help information
-j, --json Prints the generated wallet(s) in JSON format
OPTIONS:
-c, --count Generates a specified number of walletsTo generate a Monero wallet, run:
wagyu monero [FLAGS] [OPTIONS]The command can be run with the following parameters:
…To generate a Zcash wallet, run:
wagyu zcash [FLAGS] [OPTIONS]The command can be run with the following parameters:
FLAGS:
-h, --help Prints help information
-j, --json Prints the generated wallet(s) in JSON format
OPTIONS:
-c, --count Generates a specified number of wallets
--diversifier Generates a wallet with a specified Sapling address diversifier
-f, --format Generates a wallet with a specified format [possible values: sapling, sprout, transparent]
-n, --network Generates a wallet for a specified network [possible values: mainnet, testnet]To generate an HD cryptocurrency wallet, run:
wagyu [CRYPTOCURRENCY] hd [FLAGS] [OPTIONS]To generate a Bitcoin HD wallet, run:
wagyu bitcoin hd [FLAGS] [OPTIONS]This command can be run with the following parameters:
…To generate an Ethereum HD wallet, run:
wagyu ethereum hd [FLAGS] [OPTIONS]The command can be run with the following parameters:
…To generate a Zcash HD wallet, run:
wagyu zcash hd [FLAGS] [OPTIONS]The command can be run with the following parameters:
FLAGS:
-h, --help Prints help information
-j, --json Prints the generated wallet(s) in JSON format
OPTIONS:
-c, --count Generates a specified number of wallets
-d, --derivation Generates an HD wallet for a specified derivation path (in quotes) [possible values: zip32, ""]
--diversifier Imports a wallet with a specified Sapling address diversifier
-n, --network Generates an HD wallet for a specified network [possible values: mainnet, testnet]To import a cryptocurrency wallet, run:
wagyu [CRYPTOCURRENCY] import [FLAGS] [OPTIONS]To import a Bitcoin wallet, run:
wagyu bitcoin import [FLAGS] [OPTIONS]This command can be run with the following parameters:
FLAGS:
-h, --help Prints help information
-j, --json Prints the generated wallet(s) in JSON format
OPTIONS:
--address Imports a partial wallet for a specified address
-f, --format Imports a wallet with a specified format [possible values: bech32, legacy, segwit]
-n, --network Imports a wallet for a specified network [possible values: mainnet, testnet]
--private Imports a wallet for a specified private key
--public Imports a partial wallet for a specified public keyTo import an Etheruem wallet, run:
wagyu ethereum import [FLAGS] [OPTIONS]This command can be run with the following parameters:
FLAGS:
-h, --help Prints help information
-j, --json Prints the generated wallet(s) in JSON format
OPTIONS:
--address Imports a partial wallet for a specified address
--private Imports a wallet for a specified private key
--public Imports a partial wallet for a specified public keyTo import a Monero wallet, run:
wagyu monero import [FLAGS] [OPTIONS]This command can be run with the following parameters:
…To import a Zcash wallet, run:
wagyu zcash import [FLAGS] [OPTIONS]This command can be run with the following parameters:
FLAGS:
-h, --help Prints help information
-j, --json Prints the generated wallet(s) in JSON format
OPTIONS:
--address Imports a partial wallet for a specified address
--diversifier Imports a wallet with a specified Sapling address diversifier
--private Imports a wallet for a specified private key
--public Imports a partial wallet for a specified public keyTo import an HD cryptocurrency wallet, run:
wagyu [CRYPTOCURRENCY] import-hd [FLAGS] [OPTIONS]To import a Bitcoin HD wallet, run:
wagyu bitcoin import-hd [FLAGS] [OPTIONS]This command can be run with the following parameters:
…To import an Ethereum HD wallet, run:
wagyu ethereum import-hd [FLAGS] [OPTIONS]This command can be run with the following parameters:
…To import a Zcash HD wallet, run:
wagyu zcash import-hd [FLAGS] [OPTIONS]This command can be run with the following parameters:
…To import an HD cryptocurrency wallet, run:
wagyu [CRYPTOCURRENCY] transaction [FLAGS] [OPTIONS]To generate a Bitcoin transaction, run:
wagyu bitcoin transaction [FLAGS] [OPTIONS]This command can be run with the following parameters:
…No open issues yet, or sync has not completed.