Author

Topic: Unable to sign a transaction after upgrading offline wallet 1.9.8->2.5.4 [SOLVD] (Read 618 times)

newbie
Activity: 53
Merit: 0
You can't mix and match versions of Electrum for cold storage. Old versions signed transactions HighS while the new one signs LowS. Update your offline wallet to the same latest version as your watching only online Electrum.
Thanks for you help attempt, but you misunderstood the problem a bit. I updated of course the offline client understanding that it's the signature part of the transaction which makes it to be rejected by the network.
newbie
Activity: 53
Merit: 0
Do not worry about the addresses in the offline client...

Create the TX with a watch online 2.5.4 client.  The sign with the 2.5.4 offline client.

Just download the 2.5.4 tarball and extract the tarball then run ./electrum from the directory.  No need to install anything...


Thanks a lot! It helped, I was trying to sign with an Electrum 2.5.4 a transaction created by Electrum 1.9.8 assuming that they should be identical except the signature part (especially given that 2.5.4 successfully decodes transaction created by 1.9.8 ). It turned out they are not. Thanks again.

Out of curiosity, would you mind to explain what's the difference between them. I took a look at json files and 2.5.4 version doesn't contain "input_info" field, but 2.5.4 shouldn't pay attention to that field anyway, since 2.5.4 version doesn't contain it.
legendary
Activity: 1806
Merit: 1164
You can't mix and match versions of Electrum for cold storage. Old versions signed transactions HighS while the new one signs LowS. Update your offline wallet to the same latest version as your watching only online Electrum.
legendary
Activity: 1666
Merit: 1000
Just in case. To make my description more clear.
I successfuly signed the transaction by my old offline Electrum 1.9.8 wallet, but this transaction isn't accepted by Electrum servers (I suppose), blockchain.info also rejects it saying something like "noncanonical signature, high S", something like that.
The address from which I wanted to spend is 13'th in the list of receive addresses of online client, predictably I don't see it among the first 5 addresses which offline client shows. And now there is no 'sign' button when I load the transaction from file in the offline client.

Edit. More details, may be they are important. In order to upgrade the offline client, first I tryed to run the setup script: 'sudo python setup.py install', but it exited with an error. Then I just launched the client with 'python electrum', it launched OK, but I got the described problem.

Edit 2. Is there a way to see more receive addresses in the offline client? If they continue to be different from the online client, then probably different clients generate different keypairs from the same seed.

Do not worry about the addresses in the offline client...

Create the TX with a watch online 2.5.4 client.  The sign with the 2.5.4 offline client.

Just download the 2.5.4 tarball and extract the tarball then run ./electrum from the directory.  No need to install anything...

newbie
Activity: 53
Merit: 0
Just in case. To make my description more clear.
I successfuly signed the transaction by my old offline Electrum 1.9.8 wallet, but this transaction isn't accepted by Electrum servers (I suppose), blockchain.info also rejects it saying something like "noncanonical signature, high S", something like that.
The address from which I wanted to spend is 13'th in the list of receive addresses of online client, predictably I don't see it among the first 5 addresses which offline client shows. And now there is no 'sign' button when I load the transaction from file in the offline client.

Edit. More details, may be they are important. In order to upgrade the offline client, first I tryed to run the setup script: 'sudo python setup.py install', but it exited with an error. Then I just launched the client with 'python electrum', it launched OK, but I got the described problem.

Edit 2. Is there a way to see more receive addresses in the offline client? If they continue to be different from the online client, then probably different clients generate different keypairs from the same seed.
newbie
Activity: 53
Merit: 0
On the offline rig...

1.  Tools - Load transaction - From file
2.  Sign TX
3.  Save TX

Then sneakernet the signed TX back to online (watch-only) and broadcast it.
Given that I already tryed to broadcast it, but from Electrum 1.9.8, signed by Electrum 1.9.8 do you think I don't know that?
legendary
Activity: 1666
Merit: 1000
To see hidden folders do

Code:
ls -la

The behavior of 2.5.4 is the same as 1.9.8.

On the offline rig...

1.  Tools - Load transaction - From file
2.  Sign TX
3.  Save TX

Then sneakernet the signed TX back to online (watch-only) and broadcast it.
newbie
Activity: 53
Merit: 0
I had an offline/online-watching-only wallet of version 1.9.8. Recently i tryed to spend some of my BTC and got a "your wallet created a transaction which is no longer accepted by bitcoin network, you need to upgrade to 2.5.x" or something like that message. Since I didn't want to upgrade, I tryed to broadcast my transaction via blockchain.info, but it also told me that my signature is non-canonical.
So I decided to upgrade. The watching only part of the wallet was upgraded without problems. I see all my addresses with their respective balances. Since the offline part of the wallet is not supposed to ever be connected to any networks, I downloaded the sources distribution, unpacked it on the offline computer, launched. But I cannot sign my transaction. There is just no 'sign' button. Fortunately I see some of my addresses, so I suppose the master private key is intact. Where it is stored btw on a Linux machine? But the address from which I want to spend isn't among the first several addresses, so I suspect, that my offline client just doesn't know that it has private key for that address. Am I right?
And another thing looks weird. While the first 4 receive addresses coincide in online and offline clients, the 5'th address differs. I don't see the 5'th address from the offline client in the list of receive addresses in the online client nor I see it among change addresses. All 6 change addresses that I see in the offline client coincide with the first 6 change addresses in the online client.

Please help.

P.S. The online client runs on Windows.
And I've found out where Electrum stores wallet files. I'm not an experienced Linux user, being accustomed to Midnight Commander I didn't know that ls without arguments doesn't show those special folders whose names begin with '.'.
Jump to: