0.19.9 • Published 2 years ago

@thorswap-lib/xchain-bitcoin v0.19.9

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@thorswap-lib/xchain-client

Modules

Installation

yarn add @thorswap-lib/xchain-bitcoin

Following peer dependencies have to be installed into your project. These are not included in @thorswap-lib/xchain-bitcoin.

yarn add @thorswap-lib/xchain-client @thorswap-lib/xchain-crypto @thorswap-lib/xchain-util axios bip32 bitcoinjs-lib coinselect ecpair tiny-secp256k1
```

## Service Providers

This package uses the following service providers:

| Function                    | Service     | Notes                                                                            |
| --------------------------- | ----------- | -------------------------------------------------------------------------------- |
| Balances                    | Sochain     | https://sochain.com/api#get-balance                                              |
| Transaction history         | Sochain     | https://sochain.com/api#get-display-data-address, https://sochain.com/api#get-tx |
| Transaction details by hash | Sochain     | https://sochain.com/api#get-tx                                                   |
| Transaction fees            | Bitgo       | https://app.bitgo.com/docs/#operation/v2.tx.getfeeestimate                       |
| Transaction broadcast       | Sochain     | https://sochain.com/api#send-transaction                                         |
| Explorer                    | Blockstream | https://blockstream.info                                                         |

Sochain API rate limits: https://sochain.com/api#rate-limits (300 requests/minute)

Bitgo API rate limits: https://app.bitgo.com/docs/#section/Rate-Limiting (10 requests/second)

## Usage

Initialize client and use class methods:

import { Client, Network } from '../src/client'

// Create a new client interface const btcClient = new Client({ network: Network.Mainnet, nodeUrl: 'https://sochain.com/api/v2' })

// Set phrase btcClient.setPhrase('phrase here')

// Get address const address = btcClient.getAddress()

// Get balance const balance = await btcClient.getBalance()

// Transfer with feeRate const txid = await btcClient.transfer({ asset: AssetBTC, recipient: 'recipient address here', amount: baseAmount(100, BTC_DECIMAL), feeRate: 1 })

// Transfer with default feeRate (default is fast) const txid = await btcClient.transfer({ asset: AssetBTC, recipient: 'recipient address here', amount: baseAmount(100, BTC_DECIMAL) })

// Get fee estimations const { fast, fastest, average } = await btcClient.getFees()

// Get feeRate estimations const { fast, fastest, average } = await btcClient.getFeeRates()

// Search transactions const transactions = await btcClient.getTransactions({ address: 'address here', limit: 4 })

// Get a transaction with a given txId/hash const txData = await btcClient.getTransactionData('b660ee07167cfa32681e2623f3a29dc64a089cabd9a3a07dd17f9028ac956eb8')

0.19.9

2 years ago

0.19.8

2 years ago

0.19.6

2 years ago

0.19.7

2 years ago

0.19.0

2 years ago

0.19.1

2 years ago

0.19.2

2 years ago

0.19.3

2 years ago

0.19.4

2 years ago

0.19.5

2 years ago

0.18.0

2 years ago

0.17.4

2 years ago

0.17.2

2 years ago

0.17.3

2 years ago

0.15.15

2 years ago

0.17.1

2 years ago

0.15.14

2 years ago

0.15.13

2 years ago