Pages:
Author

Topic: [ANNOUNCE] Electrum - Lightweight Bitcoin Client - page 71. (Read 274562 times)

legendary
Activity: 1106
Merit: 1016
090930
ok, use the command line, and generate the same transaction with mktx.
there will be a traceback. post it here.

There you go:


python electrum mktx -f 0.001 19mP9FKrXqL46Si58pHdhGKow88SUPy1V8 0.002
Password:
Traceback (most recent call last):
  File "electrum", line 416, in
    fee = options.tx_fee, change_addr = change_addr, from_addr = from_addr )
  File "%AppData%\Electrum-P\R049\C_\ElectrumPY\electrum\wallet.py", line 782, in mktx
    s_inputs = self.sign_inputs( inputs, outputs, password )
  File "%AppData%\Electrum-P\R049\C_\ElectrumPY\electrum\wallet.py", line 679, in sign_inputs
    private_key = ecdsa.SigningKey.from_string( self.get_private_key(addr, password), curve = SECP256k1 )
  File "%AppData%\Electrum-P\R049\C_\ElectrumPY\electrum\wallet.py", line 384, in get_private_key
    b = self.pw_decode( self.imported_keys[address], password )
  File "%AppData%\Electrum-P\R049\C_\ElectrumPY\electrum\wallet.py", line 698, in pw_decode
    d = DecodeAES(secret, s)
  File "%AppData%\Electrum-P\R049\C_\ElectrumPY\electrum\wallet.py", line 153, in
    DecodeAES = lambda secret, e: aes.decryptData(secret, base64.b64decode(e))
  File "%AppData%\Electrum-P\R049\C_\Python27\lib\base64.py", line 76, in b64decode
    raise TypeError(msg)
TypeError: Incorrect padding
None

FFLY_VM>
legendary
Activity: 1896
Merit: 1353
ok, use the command line, and generate the same transaction with mktx.
there will be a traceback. post it here.
legendary
Activity: 1106
Merit: 1016
090930
are there imported keys in your wallet?
(I am asking this because you reported that the bug does not occur right after you regenerate the wallet)

Yes, I do have one imported key. In my tests, problems usually don't begin right after the import, more like a few hours (or transactions, not sure) afterwards.
legendary
Activity: 1896
Merit: 1353
are there imported keys in your wallet?
(I am asking this because you reported that the bug does not occur right after you regenerate the wallet)
legendary
Activity: 1106
Merit: 1016
090930
Hi Thomas,
thanks for that new release.
Indeed, I am able to get a readable error message now.

(The test address in the below screenshot is the ECDSA node, copy-pasted)

legendary
Activity: 1896
Merit: 1353
I've had the below issue several times the last few days, when trying to make a payment.

I released a bugfix version, 0.49a
it should display the error message properly. let me know.
legendary
Activity: 1896
Merit: 1353
Hi,

I've had the below issue several times the last few days, when trying to make a payment.
When I get this error, the payment doesn't go through.  Strangely, the only thing I have found
to be effective when this happens is rebuilding the wallet file! It doesn't seem to be related to
a specific release - I've tried the last 4 and all give me the same problem.

The only thing that has changed for me in the last few days is a slightly larger
wallet balance, but I'm not sure if this has anything to do with it. Any ideas?

Connected to ecdsa.org:50001
Traceback (most recent call last):
  File "%AppData%\Electrum-P\R048b\C_\ElectrumPY\lib\gui_qt.py", line 463, in do_send
    self.show_message(e.message)
  File "%AppData%\Electrum-P\R048b\C_\ElectrumPY\lib\gui_qt.py", line 828, in show_message
    QMessageBox.information(self, 'Message', msg, 'OK')
TypeError: arguments did not match any overloaded call:
  QMessageBox.information(QWidget, QString, QString, QMessageBox.StandardButtons
 buttons=QMessageBox.Ok, QMessageBox.StandardButton defaultButton=QMessageBox.No
Button): argument 3 has unexpected type 'Error'
  QMessageBox.information(QWidget, QString, QString, int, int button1=0, int button2=0): argument 3 has unexpected type 'Error'
  QMessageBox.information(QWidget, QString, QString, QString, QString button1Text=QString(), QString button2Text=QString(), int defaultButtonNumber=0, int escapeButtonNumber=-1): argument 3 has unexpected type 'Error'

it is failing to display an error message.
this message might be caused by an invalid destination address, or an insufficient balance.
can you try to send to an invalid address and tell me if you get the same error?
legendary
Activity: 1106
Merit: 1016
090930
Hi,

I've had the below issue several times the last few days, when trying to make a payment.
When I get this error, the payment doesn't go through.  Strangely, the only thing I have found
to be effective when this happens is rebuilding the wallet file! It doesn't seem to be related to
a specific release - I've tried the last 4 and all give me the same problem.

The only thing that has changed for me in the last few days is a slightly larger
wallet balance, but I'm not sure if this has anything to do with it. Any ideas?

Connected to ecdsa.org:50001
Traceback (most recent call last):
  File "%AppData%\Electrum-P\R048b\C_\ElectrumPY\lib\gui_qt.py", line 463, in do_send
    self.show_message(e.message)
  File "%AppData%\Electrum-P\R048b\C_\ElectrumPY\lib\gui_qt.py", line 828, in show_message
    QMessageBox.information(self, 'Message', msg, 'OK')
TypeError: arguments did not match any overloaded call:
  QMessageBox.information(QWidget, QString, QString, QMessageBox.StandardButtons
 buttons=QMessageBox.Ok, QMessageBox.StandardButton defaultButton=QMessageBox.No
Button): argument 3 has unexpected type 'Error'
  QMessageBox.information(QWidget, QString, QString, int, int button1=0, int button2=0): argument 3 has unexpected type 'Error'
  QMessageBox.information(QWidget, QString, QString, QString, QString button1Text=QString(), QString button2Text=QString(), int defaultButtonNumber=0, int escapeButtonNumber=-1): argument 3 has unexpected type 'Error'
legendary
Activity: 1896
Merit: 1353
Having trouble restoring a wallet.. it's not populating my addresses:

this is because you restored with the -o option
it will create the addresses when you go online
hero member
Activity: 784
Merit: 1010
Bitcoin Mayor of Las Vegas
Having trouble restoring a wallet.. it's not populating my addresses:

Quote
2012-05-14:1624 PDT
[tux@powerball .electrum]$ ls
total 12K
drwxrwxr-x.  2 tux tux 4.0K 2012-05-14 16:23 .
drwx------. 37 tux tux 4.0K 2012-05-14 12:05 ..
-rw-rw-r--.  1 tux tux   32 2012-05-14 16:14 my.seed

2012-05-14:1624 PDT
[tux@powerball .electrum]$ cat my.seed
20ad8bafa8c3a51cce122eeafa53a1c8

2012-05-14:1624 PDT
[tux@powerball .electrum]$ electrum -o restore
Password (hit return if you do not wish to encrypt your wallet):
server (default:electrum.novit.ro):
port (default:50001):
protocol [t=tcp;h=http;n=native] (default:t):
fee (default:0.001):
gap limit (default 5):
seed:20ad8bafa8c3a51cce122eeafa53a1c8
Wallet saved in 'None'

2012-05-14:1624 PDT
[tux@powerball .electrum]$ cat electrum.dat
{'change_addresses': [], 'fee': 100000, 'addresses': [], 'master_public_key': 'b6dc08f6999bf78a3f30a1e70e6972694569792be4367c02f5e2d254e9ad0555011d1e888c81bbd e05487cdcd7abb5456bfaae5b3ae24802070a7d54aac5114e', 'use_encryption': False, 'labels': {}, 'contacts': [], 'server': 'electrum.novit.ro:50001:t', 'num_zeros': 0, 'seed': '20ad8bafa8c3a51cce122eeafa53a1c8', 'frozen_addresses': [], 'imported_keys': {}, 'authorities': {}, 'seed_version': 4, 'aliases': {}, 'receipts': {}, 'history': {}}
2012-05-14:1624 PDT
[tux@powerball .electrum]$
full member
Activity: 168
Merit: 100
I see. easy_install is confused is because you are calling it from the electrum directory, where there is already an ecdsa directory
The easiest way to deal with this is probably to reinstall Electrum from scratch, with the pip command, as stated on the Electrum webpage.
Remove your current Electrum-0.49 directory, and type:
Code:
sudo pip install http://ecdsa.org/electrum/Electrum-latest.tar.gz
It should install everything.

Another solution is to install ecdsa and aes using pip, instead of easy_install
Code:
sudo pip install ecdsa
sudo pip install slowaes

Ok, now that I know what pip is, I got it to work. Apparently the ecdsa part of the current electrum package is broken, but if I install it separately with pip then everything works.
jr. member
Activity: 53
Merit: 2
Quote
this is indeed a display bug; a deseeded wallet should not show keys at all.

Good to know, thanks.
hero member
Activity: 784
Merit: 1010
Bitcoin Mayor of Las Vegas
WHEW!! also confirmed.  keys change when you reseed the .dat again.   Shocked
legendary
Activity: 1896
Merit: 1353
"electrum deseed" followed by "electrum addresses -k" still displays secret keys.
Doesn't this mean that a deseeded wallet can still send bitcoins from the addresses it contains?
That kinda defeats the purpose of an offline wallet.

no, the keys that are displayed in that case are derived from the empty seed.
they are not the private keys of your wallet.
this is indeed a display bug; a deseeded wallet should not show keys at all.

hero member
Activity: 784
Merit: 1010
Bitcoin Mayor of Las Vegas
confirmed.

How the heck is it doing that? I don't see anything in the .dat file that could be used to provide that information - unless it's coming from master_public_key... which would be bad.
jr. member
Activity: 53
Merit: 2
"electrum deseed" followed by "electrum addresses -k" still displays secret keys.
Doesn't this mean that a deseeded wallet can still send bitcoins from the addresses it contains?
That kinda defeats the purpose of an offline wallet.
donator
Activity: 674
Merit: 523
Hi,

Only mnemonic code is copied when clicking on "Copy to clipboard" button (inside seed window). Please add normal seed code too.
legendary
Activity: 1896
Merit: 1353
Requests to help with automation...
'deseed' saves the seed in the same 2 column format as 'electrum seed'.
the 2 columns are just 2 ways to represent the same information.
if it has to be consistent with 'electrum seed', I guess it is better to change 'electrum seed' instead
For example, we could add an option to print the seed as hexadecimal, and the default would be mnemonic (or the reverse)


Quote
Also, there is a 'are you sure' prompt. Could this be removed or a '-batch' option be passed to bypass interactive prompts?
yes, I think it could be an option


Quote
'reseed' looks like it is expecting the wallet seed input file to be 'electrum.dat.seed'. It would probably be better if it simply appended '.seed' to whatever was specified with '-w'.
but this is already how 'reseed' works: it appends '.seed' to the wallet name (whether specified with -w or default).
or did I miss something?


thanks for the donation, btw.
legendary
Activity: 1896
Merit: 1353
Any idea what I'm missing here? Using python-2.7.2-5.2.fc16.x86_64

Quote
Traceback (most recent call last):
  File "/usr/bin/electrum", line 4, in
    import pkg_resources
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2707, in
    working_set.require(__requires__)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: Electrum==0.49
no idea.. how did that happen?
legendary
Activity: 1896
Merit: 1353
What is/Is there a procedure for importing qt client wallet.dat files into the electrum wallet?

You can do it in a couple steps, using the pywallet.py tool to export all private keys from the wallet.dat and then import them into electrum. I'm not aware of a simpler way.

no, there is no simpler way.
of course, you lose the benefit of a deterministic wallet if you import keys.
Pages:
Jump to: