In response to your description (having issues whereas syncing full node), I ponder in case your “unconfirmed transaction” is admittedly unconfirmed? Is it already confirmed, or discarded (on account of double-spending and so on)?
The primary drawback: “caught” 0-confirmation transaction
Initially, replace-by-fee is there to take care of “low-fee caught transactions” drawback, you’ll be capable of bump charge with ease if the transaction had RBF enabled.
In case your caught transaction isn’t so pressing, you could simply watch for the mempool to be cleared naturally, then your transaction will lastly be confirmed, because the mempool isn’t so crowded (like previous instances in 2017) these days.
Simply watch the final “Mempool dimension in MB” chart right here: https://core.jochen-hoenicke.de/queue/#24h
If you wish to “speed up” or “revert” this transaction, you will have two choices.
The primary choice: you could contact a mining pool which supplies “transaction accelerating (prioritising)” service, like Poolin or BTC.COM. Nonetheless, this feature will be costly, and, there will not be any refund.
The second choice: “double-spend” by your self with Electrum, which is often less expensive than transaction prioritising companies talked about above, however a bit difficult.
-
Discover out the earlier transaction(s) which the caught transaction is spending from. It’s possible you’ll use the
getrawtransaction STUCK_TXID true
(changeSTUCK_TXID
with your individual caught transaction ID) command in debug console of Bitcoin Core, or simply question it on an internet block explorer like https://blockstream.information.Blockstream explorer reveals earlier outpoints clearly, the place the outpoint is represented in
TXID(lengthy alphanumeric textual content string):INDEX(quantity)
format. For instance: this transaction spent 2 earlier transactions, which have TXIDs of00f5854cebdcd318edd325ab07e4157964f225a659302f3f5949ffe07020db4e
and6d4a34592200324f716a92d8d84db8c85bc97189610b1d4bee4fcb7d56713857
-
Copy uncooked transaction knowledge of earlier transaction(s). It’s possible you’ll merely double-click every transaction confirmed on Bitcoin Core GUI in flip, to seek out them by transaction ID, after which right-click ->
Copy uncooked transaction
.You may additionally use the
getrawtransaction PREVIOUS_TXID
command as a substitute, it’s worthwhile to run this command individually on everyPREVIOUS_TXID
, if a number of earlier transactions have been spent. -
Create a brand new Electrum pockets on an offline machine, then select the
Import Bitcoin addresses or non-public keys
choice. -
Import your non-public keys to Electrum. The pockets will not sync, as a result of there is no web – that is high quality, as a result of we do not need Electrum to fetch again the caught transaction.
-
Import the earlier transaction(s) by clicking
Instruments
menu ->Load transaction
->From textual content
. -
Click on the
View
menu ->Present Cash
to point out theCash
tab. Then change to theCash
tab, choose all of them, and right-click ->Spend
.After all, in case you are positive about precisely which cash have been spent, you will not have to spend all accessible cash this time, which might scale back the charge value a bit – however this example is comparatively uncommon. To maintain your self from off-by-one human errors, you’d higher simply spend all of them.
-
Now, you might be about to assemble a double-spending transaction which is able to ship these cash again to your individual pockets, or another deal with(es) you need, by clicking
Preview
button. This time you need to select a better charge charge (sat/Byte), at the very least greater than the caught transaction.By the best way, it’s extremely beneficial to allow replace-by-fee on this transaction, in case of additional fee-bumping.
-
Electrum is ready to present QR code of this double-spending transaction. Use one other on-line machine to scan it with Electrum, then it could possibly be despatched out. You may additionally attempt to ship it instantly after reconnecting the machine to Web.
If the caught transaction has not but expired on the Electrum server you might be utilizing, broadcasting the double-spending transaction would possibly face some errors. It’s possible you’ll attempt to broadcast it by means of different strategies, eg. block explorers, andsendrawtransaction
of Bitcoin Core.
The second drawback: Bitcoin Core full node is painful to sync
First, the efficiency bottleneck often lies at frequent I/O operations on the chainstate
subdirectory, which shops the UTXO database, particularly the info listing was positioned on an HDD (which is meant to make the scenario worse if the HDD is SMR).
Second, at present, I am personally not in favor of pruning, as a result of virtually all historic transaction historical past (which is precisely what the large block chain accommodates) is discarded, thus rescanning turns into restricted inside latest blocks solely. Rescanning occurs in case you are importing keys/addresses/pockets.dat, or zapwallettxes
. Sooner or later, this drawback is perhaps lastly relieved by some enhancements.
In case your laptop has loads of accessible RAM, you could allocate greater than 6GB (is determined by historic peak UTXO dimension) of RAM for the database cache (see the Choices
window) of Bitcoin Core. This tweak successfully removes the I/O bottleneck. (properly, you should still face this drawback in case you are catching up from some date earlier than, you could cat
(Linux/Mac) or sort
all information (use the *
wildcard) into /dev/null
(Linux/Mac) or nul
(Home windows) to power the OS to learn them as soon as, then they could possibly be cached into the RAM)
In case you have each HDD and SSD, you’ll be able to configure the blocksdir
parameter emigrate the large block chain to a cheap-but-slow HDD, whereas protecting the frequently-accessed chainstate
and so on on a fast-but-expensive SSD.