esplora-client

1.1.0 • Public • Published

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, 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

npm install esplora-client

Usage

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:

API docs:

Package Sidebar

Install

npm i esplora-client

Weekly Downloads

179

Version

1.1.0

License

MIT

Unpacked Size

10.1 kB

Total Files

5

Last publish

Collaborators

  • gndelia
  • gabmontes