In response to your description (having issues whereas syncing full node), I’m wondering in case your “unconfirmed transaction” is admittedly unconfirmed? Is it already confirmed, or discarded (attributable to double-spending and so forth)?
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 to bump price with ease if the transaction had RBF enabled.
In case your caught transaction is just not so pressing, it’s possible you’ll simply look ahead to the mempool to be cleared naturally, then your transaction will lastly be confirmed, because the mempool is just not so crowded (like outdated occasions 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: it’s possible you’ll contact a mining pool which offers “transaction accelerating (prioritising)” service, like Poolin or BTC.COM. Nevertheless, this feature could 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 providers talked about above, however a bit sophisticated.
-
Discover out the earlier transaction(s) which the caught transaction is spending from. You could use the
getrawtransaction STUCK_TXID true
(substituteSTUCK_TXID
with your personal 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 exhibits 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 information of earlier transaction(s). You could 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, you want to run this command individually on everyPREVIOUS_TXID
, if a number of earlier transactions had been spent. -
Create a brand new Electrum pockets on an offline system, 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 positive, 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 indicate theCash
tab. Then swap to theCash
tab, choose all of them, and right-click ->Spend
.After all, in case you are positive about precisely which cash had been spent, you will not have to spend all accessible cash this time, which may scale back the price price 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 can ship these cash again to your personal pockets, or another deal with(es) you need, by clicking
Preview
button. This time it is best to select the next price fee (sat/Byte), at the very least increased than the caught transaction.By the best way, it’s extremely really helpful 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 system to scan it with Electrum, then it could possibly be despatched out. You may additionally attempt to ship it immediately after reconnecting the system to Web.
If the caught transaction has not but expired on the Electrum server you might be utilizing, broadcasting the double-spending transaction may face some errors. You could attempt to broadcast it by way 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 state of affairs worse if the HDD is SMR).
Second, at the moment, 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 incorporates) is discarded, thus rescanning turns into restricted inside current blocks solely. Rescanning occurs in case you are importing keys/addresses/pockets.dat, or zapwallettxes
. Sooner or later, this drawback could be lastly relieved by some enhancements.
In case your pc has loads of accessible RAM, it’s possible you’ll allocate greater than 6GB (is dependent upon 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. (nicely, you should still face this drawback in case you are catching up from some date earlier than, it’s possible you’ll cat
(Linux/Mac) or kind
all recordsdata (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)
When you’ve got each HDD and SSD, you may configure the blocksdir
parameter emigrate the large block chain to a cheap-but-slow HDD, whereas protecting the frequently-accessed chainstate
and so forth on a fast-but-expensive SSD.