UNPKG

esplora-client

Version:

Tiny client library for Esplora-based Bitcoin APIs

58 lines (40 loc) 1.7 kB
# esplora-client Tiny client library for Esplora-based Bitcoin APIs, like the ones provided by mempool.space and blockstream.info. The package exposes an API compatible with [mempool.js](https://github.com/mempool/mempool.js), the official mempool.space NPM package, but supports just a few options and implements only some basic Bitcoin methods. It also has the ability to retry failed calls across APIs: if a call to mempool.space fails, it is retried by calling blockstream.info. ## Installation ```sh npm install esplora-client ``` ## Usage ```js import { esploraClient } from "esplora-client"; const { bitcoin } = esploraClient({ network: "testnet" }); const address = "tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx"; const { chain_stats } = await bitcoin.addresses.getAddress({ address }); const balance = chain_stats.funded_txo_sum - chain_stats.spent_txo_sum; ``` ## Options - `hostnames`: List of API hostnames. Defaults to `["mempool.space", "blockstream.info"]`. - `network`: Network name. Defaults to `mainnet`. ## Bitcoin methods - Addresses: - getAddress({ address }) - getAddressTxs({ address }) - getAddressTxsUtxo({ address }) - Blocks: - getBlocksTipHeight() - Fees: - getFeeEstimates() - Supported by mempool.space but undocumented - getFeesRecommended() - Only supported by mempool.space - Transactions: - getTx({ txid }) - getTxHex({ txid }) - postTx({ txhex }) ## See also NPM packages: - [mempool.js](https://github.com/mempool/mempool.js) - [esplora-js](https://github.com/MiguelMedeiros/esplora-js) API docs: - [Mempool docs](https://mempool.space/docs/api/rest) - [Esplora api](https://github.com/Blockstream/esplora/blob/master/API.md)