Sign in to follow this  
Followers 0
Jert

Won't confirm

15 posts in this topic

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

Share this post


Link to post
Share on other sites

@Jert what version of the wallet are you using? Look under 'Help' and 'About Freicoin'.

Also, what kind of system are you on, Windows 10 64bit, 32 bit, linux, Mac?

Share this post


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.

 

Share this post


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?

 

Share this post


Link to post
Share on other sites

@Rik8119 do you think you could help Jert here? The way I see it, the transaction was sent on an abandoned chain and can simply not be reconciled with the current chain. @Jert you could try emailing Mark Friedenbach at mark@friedenbach.org . There is also this: https://bitcointalk.org/index.php?topic=35214.0. Let me know how it works out.

 

Share this post


Link to post
Share on other sites

It's not visable on the network so it is still stuck from my knowlege?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

How can that happen? How does the wallet allow you to send more then you have? Demurrage is deducted every block, when you open your wallet.

But there is a difference of 1 satoshi. So it's really close. 

Share this post


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.

Share this post


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
Sign in to follow this  
Followers 0