Bitcoin Forum
May 04, 2024, 07:39:47 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Unable to sign a transaction after upgrading offline wallet 1.9.8->2.5.4 [SOLVD]  (Read 593 times)
bitcatch (OP)
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
December 03, 2015, 05:45:41 AM
Last edit: December 03, 2015, 05:26:44 PM by bitcatch
 #1

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 '.'.
1714808387
Hero Member
*
Offline Offline

Posts: 1714808387

View Profile Personal Message (Offline)

Ignore
1714808387
Reply with quote  #2

1714808387
Report to moderator
1714808387
Hero Member
*
Offline Offline

Posts: 1714808387

View Profile Personal Message (Offline)

Ignore
1714808387
Reply with quote  #2

1714808387
Report to moderator
1714808387
Hero Member
*
Offline Offline

Posts: 1714808387

View Profile Personal Message (Offline)

Ignore
1714808387
Reply with quote  #2

1714808387
Report to moderator
In order to get the maximum amount of activity points possible, you just need to post once per day on average. Skipping days is OK as long as you maintain the average.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714808387
Hero Member
*
Offline Offline

Posts: 1714808387

View Profile Personal Message (Offline)

Ignore
1714808387
Reply with quote  #2

1714808387
Report to moderator
JWU42
Legendary
*
Offline Offline

Activity: 1666
Merit: 1000


View Profile
December 03, 2015, 12:29:51 PM
 #2

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.

bitcatch (OP)
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
December 03, 2015, 01:59:16 PM
 #3

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?
bitcatch (OP)
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
December 03, 2015, 02:18:16 PM
Last edit: December 03, 2015, 04:04:05 PM by bitcatch
 #4

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.
JWU42
Legendary
*
Offline Offline

Activity: 1666
Merit: 1000


View Profile
December 03, 2015, 04:37:40 PM
 #5

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...


BitcoinNewsMagazine
Legendary
*
Offline Offline

Activity: 1806
Merit: 1164



View Profile WWW
December 03, 2015, 05:09:11 PM
 #6

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.

bitcatch (OP)
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
December 03, 2015, 05:19:12 PM
Last edit: December 03, 2015, 05:30:24 PM by bitcatch
 #7

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.
bitcatch (OP)
Newbie
*
Offline Offline

Activity: 53
Merit: 0


View Profile
December 03, 2015, 05:24:16 PM
 #8

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.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!