Skip to content

anypay/simple-wallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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()

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published