@bitaccess/coinlib
v10.0.4
Published
Library to assist in processing cryptocurrency payments, such as deriving addresses and sweeping funds
Downloads
178
Maintainers
Readme
coinlib
Library to assist in processing cryptocurrency payments.
Getting Started
npm i @bitaccess/coinlibimport { CoinPayments } from '@bitaccess/coinlib';
const coinPayments = new CoinPayments({
seed: '5cf2d4a8b0...ca676651f',
});To begin processing payments, select your asset
const btcPayments = coinPayments.forNetwork('BTC');
await btcPayments.init();Generate a deposit address.
This is useful if you are a hot wallet and don't store the private key. You will need
to keep track of which path node you are on (increasing int):
let { address, extraId } = btcPayments.getPayport(1234);
// Customer sends deposit to `address` with destination tag `extraId`Validate an address:
if (btcPayments.isValidAddress(depositAddress)) {
// do something
}Get the balance of an address:
let { confirmedBalance, unconfirmedBalance } = await btcPayments.getBalance(1234);Generate a sweep transaction for an address, then broadcast it:
let unsignedTx = await btcPayments.createSweepTransaction(1234, to);
let signedTx = await btcPayments.signTransaction(unsignedTx);
let { id: txHash } = await btcPayments.broadcastTransaction(signedtx);Generate a simple send transaction
let unsignedTx = await btcPayments.createTransaction(1234, to, '1.234');
// Then sign and broadcast the transactionGet a transaction and check if it is confirmed:
let txInfo = await btcPayments.getTransactionInfo(txHash);
if (txInfo.isConfirmed) {
// txInfo.confirmations > 0
}In some circumstances, you may want a read-only copy that can do everything but sign. First create it with your seed as usual, then get the public config to use for read only version.
const readOnlyConfig = coinPayments.getPublicConfig();
const readOnlyCoinPayments = new CoinPayments(readOnlyConfig);See tests or types for more utilities
License
MIT
