Jump to content

Won't confirm


Recommended Posts

I have a transaction from March 2017 that still won't confirm...  The facebook group told me to post it here.  Any ideas?

Status: 0/unconfirmed
Date: 3/1/17 13:40
To: 1JVgY27PfeBK4JuXN1BLpoKukWzpLh4Bnw
Debit: -3075.00 FRC
Transaction fee: -0.000000000762768148427646511851743164706632130028995848724597827779220679512116320974968175505637191236019134521484375 FRC
Net amount: -3075.000000000762768148427646511851743164706632130028995848724597827779220679512116320974968175505637191236019134521484375 FRC
Reference Height: 118664
Transaction ID: 31c6b8767a7b1d7ab8ca6ef97d44749982324d8437cf15efd55e042bdc75afa4

Link to post
Share on other sites
1 hour ago, Jert said:

I also tried moving the wallet to Windows 7, Freicoin-Qt.exe- v0.8.6.0-unk-beta - same result.

Could you explain that further.

Did you have a wallet previously on your Windows system? Then you installed the 0.8.6, and imported the private key?

Also, does the 0.8.6 sync?

Basically, the 0.8.3 won't work anymore. There was a softfork with the wallet change. If you want to use FRC you need to use 0.8.6. I'm not sure if that transaction is recoverable. I think you sent it to an abandoned chain. I lost some FRC that way too. The point now is getting your 0.8.6 running right. If it syncs that's great. If it sees your transaction on the chain, it should be confirmed by now (I think). If it is not synching, you have to delete the blockchain files and it will reload it.

 

Link to post
Share on other sites

I did not previously have a windows wallet.  I just moved the wallet file to a new wallet on windows.  Both wallets sync fine.  The transaction just won't confirm.  No way to recover?  What is i load an older copy of the wallet file?

 

Link to post
Share on other sites
  • 1 month later...

This transaction is invalid:

Quote

ERROR: CheckInputs() : 31c6b8767a7b1d7ab8ca6ef97d44749982324d8437cf15efd55e042bdc75afa4 value in < value out (3075.0305883 < 3075.03058831)

In plain English, this transaction spends more freicoins than are available to it after the inputs are reduced by demurrage.

It is possible to recover from this by creating a transaction using the most recent version of freicoind/Freicoin-Qt. In the worst case if the wallet software does not let you do this, as it is equivalent to double-spending, then export the private keys and import them into a new wallet and try from there.

Link to post
Share on other sites

Difference of 2 satoshi/kria, actually. Lightning struck twice.

The wallet does not let you spend more than you have. This is not a bug or mistake. What happened was that about a year and a half ago we rolled out a soft-fork upgrade of the Freicoin network which changed the rules regarding how demurrage is calculated. Specifically it made it so that demurrage is truncated (rounded down) per-input instead of in aggregate over all transactions. Imagine a transaction that, after demurrage is calculated, results in 2 inputs that have 0.8 and 0.8 fractional kria each. Under the old rules these are represented as arbitrary-precision rational numbers that sum to 1.6 kria, which is then truncated to 1. Under the new rules, they are each truncated to zero before being summed as integers. 0 + 0 = 0.

While the old method was probably ideal in some mathematical sense, it required that every single piece of the freicoin code that worked with transaction values had to be modified to use arbitrary precision arithmetic. It was a huge drag on developer resources as patches many thousands of lines long had to be maintained and updated for each release. Indeed this minor technicality was one of the two main reasons we fell behind in maintaining the freicoin releases for each upstream bitcoin version (the other being lack of testing). The new method, on the other hand, confines the complex mathematics to a single 10-line function in a single file and only a few other points need to be updated to call that function. Much easier to maintain and well worth switching to.

However that does mean that if you create a zero-fee transaction using an old client (v0.8.3 or earlier), there is a small chance that you will trip this bug and claim one or two extra kria that you are not allowed under the new rules, thereby making your transaction invalid to any upgraded client. This was deemed to be an acceptably small risk for both theoretical and practical reasons. The theory is that it required paying zero fees, which is not the default even with nearly empty blocks, and even then had a low probability of happening. And pragmatically, we observed that in the 3 years or so that Freicoin had been in existence and in use, such a transaction had never, ever been made: the new-rules clients were able to successfully sync the whole chain without any exceptions being made. Finally, even if it did happen, that would not by itself lead to loss of funds -- the transaction would simply not confirm. Unconfirmed transactions is a fact of life in the greater bitcoin world and there are tools for dealing with them. Either make your wallet forget the transaction, upgrade, and sign again; or re-create it using the raw transaction API and manually adjust the amounts. Those are the two approaches I would take.

 

Mark. Murphy is a heartless bastard that enjoys picking on our friend Jert. Twice.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...