npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@tatumio/cpfp-fee-estimator

v1.0.0

Published

CPFP Transaction Fee Estimator

Downloads

4

Readme

🌐 CPFP Fee Estimator

The CPFP Fee Estimator is a powerful extension of the Tatum SDK, designed specifically to provide accurate fee estimation for Child Pays for Parent (CPFP) transactions on Bitcoin and Bitcoin Testnet networks.

If your transaction is stuck due to low fees, the CPFP Fee Estimator can help you estimate the additional fee required to expedite its confirmation no matter the length of the chain of pending transactions.

📖 Description

The CPFP Fee Estimator enhances the efficiency and reliability of Bitcoin transactions. It is particularly useful in scenarios where unconfirmed transactions are stuck due to low fees. Key features include:

  • Estimating fees for CPFP transactions.
  • Processing multiple pending transactions for fee calculation.

This extension is built on top of the robust and secure infrastructure provided by the Tatum SDK, ensuring reliability and ease of integration.

🚀 Quick Start

  1. Installation

    Ensure that @tatumio/tatum and @tatumio/cpfp-fee-estimator are installed in your project. Then, import the CpfpFeeEstimator extension:

    import { CpfpFeeEstimator } from '@tatumio/cpfp-fee-estimator';
  2. Initialization

    Create an instance of the Tatum SDK and integrate the CpfpFeeEstimator:

    const tatumSdk = TatumSDK.init<Bitcoin>({
         network: Network.BITCOIN,
         configureExtensions: [CpfpFeeEstimator],
         version: ApiVersion.V3,
    });

🛠️ How to Use

To estimate the additional fee required for a CPFP transaction:

Estimate the CPFP Fee:

Call the estimateCPFPFee method with the transaction ID of the unconfirmed parent transaction:

    const additionalFee = await tatumSdk.extension(CpfpFeeEstimator).estimateCPFPFee('parent-transaction-id');
    console.log(`Additional Fee Required: ${additionalFee} satoshis`);

This method processes the parent transaction and its descendants to calculate the total additional fee required to expedite their confirmations. Note that the additional fee required should be increased by the fee of the transaction spending the outputs.

Return Type:

export interface CPFPFeeEstimation {
  transactionsInChain: Transaction[]
  totalSizeBytes: number // Total size of all transactions in the pending chain
  totalCurrentFee: string // Total fee of all transactions in the pending chain
  fast: {
    targetFeePerByte: string
    totalRequiredFee: string
    additionalFeeNeeded: string
  },
  medium: {
    targetFeePerByte: string
    totalRequiredFee: string
    additionalFeeNeeded: string
  },
  slow: {
    targetFeePerByte: string
    totalRequiredFee: string
    additionalFeeNeeded: string
  }
}

targetFeePerByte - The target fee per byte for the chosen transaction speed. This is the fee that should be used for the CPFP transaction.

totalRequiredFee - The total fee required to confirm all transactions in the pending chain.

additionalFeeNeeded - The additional fee required to confirm all transactions in the pending chain (totalRequiredFee - totalCurrentFee).

🔗 Supported Networks

The CPFP Fee Estimator supports the following networks:

  • Network.BITCOIN
  • Network.BITCOIN_TESTNET

By utilizing the CPFP Fee Estimator, developers can significantly improve the likelihood of transaction confirmations in congested network conditions, thereby enhancing the reliability and user experience of their Bitcoin transactions.