|
ffe
|
|
July 15, 2012, 04:57:23 AM |
|
Just tried it. Receive worked. Currently waiting on a send. Very bare-bones but I like it. Comments: - I like the naming of receive keys. (Wish I could figure out how to retrieve a receive key by name at a later time.) - I like the password requirement to send. - Was not clear if I had to save the initial randomness to restore a wallet or if it can be regenerated from the password. - Not clear what server it is using to handle the blockchain. - Send is taking a while - I think because I'm playing with tiny amounts of coin. Wish I could add a miner fee to speed things up. Very nicely done!
|
|
|
|
anfedorov
Newbie
Offline
Activity: 44
Merit: 0
|
|
July 15, 2012, 05:40:17 AM |
|
Thanks! - I like the naming of receive keys. (Wish I could figure out how to retrieve a receive key by name at a later time.) - Was not clear if I had to save the initial randomness to restore a wallet or if it can be regenerated from the password. - Not clear what server it is using to handle the blockchain. - Send is taking a while - I think because I'm playing with tiny amounts of coin. Wish I could add a miner fee to speed things up.
If you right-click on the extension icon and click "Options", it should open up a tab that addresses these. Perhaps I should also add a way of opening the Options page from the popup? - Was not clear if I had to save the initial randomness to restore a wallet or if it can be regenerated from the password.
The initial randomness (the seed) is crypto-random, and optionally encrypted with AES using a passphrase, so yes, you need both the characters you see and the password (you can see them again in the Seed tab of the Options page).
|
|
|
|
ffe
|
|
July 15, 2012, 08:42:49 AM |
|
...Perhaps I should also add a way of opening the Options page from the popup?
No need. Everything is there and intuitive once I knew to look for options. Thanks.
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 15, 2012, 09:16:34 AM |
|
Real nice!! I like the streamlined foolproof GUI. Great initial version. 2 things I've noticed:
- Options page is blank for me, not sure why... (I only see the "Options" heading and that's it)
- Initial seed stretching is much slower than in Python... I was hoping that Chrome's awesome JS engine would be faster at this, but well. Or perhaps you're generating more than 5 addresses?
|
|
|
|
anfedorov
Newbie
Offline
Activity: 44
Merit: 0
|
|
July 15, 2012, 09:59:16 AM Last edit: July 15, 2012, 11:19:25 AM by anfedorov |
|
Real nice!! I like the streamlined foolproof GUI. Great initial version. 2 things I've noticed:
- Options page is blank for me, not sure why... (I only see the "Options" heading and that's it)
- Initial seed stretching is much slower than in Python... I was hoping that Chrome's awesome JS engine would be faster at this, but well. Or perhaps you're generating more than 5 addresses?
Thanks! I'm saw the Options page show up blank once as well when testing on my older laptop (with SC2 running in the background for slowness). Not sure what's causing it, but I'll refactor the JS on the Options page to fix it ASAP. The initial stretching doesn't include generation of the addresses (which is relatively quick). It's applying SHA256 to the seed 100k times to get the master private key (which is used to generate the private keys of addresses). I think this is slower because Python uses SHA256 implemented in a C library, whereas the extension uses a JS implementation. I don't think there's anything I can do to speed it up, since I want to be compatible with the Electrum client, so I tried to make the UI as clear as possible. Since this only needs to be done once when a wallet is set up, I think I'm satisfied with the current implementation.
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 15, 2012, 05:08:50 PM |
|
Real nice!! I like the streamlined foolproof GUI. Great initial version. 2 things I've noticed:
- Options page is blank for me, not sure why... (I only see the "Options" heading and that's it)
- Initial seed stretching is much slower than in Python... I was hoping that Chrome's awesome JS engine would be faster at this, but well. Or perhaps you're generating more than 5 addresses?
Thanks! I'm saw the Options page show up blank once as well when testing on my older laptop (with SC2 running in the background for slowness). Not sure what's causing it, but I'll refactor the JS on the Options page to fix it ASAP. Hmm... Can't post a screenshot as it's now working fine, after uninstalling / re-installing the extension! Very nice and clearly laid-out option page, by the way. The initial stretching doesn't include generation of the addresses (which is relatively quick). It's applying SHA256 to the seed 100k times to get the master private key (which is used to generate the private keys of addresses). I think this is slower because Python uses SHA256 implemented in a C library, whereas the extension uses a JS implementation. I don't think there's anything I can do to speed it up, since I want to be compatible with the Electrum client, so I tried to make the UI as clear as possible. Since this only needs to be done once when a wallet is set up, I think I'm satisfied with the current implementation.
Thanks for the explanation. I agree the one-time seed stretching delay is reasonable (about 45 seconds on this old laptop).
|
|
|
|
ThomasV (OP)
Legendary
Offline
Activity: 1896
Merit: 1353
|
|
July 15, 2012, 05:09:31 PM |
|
very nice.
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 15, 2012, 05:52:37 PM |
|
Now I'm getting the issue with the Options page again. Here's a screenshot.
|
|
|
|
anfedorov
Newbie
Offline
Activity: 44
Merit: 0
|
|
July 15, 2012, 08:14:21 PM |
|
Thanks for the explanation. I agree the one-time seed stretching delay is reasonable (about 45 seconds on this old laptop).
45 seconds! It's only once, but still, that's stretching it... I'll look into speeding up the SHA256 implementation I'm using, but can't promise anything. The screenshot helped a ton, thanks! It's the window width: Twitter bootstrap (the UI library I'm using) tries to render a different layout below width 980px that I didn't test, and it breaks everything! Thanks again for all of the feedback!
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 15, 2012, 09:22:15 PM |
|
Thanks for the explanation. I agree the one-time seed stretching delay is reasonable (about 45 seconds on this old laptop).
45 seconds! It's only once, but still, that's stretching it... I'll look into speeding up the SHA256 implementation I'm using, but can't promise anything. The screenshot helped a ton, thanks! It's the window width: Twitter bootstrap (the UI library I'm using) tries to render a different layout below width 980px that I didn't test, and it breaks everything! Thanks again for all of the feedback! Glad I could help! Also, unless I'm missing something, I guess you can make your package almost 50% smaller by removing the 'node_modules' folder from bitcoinjs. At first sight, your code doesn't appear to depend on it.
|
|
|
|
anfedorov
Newbie
Offline
Activity: 44
Merit: 0
|
|
July 16, 2012, 07:25:31 PM |
|
Also, unless I'm missing something, I guess you can make your package almost 50% smaller by removing the 'node_modules' folder from bitcoinjs. At first sight, your code doesn't appear to depend on it.
The jake script which builds lib/bitcoinjs/build/bitcoinjs-min.js depends on it, although the extension doesn't use anything it lib/bitcoinjs except that file. I'll remove it when I make the package, but I'll keep it in github, since I want people to be able to see the code they're running. I've released a fix to the Options page, so that should be all better now.
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 16, 2012, 08:15:58 PM |
|
Also, unless I'm missing something, I guess you can make your package almost 50% smaller by removing the 'node_modules' folder from bitcoinjs. At first sight, your code doesn't appear to depend on it.
The jake script which builds lib/bitcoinjs/build/bitcoinjs-min.js depends on it, although the extension doesn't use anything it lib/bitcoinjs except that file. I'll remove it when I make the package, but I'll keep it in github, since I want people to be able to see the code they're running. I've released a fix to the Options page, so that should be all better now. Thanks for the quick update! It seems that the issue with the options page is not totally solved, though: (items missing in the black menu bar, vertical positioning of the bar) But if I maximize the window, then I confirm that it shows perfectly indeed.
|
|
|
|
anfedorov
Newbie
Offline
Activity: 44
Merit: 0
|
|
July 16, 2012, 08:25:03 PM |
|
Oops, didn't realize I needed to hit "Publish changes" in the developer dashboard for it to go live. Should be upgrading to 0.1.5 now, where it's fixed.
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 16, 2012, 08:35:17 PM |
|
Oops, didn't realize I needed to hit "Publish changes" in the developer dashboard for it to go live. Should be upgrading to 0.1.5 now, where it's fixed.
Oh ok v0.1.5 working fine indeed! But... I did just run into another thing Suddenly, the seed stretching when creating a new wallet doesn't start at all. Progress bar stays on 0 and nothing happens. Not sure if this is something with my browser data or something, I couldn't further investigate yet.
|
|
|
|
anfedorov
Newbie
Offline
Activity: 44
Merit: 0
|
|
July 16, 2012, 08:43:52 PM |
|
But... I did just run into another thing Suddenly, the seed stretching when creating a new wallet doesn't start at all. Progress bar stays on 0 and nothing happens. Not sure if this is something with my browser data or something, I couldn't further investigate yet. Ah, that was because I got a little too eager deleting code from lib/bitcoinjs. Should be fixed with 0.1.6. I'll go through it (and other parts) more carefully to cut down the size of the package.
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 16, 2012, 08:48:23 PM |
|
But... I did just run into another thing Suddenly, the seed stretching when creating a new wallet doesn't start at all. Progress bar stays on 0 and nothing happens. Not sure if this is something with my browser data or something, I couldn't further investigate yet. Ah, that was because I got a little too eager deleting code from lib/bitcoinjs. Should be fixed with 0.1.6. I'll go through it (and other parts) more carefully to cut down the size of the package. Yep, fixed! I'll be sure to make a small donation when I get some BTC.
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
July 23, 2012, 10:49:38 AM |
|
|
|
|
|
flatfly
Legendary
Offline
Activity: 1092
Merit: 1016
760930
|
|
August 01, 2012, 08:14:48 AM |
|
I'm surprised this isn't getting more love.
|
|
|
|
ThomasV (OP)
Legendary
Offline
Activity: 1896
Merit: 1353
|
|
August 16, 2012, 07:39:50 AM Last edit: August 16, 2012, 09:25:51 AM by ThomasV |
|
I pledge 5btc.
the delay has expired, and nobody proposed an extension that matches the requirements (although a chrome extension has been developed). I will therefore return your plegde of 5 btc (see PM).
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
|