@bitaccess/coinlib
v10.0.4
Published
Library to assist in processing cryptocurrency payments, such as deriving addresses and sweeping funds
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
