esplora-js
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

Esplora JS API - Blockstream.info

npm version NPM Known Vulnerabilities License: MIT


Easy way to add BlockStream.info API to your JS application.


Donate

Help me to stack sats! 😊

bc1qvyw5kfx0uhu7g5qeahzna8tl9c5jsuemjumxzj

Or donate via Lightning Network!


References


Features


Installation

Using npm:

$ npm install esplora-js

Using yarn:

$ yarn add esplora-js

Usage

Get Fees Recommended

Get an object where the key is the confirmation target (in number of blocks) and the value is the estimated feerate (in sat/vB).

[ Example ] [ Top ]

import { fees } from 'esplora-js';
...
const feesRecommended = await fees.getFeesRecommended();
console.log(feesRecommended);

Get Mempool

Get mempool backlog statistics.

[ Example ] [ Top ]

import { mempool } from 'esplora-js';
...
const getMempool = await mempool.getMempool();
console.log(getMempool);

Get Mempool Txids

Get the full list of txids in the mempool as an array. The order of the txids is arbitrary and does not match bitcoind's.

[ Example ] [ Top ]

import { mempool } from './../src/';
...
const getMempoolTxids = await mempool.getMempoolTxids();
console.log(getMempoolTxids);

Get Mempool Recent

Get a list of the last 10 transactions to enter the mempool. Each transaction object contains simplified overview data, with the following fields: txid, fee, vsize and value.

[ Example ] [ Top ]

import { mempool } from 'esplora-js';
...
const getMempoolRecent = await mempool.getMempoolRecent();
console.log(getMempoolRecent);

Get Block

Returns information about a block.

Parameters:

  • {Object} params - Params object.
  • {string} params.hash - Hash from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const block = await blocks.getBlock({
  hash: '000000000000000015dc...'
});
console.log(block);

Get Block Status

Returns the block status.

Parameters:

  • {Object} params - Params object.
  • {string} params.hash - Hash from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blockStatus = await blocks.getBlockStatus({
  hash: '000000000000000015dc...'
});
console.log(blockStatus);

Get Block Header

Returns the hex-encoded block header.

Parameters:

  • {Object} params - Params object.
  • {string} params.hash - Hash from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blockHeader = await blocks.getBlockHeader({
  hash: '000000000000000015dc...'
});
console.log(blockStatus);

Get Block Txs

Returns a list of transactions in the block (up to 25 transactions beginning at start_index).

Parameters:

  • {Object} params - Params object.
  • {string} params.hash - Hash from a block
  • {number} params.start_index - Default: 25

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blockTxs = await blocks.getBlockTxs({
  hash: '000000000000000015dc...'
});
console.log(blockTxs);

Get Block Txids

Returns a list of all txids in the block.

Parameters:

  • {Object} params - Params object.
  • {string} params.hash - Hash from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blockTxids = await blocks.getBlockTxids({
  hash: '000000000000000015dc...'
});
console.log(blockTxids);

Get Block Txid

Returns the transaction at index :index within the specified block.

Parameters:

  • {Object} params - Params object.
  • {string} params.hash - Hash from a block
  • {number} params.index - Index

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blockTxid = await blocks.getBlockTxid({
  hash: '000000000000000015dc...',
  index: 218
});
console.log(blockTxids);

Get Block Raw

Returns the raw block representation in binary.

Parameters:

  • {Object} params - Params object.
  • {string} params.hash - Hash from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blockRaw = await blocks.getBlockRaw({
  hash: '000000000000000015dc...'
});
console.log(blockRaw);

Get Blocks Height

Returns the hash of the block currently at height.

Parameters:

  • {Object} params - Params object.
  • {number} params.height - Height from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blockHeight = await blocks.getBlockHeader({
  height: 66666,
});
console.log(blockHeight);

Get Blocks

Returns the 10 newest blocks starting at the tip or at start_height if specified.

Parameters:

  • {Object} params - Params object.
  • {number} params.start_height - Height from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const getBlocks = await blocks.getBlocks({
  start_height: 66666
});
console.log(getBlocks);

Get Blocks Tip Height

Returns the height of the last block.

Parameters:

  • {Object} params - Params object.
  • {number} params.start_height - Height from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blocksTipHeight = await blocks.getBlocksTipHeight();
console.log(blocksTipHeight);

Get Blocks Tip Hash

Returns the hash of the last block.

Parameters:

  • {Object} params - Params object.
  • {number} params.start_height - Height from a block

[ Example ] [ Top ]

import { blocks } from 'esplora-js';
...
const blocksTipHash = await blocks.getBlocksTipHash();
console.log(blocksTipHash);

Get Tx

Returns information about the transaction.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const tx = await transactions.getTx({
  txid: '15e10745f15593...'
});
console.log(tx);

Get Tx Status

Returns the transaction confirmation status.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const txStatus = await transactions.getTxStatus({
  txid: '15e10745f15593...'
});
console.log(txStatus);

Get Tx Hex

Returns the transaction hex.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const txHex = await transactions.getTxHex({
  txid: '15e10745f15593...'
});
console.log(txHex);

Get Tx Raw

Returns the raw transaction in hex or as binary data.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const txRaw = await transactions.getTxRaw({
  txid: '15e10745f15593...'
});
console.log(txRaw);

Get Tx Merkle Block Proof

Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const txMerkleBlockProof = await transactions.getTxMerkleBlockProof({
  txid: '15e10745f15593...'
});
console.log(txMerkleBlockProof);

Get Tx Merkle Proof

Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const txMerkleProof = await transactions.getTxMerkleProof({
  txid: '15e10745f15593...'
});
console.log(txMerkleProof);

Get Tx Outspend

Returns the spending status of a transaction output.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const txOutspend = await transactions.getTxOutspend({
  txid: '15e10745f15593...',
  vout: 3,
});
console.log(txOutspend);

Get Tx Outspends

Returns the spending status of all transaction outputs.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const txOutspends = await transactions.getTxOutspends({
  txid: '15e10745f15593...'
});
console.log(txOutspends);

Post Tx Outspends

Broadcast a raw transaction to the network. The transaction should be provided as hex in the request body. The txid will be returned on success.

Parameters:

  • {Object} params - Params object.
  • {string} params.txid - Transactions id.

[ Example ] [ Top ]

import { transactions } from 'esplora-js';
...
const postTx = await transactions.postTx({
  txid: '15e10745f15593...'
});
console.log(postTx);

Get Address

Get information about an address.

Parameters:

  • {Object} params - Params object.
  • {string} params.address - Address id.

[ Example ] [ Top ]

import { addresses } from 'esplora-js';
...
const addressTest = await addresses.getAddress({
  address: '15e10745f15593a...'
});
console.log(addressTest);

Get Address Txs

Get transaction history for the specified address/scripthash, sorted with newest first.

Parameters:

  • {Object} params - Params object.
  • {string} params.address - Address id.

[ Example ] [ Top ]

import { addresses } from 'esplora-js';
...
const addressTxs = await addresses.getAddressTxs({
  address: '15e10745f15593a...'
});
console.log(addressTxs);

Get Address Txs Chain

Get confirmed transaction history for the specified address/scripthash, sorted with newest first.

Parameters:

  • {Object} params - Params object.
  • {string} params.address - Address id.

[ Example ] [ Top ]

import { addresses } from 'esplora-js';
...
const addressTxsChain = await addresses.getAddressTxsChain({
  address: '15e10745f15593a...'
});
console.log(addressTxsChain);

Get Address Txs Mempool

Get unconfirmed transaction history for the specified address/scripthash.

Parameters:

  • {Object} params - Params object.

[ Example ] [ Top ]

import { addresses } from 'esplora-js';
...
const addressTxsMempool = await addresses.getAddressTxsMempool({
  address: '15e10745f15593a...'
});
console.log(addressTxsMempool);

Get Address Txs Utxo

Get the list of unspent transaction outputs associated with the address/scripthash.

Parameters:

  • {Object} params - Params object.
  • {string} params.address - Address id.

[ Example ] [ Top ]

import { addresses } from 'esplora-js';
...
const addressTxsUtxo = await addresses.getAddressTxsUtxo({
  address: '15e10745f15593a...'
});
console.log(addressTxsUtxo);

Get Asset (Liquid Only)

Get information about an asset.

Parameters:

  • {Object} params - Params object.
  • {string} params.asset_id - Asset id.

[ Example ] [ Top ]

import { assets } from 'esplora-js';
...
const asset = await assets.getAsset({
  asset_id: '6f0279e9ed04...'
});
console.log(asset);

Get Asset Txs (Liquid Only)

Get information about an asset txs.

Parameters:

  • {Object} params - Params object.
  • {string} params.asset_id - Asset id.

[ Example ] [ Top ]

import { assets } from 'esplora-js';
...
const asset = await assets.getAssetTxs({
  asset_id: `6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d`,
});
console.log(asset);

Get Asset Txs Mempool (Liquid Only)

Get information about an asset mempool txs.

Parameters:

  • {Object} params - Params object.
  • {string} params.asset_id - Asset id.

[ Example ] [ Top ]

import { assets } from 'esplora-js';
...
const asset = await assets.getAssetTxsMempool({
  asset_id: `6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d`,
});
console.log(asset);

Get Asset Txs Chain (Liquid Only)

Get information about an asset txs.

Parameters:

  • {Object} params - Params object.
  • {string} params.asset_id
  • {string} params.last_seen

[ Example ] [ Top ]

import { assets } from 'esplora-js';
...
const asset = await assets.getAssetTxsChain({
  asset_id: `6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d`,
});
console.log(asset);

Get Asset Supply (Liquid Only)

Get the current total supply of the specified asset.

Parameters:

  • {Object} params - Params object.
  • {string} params.asset_id - Asset id.

[ Example ] [ Top ]

import { assets } from 'esplora-js';
...
const asset = await assets.getAssetSupply({
  asset_id: `6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d`,
});
console.log(asset);

Get Asset Supply Decimal (Liquid Only)

Get the current total supply of the specified asset.

Parameters:

  • {Object} params - Params object.
  • {string} params.asset_id - Asset id.
  • {string} params.last_seen - Asset id.

[ Example ] [ Top ]

import { assets } from 'esplora-js';
...
const asset = await assets.getAssetSupplyDecimal({
  asset_id: `6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d`,
});
console.log(asset);

Get Asset Registry (Liquid Only)

Get information about an asset mempool txs.

Parameters:

  • {Object} params - Params object.
  • {number} params.start_index
  • {number} params.limit
  • {string} params.sort_field
  • {string} params.sort_dir

[ Example ] [ Top ]

import { assets } from 'esplora-js';
...
const asset = await assets.getAssetRegistry();
console.log(asset);

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.


License MIT

Dependencies (2)

Dev Dependencies (5)

Package Sidebar

Install

npm i esplora-js

Weekly Downloads

10

Version

1.0.1

License

MIT

Unpacked Size

86.7 kB

Total Files

18

Last publish

Collaborators

  • miguelmedeirosweb