Skip to content

anypay/simple-wallet

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