Electrum-FLO; FLO thin client
Go to file
Neil Booth 2b66f0d459 Remove pending_servers, self.interfaces is now the complete set of
interfaces we have created.

Existing code has the concept of pending servers, where a connection
thread is started but has not sent a connection notification, and
and interfaces which have received the notification.

This separation caused a couple of minor bugs, and given the cleaner
semantics of unifying the two I don't think the separation is beneficial.
The bugs:

1) When stopping the network, we only stopped the connected interface
threads, not the pending ones.  This would leave Python hanging
on exit if we don't make them daemon threads.

2) start_interface() did not check pending servers before starting
a new thread.  Some of its callers did, but not all, so it was
possible to initiate two threads to one server and "lose" one thread.

Apart form fixing the above two issues, unification causes one more
change in semantics: we are now willing to switch to a connection
that is pending (we don't switch to failed interfaces). I don't
think that is a problem: if it times out we'll just switch
again when we receive the disconnect notification, and previously the
fact that an interface was in the interaces dictionary wasn't a
guarantee the connection was good anyway: we might not have processed
a pending disconnection notification.
2015-05-30 17:42:11 +09:00
contrib get rid of pyasn1 dependencies 2015-04-14 15:10:44 +02:00
docs docs 2014-07-30 12:59:40 +02:00
gui Merge branch 'master' of git://github.com/spesmilo/electrum 2015-05-29 19:27:16 +02:00
icons Fix two icons. 2015-05-05 14:54:02 +09:00
lib Remove pending_servers, self.interfaces is now the complete set of 2015-05-30 17:42:11 +09:00
plugins add import 2015-05-28 15:45:09 +02:00
pubkeys Add @wozz GPG Public Key 2014-04-01 08:49:28 -04:00
scripts Clean up pick_random_server() and filter_protocol() and their 2015-05-24 21:07:35 +09:00
.gitignore added env/ to gitignore and fixed an issue with electrum-env to pass command line arguments correctly 2015-02-15 13:00:03 -07:00
.travis.yml travis: use container-based infrastructure for faster tests 2015-02-19 13:17:32 +02:00
app.fil remove deprecated files from app.fil 2014-11-22 14:01:08 +01:00
AUTHORS
electrum fix -P option 2015-05-30 06:56:45 +02:00
electrum-env added env/ to gitignore and fixed an issue with electrum-env to pass command line arguments correctly 2015-02-15 13:00:03 -07:00
electrum.conf.sample
electrum.desktop Icon location fix. Fixes #1111 2015-03-29 18:07:03 +02:00
electrum.icns New app icons 2013-10-23 01:10:52 +02:00
icons.qrc add file button to text edits 2015-04-24 09:10:03 +02:00
Info.plist Removed packages folder as depedency for osx builds 2015-02-23 09:37:44 +01:00
LICENCE
MANIFEST.in update MANIFEST.in 2015-02-18 18:31:20 +01:00
README use --pre with pip install, for slowaes (see issue #956) 2015-01-05 02:05:51 +01:00
RELEASE-NOTES Tweak RELEASE-NOTES 2015-05-23 10:57:30 +09:00
setup-release.py Disable argv_emulation for OSX builds, fixes #1006 2015-03-09 09:15:30 +01:00
setup.py Setup same for FreeBSD and DragonFly 2015-04-23 07:50:44 +09:00

Electrum - lightweight Bitcoin client

Licence: GNU GPL v3
Author: Thomas Voegtlin
Language: Python
Homepage: https://electrum.org/


1. GETTING STARTED
------------------

To run Electrum from this directory, just do:

  ./electrum

If you install Electrum on your system, you can run it from any
directory.

If you have pip, you can do:

  python setup.py sdist
  sudo pip install --pre dist/Electrum-2.0.tar.gz


If you don't have pip, install with:

  python setup.py sdist
  sudo python setup.py install



To start Electrum from your web browser, see
http://electrum.org/bitcoin_URIs.html



2. HOW OFFICIAL PACKAGES ARE CREATED
------------------------------------

python mki18n.py
pyrcc4 icons.qrc -o gui/qt/icons_rc.py
python setup.py sdist --format=zip,gztar

On Mac OS X:

  # On port based installs
  sudo python setup-release.py py2app

  # On brew installs
  ARCHFLAGS="-arch i386 -arch x86_64" sudo python setup-release.py py2app --includes sip

  sudo hdiutil create -fs HFS+ -volname "Electrum" -srcfolder dist/Electrum.app dist/electrum-VERSION-macosx.dmg