Bitcoin Forum
November 09, 2024, 10:29:01 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 »
  Print  
Author Topic: Electrum - Bitcoin client for the common users (friendly and instant)  (Read 110065 times)
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 05, 2012, 11:19:33 AM
 #201

I don't think that even super-lightweight bitcoin protocol fully replaces the concept of Electrum server/client for one reason - simplicity. Client requesting high-level commands to (Electrum) servers will be still much easier to implement than anything directly communicating over bitcoin network. For example I don't think it will be ever possible to ask for address balance/history by a single HTTP request to bitcoin node, like it is Electrum android client doing these days, traversing all stupid firewalls and proxies on the way.

However the idea of bloom filtering and lightweight bitcoin nodes is very interesting for Electrum server implementation.

Lol, that 2nd paragraph is what I planned to answer when reading the first one Wink

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
ThomasV
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
October 05, 2012, 01:16:40 PM
Last edit: October 05, 2012, 01:28:31 PM by ThomasV
 #202

I am very sorry if I broke things you wrote. please understand that it was not my intention.

I made several changes last week in order to fix a few scripts that were broken.
To be more precise, Tachikoma added a third parameter to the constructor of the Interface class, and you added a fourth one.
Since that class was used elsewhere, the following scripts were broken: peers, blocks, watch_address, get_history

it would have been possible to add those parameters everywhere in order to fix this.
However, I feel that we should also try to reduce the complexity of the code whenever it is possible.
I decided that the third parameter was not really needed, and that the fourth one (proxy) could be optional.

Please do not take this as an aggression. You are very welcome to work on this project.
I did not complain about my scripts being broken, because I did not want to deter your contributions.
In return, I ask you to understand that I did not break things intentionally.

I reckon I did not properly test the proxy function after my commits, mostly because there was not manual for it;
but neither did you guys check that the parameters you added were not breaking things, so let us not blame eachother, ok?

In order to avoid such misunderstanding, it often helps to have direct communication (IRC), rather than delayed forum posts.
In addition, you could have write access to the repository; this would avoid the situation where changes in the repo conflict with your version.




I must say that I'm more than a bit peeved that my proxy code was rewritten and broken. The changes in current master break the ability to load a proxy config. I looked at the changes and thought it was broken but had to pull the current master branch to be sure. I also don't much like the numerous minor syntax changes. What I wrote was tested and worked and now it's a broken mess.

Currently if you set a proxy mode and save it will not get picked up when you start again. It also breaks the ability to disable a proxy to None with a cmd line option since None is no longer supported. These are things I tested fairly extensively before submitting my code. The changes also break fine tuning I made later and probably will result in conflicts when bringing in further improvements I've since made.

I've got whole slew of small and useful changes in my fork and I don't plan to do pull requests on any of them. All of the below are tested as working on my system. No one seems to have bothered testing them elsewhere. Socks support worked too before it was mangled up.

  confirmation-tooltips - use tooltip for confirm count instead of passing tx data
  exchanges-proxy-mode - proxy support for exchanges
  filter-history - show only selected address transactions
  import-addr-or-key-only - add watch only address support
  multi-exchange - allow selecting which exchange to use for quotes
  multi-select-send - easy coin control
  pro-show-currency - add currency quote next to balance in pro mode
  qr-scalable-centered - make qr code scale with window and centered
  red-debits - show withdraw/payments in red text as std for accounting
  remember-column-widths - stop having to re-set column widths
  sahara - new sandy brown theme
  shrink-gui-lite-settings - allow changing back to Lite mode from Pro

Right now, I'm a quite disgruntled with how this project is run. I'm not going to write code to just have it f'd with and overridden with breaking changes. I'd love to see Electrum improve but if the current devs prefer it stagnate then no problem, I can go put my efforts elsewhere.

I don't see that point of me testing my code extensively just to have it merged into master and then edited without my knowledge and broken. Shouldn't breaking changes be tested before merging in master? Doesn't that make bloody sense? Is there any rules about flow here or do people just edit willy nilly in master branch as they please?


Electrum: the convenience of a web wallet, without the risks
hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1003


View Profile
October 05, 2012, 03:07:47 PM
 #203

I just wanted to say that I love Electrum and what it does for me and I'd really love to see you guys be able to work together and set your egos aside to find a consensus and build on it rather than bicker over something that is easily solvable.  Wink

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
World
Hero Member
*****
Offline Offline

Activity: 743
Merit: 500



View Profile
October 05, 2012, 05:32:57 PM
 #204

I just wanted to say that I love Electrum and what it does for me and I'd really love to see you guys be able to work together and set your egos aside to find a consensus and build on it rather than bicker over something that is easily solvable.  Wink
+1

Supporting people with beautiful creative ideas. Bitcoin is because of the developers,exchanges,merchants,miners,investors,users,machines and blockchain technologies work together.
flatfly
Legendary
*
Offline Offline

Activity: 1092
Merit: 1016

760930


View Profile
October 06, 2012, 07:22:12 PM
 #205

Is genjix still involved? I haven't heard from him since the conference. I hope he's OK and will be back to lead this project soon!
piuk
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1005



View Profile WWW
October 08, 2012, 06:33:40 PM
 #206

Any chance someone could take a look this pull request https://github.com/spesmilo/electrum-server/pull/5

I would like to add an electrum fallback to blockchain.info but cannot currently due to CORS.

slush
Legendary
*
Offline Offline

Activity: 1386
Merit: 1097



View Profile WWW
October 08, 2012, 07:30:01 PM
 #207

Any chance someone could take a look this pull request https://github.com/spesmilo/electrum-server/pull/5

There's bug in indentation on the line with "self.send_response(200)". Can you fix it, please. Otherwise this pull request is safe.

ErebusBat
Hero Member
*****
Offline Offline

Activity: 560
Merit: 500

I am the one who knocks


View Profile
October 08, 2012, 08:31:01 PM
 #208

Any chance someone could take a look this pull request https://github.com/spesmilo/electrum-server/pull/5

I would like to add an electrum fallback to blockchain.info but cannot currently due to CORS.
This would be fantastic

░▒▓█ Coinroll.it - 1% House Edge Dice Game █▓▒░ • Coinroll Thread • *FREE* 100 BTC Raffle

Signup for CEX.io BitFury exchange and get GHS Instantly!  Don't wait for shipping, mine NOW!
ThomasV
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
October 08, 2012, 08:34:27 PM
 #209

Any chance someone could take a look this pull request https://github.com/spesmilo/electrum-server/pull/5

There's bug in indentation on the line with "self.send_response(200)". Can you fix it, please. Otherwise this pull request is safe.

looks safe to me. thanks for the patch!

Electrum: the convenience of a web wallet, without the risks
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
October 08, 2012, 11:55:14 PM
 #210

I made several changes last week in order to fix a few scripts that were broken.
To be more precise, Tachikoma added a third parameter to the constructor of the Interface class, and you added a fourth one.
Since that class was used elsewhere, the following scripts were broken: peers, blocks, watch_address, get_history
I don't think there's any problems with making the arguments optional and I certainly didn't mind that.

The problem is with the changes to how cmd line parms override the stored config and then are passed to the Interface constructor.

Currently if someone uses the master branch they can setup the proxy in the network dialog and it will work. But upon closing and reloading the program the proxy settings will not be loaded and no warning will be given. It just silently doesn't use the proxy, so if a user was intending to use Tor then without any indication it just uses the normal non-Tor connection method even though the network dialog still shows the proxy as set.

This is because the network dialog gets it's settings directly from the config file rather than active settings. The cmd line arg is parsed at start up but only if it's set is it passed to Interface. When a cmd line arg isn't given options.proxy has no value but the config is not consulted. I think the options.proxy argument to Interface needs to be replaced with

options.proxy or simple_config.config["proxy"]

to allow that if the cmd line has no setting then at least the config file setting will be used. I would note that the way I wrote it was the same way as the cmd line "gui" option was written as I tried to keep with what I saw to be precedent in the code. The reason it checked data type was because I desired that a user could temporarily disable a proxy by starting with a "-p none" option.

I also think there may be some issues with removing "none" as a valid setting and relying on None instead but I have not tested that under all conditions to see what effects that has.

marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
October 09, 2012, 02:45:28 AM
 #211

Quote
Currently if someone uses the master branch they can setup the proxy in the network dialog and it will work. But upon closing and reloading the program the proxy settings will not be loaded and no warning will be given. It just silently doesn't use the proxy, so if a user was intending to use Tor then without any indication it just uses the normal non-Tor connection method even though the network dialog still shows the proxy as set.

Who did this change?

Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 09, 2012, 07:28:49 AM
 #212

I found the commit with the problem. I would like to propose the reversal of this commit unless somebody knows a way to achieve loading via the simpleconfig class but also have support for the None argument for skipping the proxy when needed.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
ThomasV
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
October 09, 2012, 02:11:42 PM
 #213

I believe I fixed the proxy issue.
Please let me know if there are other problems.

There are still a few things that I do not like in the current way it works.
For example, if you override the proxy setting with the command line, it is not clear if the gui should save the new setting.
In addition, the network window is awkward. If proxy is disabled, the host and port entries should be disabled.

Electrum: the convenience of a web wallet, without the risks
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 09, 2012, 02:14:20 PM
 #214

I believe I fixed the proxy issue.
Please let me know if there are other problems.

There are still a few things that I do not like in the current way it works.
For example, if you override the proxy setting with the command line, it is not clear if the gui should save the new setting.
In addition, the network window is awkward. If proxy is disabled, the host and port entries should be disabled.

I will verify the changes tonight.

I would find it logical if the arguments you supply to the command line are for one run only. If you supply the -w argument for instance, it does not open up that wallet on each consecutive run. This matter makes the most sense to me.

I can modify suggested changes to the GUI to make it less awkward.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
ThomasV
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
October 09, 2012, 02:41:57 PM
 #215

I will verify the changes tonight.
thanks.

Quote
I would find it logical if the arguments you supply to the command line are for one run only. If you supply the -w argument for instance, it does not open up that wallet on each consecutive run. This matter makes the most sense to me.
I don't think it's a good comparison.
The problem comes from the fact that the -p option is the only command line option that can conflict with saved preferences.

Quote
I can modify suggested changes to the GUI to make it less awkward.
that would be nice. thanks!

Electrum: the convenience of a web wallet, without the risks
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 09, 2012, 03:17:17 PM
 #216

Quote
I would find it logical if the arguments you supply to the command line are for one run only. If you supply the -w argument for instance, it does not open up that wallet on each consecutive run. This matter makes the most sense to me.
I don't think it's a good comparison.
The problem comes from the fact that the -p option is the only command line option that can conflict with saved preferences.

So one vote for, one against. Community help out here ^^

I will verify the changes tonight.
thanks.

I had to make one small commit to handle the fact that my config file was still using the original default parameters. Anybody who used master should now fallback gracefully to the new default. I would appreciate if you could double check it.

Quote
I can modify suggested changes to the GUI to make it less awkward.
that would be nice. thanks!

I will try to do this later tonight if I get the time Smiley

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
October 09, 2012, 03:37:00 PM
 #217

Quote
I would find it logical if the arguments you supply to the command line are for one run only. If you supply the -w argument for instance, it does not open up that wallet on each consecutive run. This matter makes the most sense to me.
I don't think it's a good comparison.
The problem comes from the fact that the -p option is the only command line option that can conflict with saved preferences.

So one vote for, one against. Community help out here ^^
How so? If you use -g it overrides the gui just for one run. If you use -w it uses the wallet you specify but doesn't change the default. It's pretty normal for a cmd line option not to alter default configs. Until recent changes there wasn't even a saved config outside the wallet. I don't think that the cmd line options should be used to alter the saved config permanently. Unless it's explicit, like a -save option. IMO.

ThomasV
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
October 09, 2012, 03:50:54 PM
 #218

How so? If you use -g it overrides the gui just for one run. If you use -w it uses the wallet you specify but doesn't change the default. It's pretty normal for a cmd line option not to alter default configs. Until recent changes there wasn't even a saved config outside the wallet. I don't think that the cmd line options should be used to alter the saved config permanently. Unless it's explicit, like a -save option. IMO.
I totally agree that the command line option should not alter the setting. this is not what I meant.
my point is, if the user opens the "network" window and then clicks "ok", they might expect the setting that is displayed to be saved.

Electrum: the convenience of a web wallet, without the risks
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 09, 2012, 04:31:53 PM
Last edit: October 09, 2012, 08:10:52 PM by Tachikoma
 #219

How so? If you use -g it overrides the gui just for one run. If you use -w it uses the wallet you specify but doesn't change the default. It's pretty normal for a cmd line option not to alter default configs. Until recent changes there wasn't even a saved config outside the wallet. I don't think that the cmd line options should be used to alter the saved config permanently. Unless it's explicit, like a -save option. IMO.
I totally agree that the command line option should not alter the setting. this is not what I meant.
my point is, if the user opens the "network" window and then clicks "ok", they might expect the setting that is displayed to be saved.


I think I'm misunderstanding the problem you lined out.

What happens right now is the following:

1. If you supply the --proxy argument and don't open the server window it's handled as a one time off parameter.
2. If you supply the --proxy argument and open the server window and press ok it gets saved to the config.

Which of those situations should be different?

The commit that disabled the Gui when no proxy option is selected can be found here, I would appreciate a review.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
ThomasV
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
October 10, 2012, 08:01:29 AM
 #220

2. If you supply the --proxy argument and open the server window and press ok it gets saved to the config.

that.
it is not clear to me if an argument passed with --proxy should make it into the config and overwrite the previous setting when you press ok.
*if yes, then the network dialog will have a side effect that depends on the command line. that's not good.
*if not, then the network dialog does will not act consistently, but there is not warning for the user.

Note that the user will not always be the one who wrote the command line, so we cannot rely on saying "yeah, but the user knows it".
I believe that if --proxy is passed, then the network dialog should display the proxy, but modifying it should be disabled.


Electrum: the convenience of a web wallet, without the risks
Pages: « 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 »
  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!