matthewh3
Legendary
Offline
Activity: 1372
Merit: 1003
|
|
November 29, 2012, 03:00:09 AM |
|
OK so I've installed Electrum and wrote down the seed and sent a coin there. Now I see the wallet has created more addresses than the five initially created. If I restore my wallet from seed will it have these newly created extra wallet addresses in it or just the first five wallet initial wallet addresses created first with the wallet on installation?
Also if I create my wallet from seed will it still have the same password from the initial wallet?
|
|
|
|
|
|
|
|
|
If you want to be a moderator, report many posts with accuracy. You will be noticed.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
ThomasV
Moderator
Legendary
Offline
Activity: 1896
Merit: 1353
|
|
November 29, 2012, 09:35:01 AM |
|
If I restore my wallet from seed will it have these newly created extra wallet addresses in it or just the first five wallet initial wallet addresses created first with the wallet on installation?
if it was the case, it would be really bad... it would mean you do not recover all your money. do you think it would be acceptable ? Also if I create my wallet from seed will it still have the same password from the initial wallet?
Of course not. Your password is only used to encrypt your seed locally (on your hard disk). you can use the same wallet (same seed) on different computers, with different passwords.
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
BkkCoins
|
|
November 29, 2012, 10:09:48 AM |
|
If I restore my wallet from seed will it have these newly created extra wallet addresses in it or just the first five wallet initial wallet addresses created first with the wallet on installation?
if it was the case, it would be really bad... it would mean you do not recover all your money. do you think it would be acceptable ? How does Electrum decide how many addresses to recover from the seed? For example, does it stop when an address is generated with no trx in the blockchain? Does it generate them singly or in sets of N qty, where N is the gap limit? If every address in one gap limit set is not used does that stop further recovery?
|
|
|
|
ThomasV
Moderator
Legendary
Offline
Activity: 1896
Merit: 1353
|
|
November 29, 2012, 10:15:33 AM |
|
How does Electrum decide how many addresses to recover from the seed? For example, does it stop when an address is generated with no trx in the blockchain? Does it generate them singly or in sets of N qty, where N is the gap limit? If every address in one gap limit set is not used does that stop further recovery?
yes, the gap limit is used to know when recovery should stop. there is an explanation text that you can read, see the the help button in your settings dialog.
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
BkkCoins
|
|
November 29, 2012, 11:05:08 AM |
|
How does Electrum decide how many addresses to recover from the seed? For example, does it stop when an address is generated with no trx in the blockchain? Does it generate them singly or in sets of N qty, where N is the gap limit? If every address in one gap limit set is not used does that stop further recovery?
yes, the gap limit is used to know when recovery should stop. there is an explanation text that you can read, see the the help button in your settings dialog. I read that but it doesn't have any specifcs. I'm asking about exact conditions that determine when recovery stops creating addresses but I guess I should just read the code as that's what we expect each user to do, right?
|
|
|
|
ThomasV
Moderator
Legendary
Offline
Activity: 1896
Merit: 1353
|
|
November 29, 2012, 01:28:35 PM |
|
I read that but it doesn't have any specifcs. I'm asking about exact conditions that determine when recovery stops creating addresses but I guess I should just read the code as that's what we expect each user to do, right?
The help says: "The gap limit is the maximal number of contiguous unused addresses in your sequence of receiving addresses." As a corrolary, the recovery stops when no more address can be extracted without violating this condition. I am sorry if that is not clear for you. If you find a better way to explain it, in a reasonably concise manner, please make a constructive proposal.
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
hazek
Legendary
Offline
Activity: 1078
Merit: 1002
|
|
November 29, 2012, 03:03:33 PM |
|
I read that but it doesn't have any specifcs. I'm asking about exact conditions that determine when recovery stops creating addresses but I guess I should just read the code as that's what we expect each user to do, right?
The help says: "The gap limit is the maximal number of contiguous unused addresses in your sequence of receiving addresses." As a corrolary, the recovery stops when no more address can be extracted without violating this condition. I am sorry if that is not clear for you. If you find a better way to explain it, in a reasonably concise manner, please make a constructive proposal. Propolsal: Call it a buffer not a gap(makes significantly more sense to me to call it a buffer), and replace contiguous with a more simple "next" "The buffer limit is the maximal number of next unused addresses in your predetermined sequence of receiving addresses created from your seed." As a corrolary, the recovery stops when no more address can be extracted without violating this condition.
|
My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)
If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
|
|
|
Michael_S
Sr. Member
Offline
Activity: 278
Merit: 250
Bitcoin-Note-and-Voucher-Printing-Empowerer
|
|
November 30, 2012, 12:43:58 AM |
|
I read that but it doesn't have any specifcs. I'm asking about exact conditions that determine when recovery stops creating addresses but I guess I should just read the code as that's what we expect each user to do, right?
The help says: "The gap limit is the maximal number of contiguous unused addresses in your sequence of receiving addresses." As a corrolary, the recovery stops when no more address can be extracted without violating this condition. I am sorry if that is not clear for you. If you find a better way to explain it, in a reasonably concise manner, please make a constructive proposal. Propolsal: Call it a buffer not a gap(makes significantly more sense to me to call it a buffer), and replace contiguous with a more simple "next" "The buffer limit is the maximal number of next unused addresses in your predetermined sequence of receiving addresses created from your seed." As a corrolary, the recovery stops when no more address can be extracted without violating this condition. Hmm, I think "contiguous" is more appropriate than "next" here, although I am not a native speaker. Also, I think "gap" is better than "buffer", because it has nothing to do with "buffer" in the sense of "memory" or so... Anyway, another text proposal from my side (albeit not quite as concise): The gap limit "N_gap" is the maximal number of subsequent unused addresses showing up in your list of receiving addresses amongst the (infinite) sequence of addresses that is unequivocally defined by the seed of your wallet. Whenever one of these unused addresses becomes used (by receiving some funds), Electrum will make the next address in this sequence appear in the list of receiving addresses, such that always "N_gap" unused receiving addresses show up. As a corrolary, the procedure of recovering your wallet from seed stops as soon as "N_gap" subsequent addresses are found that have not yet received any funds. BTW: I have another proposal for Electrum's implementation of the "recovery from seed"-procedure in the first place: Why not hard-coding a reasonably high number, like e.g. N_gap_default_recovery=[20], into Electrum's code, that implies that every wallet from seed recovery will always use this value of N_gap=[20] for the recovery procedure. If it doesn't find any used address in a sequence of [20] contiguous addresses, it stops the recovery process, and than in the receive address list of course it only displays as many addresses as specified in the user settings (e.g. N_gap=3 or whatever). Only if the user changes the value N_gap in the user settings to a higher value than this hard-coded value of [20], a warning message pops up that tells the user that he should remember this value in case he should later want to recover the wallet from seed and asks if the user really wants to set such an unusually high gap limit and knows what he is doing ("only for expert users..." or something...). Upon recovery of the wallet from seed, there could be two buttons, called something like "recover from seed now" and "recover from seed with special gap limit". When clicking the second button, a new dialog asks for the gap_limit value (that the user then typically sets to a value > [20]) that the user wants to use for the wallet recovery procedure. Why this? And why "20"? Because under normal circumstances a normal user probably never needs to set a gap limit > 20, but 20 is still low enough such that the wallet recovery procedure does not take overly long. Note that under normal usage, the user will anyway be 100 or more addresses down in the seed's sequence of addresses, so the wallet recovery procedure will not take significantly longer if the recovery procedure needs to check e.g. 170 addresses instead of only 150 addresses. To summarize: With this modification the average user gains some comfort in terms of configuring the gap_limit within a reasonable range (1-20) without getting "bothered" with having to remember anything about the "gap_limit". Only very few expert users that need to use gap_limit values >20 (for whatever reason...) will need to care about it. [off-topic: Another useful feature would be to sort the lists by address/by date/by label name/by balance/by nb of Tx/by flag/... upon clicking on the respective column heading - actually this is the only thing I missed in today's GUI - aside a comfortable GUI-based offline transaction concept à la Armory and GUI-based private key importing (e.g. for vanity-keys administered inside Electrum) or public-key-only-importing (e.g. for "watch-only"-wallets).]
|
|
|
|
BkkCoins
|
|
November 30, 2012, 01:37:30 AM |
|
[off-topic: Another useful feature would be to sort the lists by address/by date/by label name/by balance/by nb of Tx/by flag/... upon clicking on the respective column heading - actually this is the only thing I missed in today's GUI - aside a comfortable GUI-based offline transaction concept à la Armory and GUI-based private key importing (e.g. for vanity-keys administered inside Electrum) or public-key-only-importing (e.g. for "watch-only"-wallets).]
I have the code for watch-only address import in my fork of Electrum along with some other useful stuff. I'm waiting for Electrum to stabilize with all the new stuff done before attempting to pull/merge fix my fork so that I can send pull requests. I suspect that my stuff may not merge nicely now due to many changes since September, and I haven't had time lately, but I do want to eventually offer my improvements to the mainline.
|
|
|
|
DarkHyudrA
Legendary
Offline
Activity: 1386
Merit: 1000
English <-> Portuguese translations
|
|
November 30, 2012, 01:19:42 PM |
|
Electrum is based on 2.7 or 3.3 python? I tried with 3.3 and it didn't compile the setup.py, error on line 16
Windows User here
|
English <-> Brazilian Portuguese translations
|
|
|
ThomasV
Moderator
Legendary
Offline
Activity: 1896
Merit: 1353
|
|
November 30, 2012, 01:39:10 PM |
|
Electrum is based on 2.7 or 3.3 python? I tried with 3.3 and it didn't compile the setup.py, error on line 16
Windows User here
python 2.7
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
Nick
Newbie
Offline
Activity: 57
Merit: 0
|
|
December 08, 2012, 02:16:39 AM |
|
Stupid question: When I import privatekeys into my Electrum wallet, does that somehow affect the deterministic address generation? Will the future generated deterministic keys differ from the keys Electrum would have created if I hadn't imported other private keys?
|
|
|
|
slush
Legendary
Offline
Activity: 1386
Merit: 1097
|
|
December 08, 2012, 02:17:33 AM |
|
Stupid question: When I import privatekeys into my Electrum wallet, does that somehow affect the deterministic address generation? Will the future generated deterministic keys differ from the keys Electrum would have created if I hadn't imported other private keys?
no, imported keys are kept separately and they don't affect deterministic algorithm.
|
|
|
|
Red Emerald
|
|
December 08, 2012, 02:19:22 AM |
|
Electrum is based on 2.7 or 3.3 python? I tried with 3.3 and it didn't compile the setup.py, error on line 16
Windows User here
python 2.7 This question seems to be asked rather a lot. Maybe when you check for ecdsa and the other dependencies, you should check that python is 2.7. The check in setup.py should probably be changed to only allow 2.7, too.
|
|
|
|
BkkCoins
|
|
December 08, 2012, 09:41:18 AM Last edit: December 08, 2012, 09:54:46 AM by BkkCoins |
|
I somehow got a corrupted electrum.dat file today. I restored from a backup of two days ago and started electrum from cmd line. It gave me this error even though this file worked fine a couple days ago, and electrum worked fine this morning (hours ago). I'm using kind of an old version, 1.0 I believe but with some of my patches. Is there some reason that today the wallet would get corrupted by a new server version or something? Apparently I'm using electrum.bytesized-hosting.com but when I ran just now it would not sync and I tried to change servers, and restart. That's when it would not start any more. After restoring the screen opens and says "synchronizing" but this traceback is spit out in terminal. electrum Install zbar package to enable QR scans No servers loaded yet. Connected to electrum.bytesized-hosting.com:50001 Servers loaded. Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 456, in run self.handle_response(response) File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 406, in handle_response self.wallet.receive_history_callback(addr, result) File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 886, in receive_history_callback self.update_tx_history() File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 906, in update_tx_history line['value'] += tx['value'] KeyError: 'value'
I then manually edited the electrum.dat to remove reference to the server - now blank. When started again I get simply: electrum Traceback (most recent call last): File "/usr/local/bin/electrum", line 127, in <module> wallet.read() File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 736, in read self.update_tx_history() File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 906, in update_tx_history line['value'] += tx['value'] KeyError: 'value' This is all very odd. Is it possible some ubuntu update came thru today that is hosing something in python? Just sudddenly cannot get into my wallet.
|
|
|
|
Tachikoma
|
|
December 08, 2012, 09:45:10 AM |
|
I somehow got a corrupted electrum.dat file today. I restored from a backup of two days ago and started electrum from cmd line. It gave me this error even though this file worked fine a couple days ago, and electrum worked fine this morning (hours ago). I'm using kind of an old version, 1.0 I believe but with some of my patches. Is there some reason that today the wallet would get corrupted by a new server version or something? Apparently I'm using electrum.bytesized-hosting.com but when I ran just now it would not sync and I tried to change servers, and restart. That's when it would not start any more. After restoring the screen opens and says "synchronizing" but this traceback is spit out in terminal. electrum Install zbar package to enable QR scans No servers loaded yet. Connected to electrum.bytesized-hosting.com:50001 Servers loaded. Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 456, in run self.handle_response(response) File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 406, in handle_response self.wallet.receive_history_callback(addr, result) File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 886, in receive_history_callback self.update_tx_history() File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 906, in update_tx_history line['value'] += tx['value'] KeyError: 'value'
That server should not even be online, it's not running Electrum bitcoin server anymore. The server got moved to electrum.bysh.me. That IP is still running a old version of the Electrum Litecoin server. Perhaps somehow you got Litecoin data in your Bitcoin wallet?
|
|
|
|
BkkCoins
|
|
December 08, 2012, 09:56:34 AM |
|
That server should not even be online, it's not running Electrum bitcoin server anymore. The server got moved to electrum.bysh.me.
That IP is still running a old version of the Electrum Litecoin server. Perhaps somehow you got Litecoin data in your Bitcoin wallet?
NO idea how it got there except I used to use it some time ago. Perhaps trying to connect to it got something corrupted? I've tried editing the wallet to remove the reference to a server but still gives an error although simpler. Ok. Here's something else I tried. I restored my backup from 2 days ago. Then edited it to remove the server. Then started and got this traceback: electrum Install zbar package to enable QR scans No servers loaded yet. Connected to electrum.novit.ro:50001 Servers loaded. Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 456, in run self.handle_response(response) File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 406, in handle_response self.wallet.receive_history_callback(addr, result) File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 886, in receive_history_callback self.update_tx_history() File "/usr/local/lib/python2.7/dist-packages/electrum/wallet.py", line 900, in update_tx_history tx_hash = tx['tx_hash'] TypeError: string indices must be integers
After that the screen still is up but stuck on sync'ing. So I changed server to ecdsa.org and exited. Checking the dat file I see new server is saved and correct. But starting again results in same error as one above.
|
|
|
|
Tachikoma
|
|
December 08, 2012, 10:01:06 AM |
|
Which server is it connecting to now? I think the response from the server is not as expected, at least that looks to be case.
|
|
|
|
BkkCoins
|
|
December 08, 2012, 10:02:59 AM |
|
Which server is it connecting to now? I think the response from the server is not as expected, at least that looks to be case.
Oops.Posted while you wrote. As above tried to pre-edit to skip bad server. But even with ecdsa.org seems to give erro as above.
|
|
|
|
BkkCoins
|
|
December 08, 2012, 10:05:58 AM Last edit: December 08, 2012, 10:17:24 AM by BkkCoins |
|
Trying new wallet. Copied mine to bak file. New wallet file creates ok and syncs (but with no data). Now going to try restoring from seed but will lose imported addresses. I can manually import from my old satoshi wallet if really forced to. edit: Egad What's going on! Tried to restore from seed and got this: Recovering wallet... Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 434, in run self.start_interface() File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 425, in start_interface self.interface.init_socket() File "/usr/local/lib/python2.7/dist-packages/electrum/interface.py", line 263, in init_socket if self.proxy["mode"] == "none": TypeError: 'NoneType' object has no attribute '__getitem__' Did an updated ubuntu electrum package just get pushed from PPA? I didn't notice this morning when updates happened but perhaps some new version just overwrite my own local (modfied) one? (No. Just checked and I must have removed ppa for electrum long ago) Re-installed from my local source copy but gives same results. Totally don't understand what's happened.
|
|
|
|
|