anypay-simple-wallet
v0.6.2
Published
Simple Wallet For P2P Electronic Payments
Downloads
22
Readme
Anypay Simple Wallet
For building apps which control money and most importantly for testing anypay in production.
Installation
npm install --save anypay-simple-wallet
Environment Variables
- BSV_PRIVATE_KEY
- BTC_PRIVATE_KEY
- BCH_PRIVATE_KEY
- DASH_PRIVATE_KEY
- LTC_PRIVATE_KEY
- DOGE_PRIVATE_KEY
- XRP_PRIVATE_KEY
- XMR_SIMPLE_WALLET_SEED
Usage
The Wallet implements the JSON Payment Protocol V2 Spec compatible with AnypayX.com and Bitpay.com
import { Wallet } from 'anypay-simple-wallet'
let wallet = Wallet.fromWIF(process.env.WIF)
let balance = await wallet.getBalance()
let transaction = await wallet.buildTransaction([{
address: "1VxvyqNXXYdC8xHSW8VQTsHbrCdG2BBJ6",
amount: 5000,
}, {
address: "17du1ERGCG4Cwpm2N4GQHzKo8R3XVEJ33t",
amount: 5000
}])
All protocol methods are defined and available using the protocol client with built in validation.
import { Client, Wallet } from 'anypay-simple-wallet'
let client = new Client('https://anypayx.com/i/3kbn9ids')
let { paymentOptions } = await client.getPaymentOptions()
let paymentOption = paymentOptions.filter(option => option.currency === 'BSV')[0]
let paymentRequest = await client.selectPaymentOption(paymentOption)
let wallet = Wallet.fromWIF(process.env.WIF)
let payment = await client.sendPayment(wallet, paymentRequest)
To test a local implementation of the protocol within a Hapi or Supertest-compatible webserver use TestClient as a drop-in replacement for Client.
import { app } from '../'
import { TestClient } from 'anypay-simple-wallet'
import * as supertest from 'supertest'
const server = supertest(app)
const client = new TestClient(server, `/i/3kbn9ids`)
let { paymentOptions } = await client.getPaymentOptions()