Any idea what's the package name of module I am missing?
Module AST has been introduced into standard python library in version 2.6, which is the reason why python 2.5 throws such error. I think electrum can safely expect python 2.6 as minimal version, as 2.5 is beeing obsolete in almost every distribution. A quick and dirty fix could be to replace all instances of ast.literal_eval() with eval(), but doing so exposes your client to messages containing code sent by a malicious server. I guess some sanitization is possible using regular expressions.
|
|
|
Try downloading python 2.7 I have only python 2.5 on Maemo5 and there is no easy way to upgrade it, but I have somehow managed to install all necessary dependencies on chrooted debian image with python 2.6 Screenshotcute!
|
|
|
One more finding: As far as I understand fee calculations in official client, it is "fee per kB", not "fee per transaction" as is implemented in Electrum. Normal transaction is usually under 1kB, however sometimes there are strange multi-kB transactions - especially when miners are consolidating their 0.01 payouts from pool to one address. Then static fee in Electrum can lead to some unexpected behaviour.
Indeed. well, the fee calculation in the official bitcoin client is quite complicated, and I did not take the time to reproduce it. However, when I first used the official client, it took me some time to realize that the fee was "per kB". In any case, I think that the fee should be visible from the user before they press the "send" button. Maybe we should display the suggested fee, and give the user the option to increase or decrease it.
|
|
|
Thomas, excellent work! I finally found some time to test everything and read (most of) the code. I really appreciate small footprint of client. There's lot of things which I like on your client, namely deterministic wallet (no need for periodic backup is awesome feature) and client-server architecture, which makes client really lightweight and very fast to use.
Few comment though.
1. Consider to switch to Qt. It's much modern gui toolkit and looks better especially on Windows. Thanks to minimalistic GUI it's still pretty easy to switch. Your client has great potential but GTK looks weird on Win and it's wrong to focus only on linux users (although I'm 100% linux user).
2. Consider better network interface and wallet format. Using 'repr' may break things in future as this isn't supposed to be platform-independent serializing method ;-). I see potential in using server side with some mobile clients, however implementing repr in java might be real hell. Although I don't recommend Json, it would be better than repr and it does not need new dependency as json parser is in stock python. Also thinking about pub/sub mechanism which can avoid server polling would be great. pubsub can make updates on client instant and yet vastly save server resources (as common client does not receive transaction all day long).
3. Consider to move to Github. I'd like to submit some fixes time to time and I finally need to learn with Git & Github :-). So migration to github would be good reason for me to go thru git manual (I'm mercurial user for years).
I can imagine that I'll install electrum to my friends instead of standard client when electrum matures a bit, because handling blockchain is simply big overhead for occasional users. Once again - really good work so far!
hi slush, thanks for the feedback! 1. Concerning Qt, I do not think we need to switch to Qt, we can just provide both Qt and gtk :-) I will not do it myself, because I am not familiar with Qt, but I will be very happy to include an alternative GUI if someone decides to write it. Note that someone already made the same proposal: https://bitcointalk.org/index.php?topic=50936.msg618488#msg618488 . Please also note that in the current GUI, I made sure that all functions can be accessed with the keyboard, with no need to reach for the mouse; if you design a Qt gui, I would love to keep the same accessibility. 2. wallet format: you are right. any patch is welcome. 2. server polling versus push: I disagree here. I decided to use polling instead of push for a reason. Many people have difficulties configuring with firewalls and opening ports. I wanted Electrum to be as easy to use as possible, and to require as little configuration as possible. I do not think that minimizing bandwidth is an issue at this point. Now, if you really want Electrum to use a push protocol, we can add it, but do not think that it should be the default. 3. the project is on gitorious. My username was already taken at github. not at gitorious :-)
|
|
|
The relative market shares of MtGox and TradeHill did not change much since TradeHill was open: according to bitcoincharts.com, the volume reported on MtgoxUSD in the last 30 days is about 9 times the volume on thUSD.
I believe that this apparent stability hides a change.
The volume at MtGox is due to a large extent to massive sales of more than 10k bitcoins at once. When you want to sell that amount of coins, you better go to the market that has the best liquidity.
The volume at tradehill has been increasing lately, which shows that they are able to attract smaller trades.
At some point, the market will run out of very large sales, because these sales tend to distribute bitcoins among more and more people. When that happens, the volume at mtgox will be strongly reduced.
my guess is that in 6 months from now, the volume ratio between mtgoxUSD and thUSD will be very different from 9:1, probably something like 2:1, maybe even less
|
|
|
Great! I'll test when I'll have some free time and put up a public server online.
Awesome! Note that the server will join an irc channel in order to discover peers. The server has a 'peers' command that returns the list of other servers on the channel; it is not used by the client at this point.
|
|
|
Bitcoin will probably be stable around $1.00 or close to parity with the dollar. I sure that the developers had the dollar in mind when they created it and set the number of bitcoins.
this is by far the most ridiculous assertion I have read this week.
|
|
|
I am an atheist. I believe that "the Manipulator" does not exist. It is a product of your imagination.
|
|
|
<sarcasm> I speculate that a new name for the United States of America would bring peace over the world... </sarcasm>
|
|
|
try this client: http://ecdsa.org/electrum/it should be easier to use (no blockchain) of course, that won't help you recover the coins you are waiting for from mtgox... if you can, ask someone to configure your firewall. next time you send bitcoins to a client, make sure that it works for you.
|
|
|
nice! They allow ... who is "they" ? it sounds a little bit as if Bitcoin was an organisation
|
|
|
New users should instead use a reputable e-wallet while they wait for their client to download the blockchain. Now to find a reputable e-wallet...
it is also possible to use Electrum: http://ecdsa.org/electrumwith this kind of lightweight client, you do not have to download the blockchain, and you do not have to trust a third party with your private keys
|
|
|
just to illustrate how ridiculous these claims are, I created this little parody:
"It's my job to assist in the destruction of the Linux operating system. Currently we are researching various methods that will be used to attack free software in the near future. Previous attacks have resulted in usage drops, but we will not be content until Linux has been driven completely underground to a very small amount of fanatics with no chance of taking off into the main stream software world."
"I want Linux to be destroyed. It's not personal, this is just a requirement of the company I work for."
|
|
|
I am not sure if there is a difference between what you describe and how it currently works. if you configure your client to use port number 80 or 443, it will use http (res. https) to connect to the server.
My python is a little rusty, but I was under the impression that the Electrum server doesn't encrypt connections (or at least it's not clear from the code), not even on port 443. I didn't have time to test, but I am planning on rolling a public Electrum server on btcnode.novit.ro (it's a bitcoin fallback node) so I will follow the developments closely... oh, you are right, I should use httplib.HTTPSConnection if the port is 443. I previously used urllib2 instead of httplib, and with that library it was not necessary to make a distinction. I guess I forgot then. I just fixed that: https://gitorious.org/electrum/electrum/commit/77a198e810ffec89d5bcb23583f1a0593247ffe8
|
|
|
what is this thread about?
|
|
|
I don't like the client-server solution though. There's a big privacy issue there. The server knows all your addresses and transactions.
this is only due to the fact that there is currently only one server available. In the future I can imagine that there will be several servers running. When that happens, it will be possible for a paranoid client to connect to several servers, and to disclose only a subset of his addresses to each of them.
|
|
|
|