How to use

Installation

yarn add @xchainjs/xchain-bitcoin

Peer Dependencies

You can visit the xchain-bitcoin package repository to get the updated peer dependencies by looking at the "peerDependencies" object in the "package.json" file.

Testing

yarn install
yarn test

Examples

Connect Wallet to New Client and Access Class Methods

Decrypt keystore returns phrase Create a new client instance Use the client to getAddress() & getBalance() of address The network default is Mainnet

//Imports
import { Client } from "@xchainjs/xchain-bitcoin"

// Connect wallet to new btc client 
const connectWallet = async () => {
    let phrase = "phrase"
    const btcClient = new Client({ phrase})
    let address = btcClient.getAddress()     
    console.log(`Asset Address is: ${address}`)

    let balances = await btcClient.getBalance(address)
    try { 
        let assetAmount = (baseToAsset(balances[0].amount)).amount()
        console.log(`Asset address balance: ${assetAmount}`)
    } catch (error) {
        console.log('Address has no balance')
    }
}

Transfer BTC Using btcClient

Default feeRate is fast Import helper functions from @xchainjs/xchain-util Decrypt keystore to retrieve a phrase Use utils to convert to BaseAmount for tx params Build TX using parameters Client.transfer() > returns Promise<string> - The transaction hash

Transfer & Set feeRate

Build transactions using parameters Set feeRate in transaction parameters Or use getFeeRates()

Get Fees & FeeRates Estimations

Client function getFees() returns an object Fast: {"type":"BASE","decimal":8}

Get Transaction Data

Create a new btcClient instance Call getTransaction(hash) returns JSON object

Get Transaction History

Search the client for transaction history Create a new client instance Call a function with a variable address Results can be filtered with extra parameters { offset, limit, startTime, asset?}

Last updated