crypto-wallets
v1.0.0
Published
Simple cryptocurrency wallet generator for javascript
Downloads
228
Maintainers
Readme
crypto-wallets
Javascript/Node library for generating cryptocurrency addresses and private keys.
Supported Currencies:
- Bitcoin (BTC)
- Bitcoin Cash (BCH)
- Dogecoin (DOGE)
- Ethereum (ETH)
- IOTA (IOTA)
- Litecoin (LTC)
- Monero (XMR)
- Namecoin (NMC)
- Peercoin (PPC)
- Tezos (XTZ)
Usage
Install crypto-wallets with npm install --save crypto-wallets
Example: Generate Bitcoin Wallet
var cw = require('crypto-wallets');
var bitcoinWallet = cw.generateWallet('BTC');
console.log("Address: " + bitcoinWallet.address);
console.log("Private Key: " + bitcoinWallet.privateKey);
Example: Generate Ethereum Wallet
var cw = require('crypto-wallets');
var ethWallet = cw.generateWallet('ETH');
console.log("Address: " + ethWallet.address);
console.log("Private Key: " + ethWallet.privateKey);
Example: Generate Monero Wallet
Note: Generating Monero (XMR) and IOTA (IOTA) wallets are both asynchronous and return a promise, unlike the other currencies.
var cw = require('crypto-wallets');
cw.generateWallet('XMR').then(function(moneroWallet){
console.log("Address: " + moneroWallet.address);
console.log("Private Key: " + moneroWallet.privateKey);
});
CLI - Command Line Interface
crypto-wallets can also be used in the command line.
Commands:
generate <currency> [number] [--save <file>]
Generates and prints wallets in given currency. If [number] is not given, it defaults to 1. If the optional --save flag is provided, the generated wallets will be saved to the specified file in CSV format.
Generate bitcoin wallet
>crypto-wallets generate btc
[ { currency: 'BTC',
privateKey: 'L3Qa2u7nkHaNYZdsQYi2gVmBEtpppk4JrvQqaSYx51HWG51uwaTa',
address: '1HMt2J3dQE428krHQEmFRFNDv2DyGAaMfb' } ]
Generate 3 dogecoin wallets
>crypto-wallets generate doge 3
[ { currency: 'DOGE',
privateKey: 'QWgiPqSPNXTtTt32hffy8C1uvHT4BJcbo78TSJcEmvf6AyhE85L3',
address: 'DJnvD1NxRjgmXKGbCR98QEneFYcGGmnquc' },
{ currency: 'DOGE',
privateKey: 'QPfrc7ahUuXqqd8oeETGh4ZzCrS1wNhognEx4N5my6MK3e6qQh1o',
address: 'DN6uQWUNDfzjsXdaTtMhxwRK4hZ4RJJ357' },
{ currency: 'DOGE',
privateKey: 'QTgfpCVt8CW1bgw9PdfmsSNY1FKodM65bLYYkQeaoqm1CkNgD3MK',
address: 'DC7xVTob9XE6Soy6TjeWySinS3hG4cjR3F' } ]
Generate 100 monero wallets and save them to 'xmrWallets.csv'
>crypto-wallets generate xmr 100 --save xmrWallets.csv
Successfully saved to file: xmrWallets.csv
verify <currency> <privateKey> <address>
Checks if the given private key controls the given address.
>crypto-wallets verify doge QWgiPqSPNXTtTt32hffy8C1uvHT4BJcbo78TSJcEmvf6AyhE85L3 DJnvD1NxRjgmXKGbCR98QEneFYcGGmnquc
Success: The private key matches the address
>crypto-wallets verify btc foo bar
Failure: The private key does not match the address
Security
This library uses other third party libraries to generate the cryptocurrency addresses. So this library is secure if you trust the other libraries.
The libraries used are:
- Bitcoin: coinkey
- Bitcoin Cash: bitcore-lib-cash
- Dogecoin: coinkey
- Ethereum: ethereumjs-wallet
- IOTA: iota.lib.js, seed is generated with custom code using Node's crypto library
- Litecoin: coinkey
- Namecoin: coinkey
- Peercoin: coinkey
- Tezos: tezos-sign
- Monero: mymonero