Commit Graph

335 Commits

Author SHA1 Message Date
ThomasV
313d53fe0b save header immediately when forking a chain 2017-07-21 07:52:38 +02:00
ThomasV
c522c6b4d0 blockchain: store reference to parent_id instead of parent, so that it gets updated after swap 2017-07-20 15:05:47 +02:00
ThomasV
1457a869d3 network: call switch_lagging after catch up 2017-07-19 18:32:48 +02:00
ThomasV
ad8a6f3eff fix: do not request beyond tip 2017-07-19 17:33:05 +02:00
ThomasV
feb0f483f5 fix bug if headers file is empty 2017-07-19 17:23:46 +02:00
ThomasV
97343d95e5 speed-up search by starting at own height 2017-07-19 16:28:17 +02:00
ThomasV
0891798d1b minor fix 2017-07-19 11:57:15 +02:00
ThomasV
b424a83a57 add blockchain.get_name method, update kivy gui 2017-07-19 09:29:20 +02:00
ThomasV
814792eee1 show only active chains 2017-07-18 21:37:04 +02:00
ThomasV
50ad656c87 blockchain: swap a chain with its parent, if the parent branch is too short to be saved on disk 2017-07-18 18:10:22 +02:00
ThomasV
637d52ce58 don't request headers beyond tip 2017-07-18 14:11:22 +02:00
ThomasV
214e2b89c2 network: use interface.bad_header 2017-07-18 09:21:49 +02:00
ThomasV
ef1120b80c fix typo 2017-07-17 21:38:09 +02:00
ThomasV
702abf6581 simplification: do not request checkpoint, check headers against all known blockchains 2017-07-17 19:32:10 +02:00
ThomasV
3d4c64f9e0 improve blockchain search 2017-07-17 12:22:25 +02:00
ThomasV
2a10d3075e rm dead code 2017-07-17 11:25:05 +02:00
ThomasV
8260dfdbe7 network: use check_headers for binary search 2017-07-17 11:19:42 +02:00
ThomasV
acd0ea3ff3 cleanup dead code 2017-07-17 09:51:31 +02:00
ThomasV
65bce569e4 network: interface.tip_header 2017-07-17 09:32:12 +02:00
ThomasV
b0277d5426 blockchain: size method, various fixes 2017-07-17 08:44:09 +02:00
ThomasV
43c5657cb6 blockchain: parent pointer and recursive methods 2017-07-15 17:20:06 +02:00
ThomasV
cf84068fdb blockchain fixes 2017-07-15 13:51:40 +02:00
ThomasV
37143fd628 fix blockchain offset 2017-07-14 06:20:05 +02:00
ThomasV
ba2211f52e network dialog: refresh display on each new header 2017-07-13 17:23:24 +02:00
ThomasV
bf7deaa1fb remove blockchain fork detection threshold 2017-07-13 16:23:41 +02:00
ThomasV
e6116db565 network: minor fix 2017-07-13 09:31:27 +02:00
ThomasV
73b023e967 update network settings dialog of the kivy GUI 2017-07-11 18:04:33 +02:00
ThomasV
9b7102aed1 make fork_threshold configurable, fix backward mode 2017-07-08 16:45:09 +02:00
ThomasV
680e9a5552 network: go back if cannot connect during catch_up 2017-07-08 16:18:37 +02:00
ThomasV
568c14ca78 Refactor Network and Blockchain dialogs in qt and kivy 2017-07-08 11:38:32 +02:00
ThomasV
6b872b68bd hardcode another testnet server 2017-07-04 13:03:31 +02:00
ThomasV
2055fce087 network dialog: add menu actions to blockchains list 2017-07-04 11:35:04 +02:00
ThomasV
a7679debd1 fix #2533 2017-06-30 13:00:06 +02:00
ThomasV
8285bc458f network dialog: show servers in blockchain tab 2017-06-23 10:36:49 +02:00
ThomasV
6931ffada5 fix callbacks when switching to another server 2017-06-22 14:47:05 +02:00
ThomasV
ca220d8dbb Detect blockchain splits and validate multiple chains 2017-06-21 09:48:31 +02:00
ThomasV
1ee70f798e fix: reorgs 2017-05-23 14:51:44 +02:00
ThomasV
63f14f6ab2 fix: request chunk at next_height 2017-05-23 07:58:40 +02:00
ThomasV
ac77c9b9bd catch-up block headers from a single interface at a time 2017-05-19 12:16:21 +02:00
ThomasV
6321b14f9f Locate blockchain connection point with binary search 2017-05-13 11:19:36 +02:00
ThomasV
6afc11208d spv: keep track of header requests made by each interface 2017-04-20 10:59:30 +02:00
ThomasV
db13cf965c fix #2347 and return indentation 2017-04-02 04:36:05 +02:00
ThomasV
31fc9b78af keep connection open with a manually selected server, even if they fail passing the checkpoint 2017-03-31 12:04:29 +02:00
ThomasV
d371e1c807 network: request checkpoint when opening a new connection 2017-03-29 17:21:18 +02:00
ThomasV
59b0b51f24 add proxy settings to kivy GUI 2017-03-27 18:59:48 +02:00
ThomasV
59bc220856 fix auto-connect: do not use a random interface 2017-03-26 20:22:30 +02:00
Daniel Aleksandersen
b7801d0374 Tighten directory permissions 2017-03-24 21:50:31 +01:00
ThomasV
dd0b018a35 add configurable checkpoint to blockchain verification; use genesis as default 2017-03-23 11:58:56 +01:00
Eagle[TM]
f9bb74077e Update and add servers to default list; add schedule for phase-out of e-s 2017-03-20 00:56:27 +01:00
ThomasV
8e90d6a4e5 fix #2292 2017-03-15 12:21:26 +01:00
ThomasV
e78531d913 follow up 8babd3e986 2017-03-12 19:25:49 +01:00
Eagle[TM]
8babd3e986 Update default server list - make more use of DEFAULT_PORTS 2017-03-12 17:01:25 +01:00
shsmith
7ff5681010 fix #2204
avoid exception in close_interface when interface.server is not in
self.interfaces
2017-03-06 07:53:43 -08:00
ThomasV
ed2db4be80 Merge pull request #2239 from shsmith/master
fix #2204
2017-03-06 12:30:27 +01:00
shsmith
4109fd9eb2 request fees, peers and banner before address subscriptions
a wallet with many address subscriptions may time out on address
subscriptions before fees are received because fees were requested last
2017-03-04 08:42:46 -08:00
shsmith
1e25af7f0d fix https://github.com/spesmilo/electrum/issues/2204 2017-03-04 08:38:14 -08:00
Neil Booth
8888a50549 Add support for BU's nolnet
Also update testnet servers
Add missing self. in print_error call
2017-03-04 11:01:32 +09:00
shsmith
849a14554b report fee_estimates to verbose log
similar to how relayfee is logged
2017-03-01 15:10:03 -08:00
ThomasV
9c2d12923a fix: interface.close 2017-02-28 11:25:05 +01:00
Johann Bauer
9318b410bd Allow using a SOCKS5 proxy with authentication 2017-02-23 22:35:41 +01:00
Johann Bauer
2c7ab64e83 Always include default servers in the server list 2017-02-17 15:41:50 +01:00
ThomasV
3a64ec0f2e Initial segwit support (testnet only) 2017-01-25 21:42:15 +01:00
ThomasV
29e2570d3d prevent busy looping 2017-01-09 16:36:05 +01:00
ThomasV
a2e7fc32ef Add fee slider class with network callback. 2017-01-09 12:36:15 +01:00
ThomasV
1358bebd37 network: do not wait for headers file on startup 2017-01-07 23:44:06 +01:00
ThomasV
d042d6e970 initial testnet support (petrkr) 2017-01-07 16:58:59 +01:00
ThomasV
9138cf3cb8 remove deprecated protocols from DEFAULT_PORTS 2017-01-07 15:59:09 +01:00
Eagle[TM]
a5dad77675 Update default servers 2016-12-26 23:07:52 +01:00
ThomasV
8249f5ab67 init_headers in daemon thread, and fix #1996 2016-10-24 14:57:02 +02:00
Eagle[TM]
7933448ec7 network: Update default server list 2016-09-04 14:36:11 +02:00
ThomasV
b6393cbdf2 display 'low fee' in tx dialog 2016-06-15 13:31:24 +02:00
ThomasV
f2d2d61894 add expected confirmation time to tx dialog 2016-06-07 17:12:31 +02:00
ThomasV
bbe7b277d2 call jnius.detach on thread stop 2016-06-04 12:59:01 +02:00
ThomasV
2cf4795250 dynamic fees: define fee levels using expected confirmation times 2016-05-31 20:26:09 +02:00
ThomasV
753a28b452 set timeout to 30s for synchronous operations 2016-03-20 13:25:24 +01:00
ThomasV
af780e7519 Default auto_connect to True. In Qt, the question is asked by the wizard 2016-03-08 10:00:47 +01:00
ThomasV
54df0b2845 follow up previous commit 2016-02-25 08:59:02 +01:00
ThomasV
96f144eb03 make sure the broadcast tx thread always times out 2016-02-25 08:55:06 +01:00
ThomasV
305843999e Relicensing 2016-02-24 10:20:30 +01:00
ThomasV
bd5effb1b8 follow up 6f72fa4 2016-02-21 17:46:56 +01:00
ThomasV
6f72fa4e94 try to fix issue #1682 2016-02-21 17:42:33 +01:00
ThomasV
04c7d2b455 add 'donate to server' menu item 2016-02-15 16:17:07 +01:00
ThomasV
4dd479cf59 server_is_lagging: return True if no height 2016-02-15 15:58:08 +01:00
Neil Booth
371f8d6dc3 network: gracefully handle EINTR in select syscall 2016-01-16 21:14:14 +09:00
ThomasV
da8fce1914 if available, use relayfee from server instead of hard coded value 2016-01-14 16:06:22 +01:00
Eagle[TM]
2c797cd75b Update default server list 2015-12-30 14:47:40 +01:00
ThomasV
9ec4cbeed1 fix issue #1572 2015-12-06 13:32:50 +01:00
ThomasV
74a9e2296c separate Network and Plugins 2015-12-03 11:18:10 +01:00
ThomasV
90a2a049f4 network fix: callbacks were not called 2015-11-27 11:30:14 +01:00
ThomasV
042f8ef832 network: cache subscription responses 2015-11-26 11:26:01 +01:00
ThomasV
43df795b1f network: separate callbacks from unanswered_requests 2015-11-26 10:57:43 +01:00
ThomasV
2934fd17be fix websockets 2015-11-25 10:32:46 +01:00
Neil Booth
ae4cfc9f0b Unregister network callbacks from QT gui
Rework the callback system in QT to make this easy, and avoid
leaking window references that prevent the window from being
GC-ed on close
2015-11-13 23:36:29 +09:00
Neil Booth
206e38fb7c Make use of trigger_callback easier to understand 2015-11-12 16:08:37 +09:00
Neil Booth
8cc3b58364 Allow syncronizer to be GC-ed
Proper fix for #1525.
Using python's GC module, I've verified that the daemon, when running,
now releases all verifiers, synchronizers and wallets - all the resources
we care about releasing.
2015-11-12 08:40:58 +09:00
ThomasV
6aefaf7b3e populate network.connecting before the thread is started (fixes KeyError in self.connecting.pop) 2015-10-17 07:07:10 +02:00
Neil Booth
58bd655f1d In debug mode, show every queued request 2015-09-12 12:13:42 +09:00
Neil Booth
fb5e8068ce Simplify following on from prior dead code removal 2015-09-12 11:25:14 +09:00
Neil Booth
f9547a194e Remove more dead code
As everything is in-process now, nothing sends
"network.*" messages.
2015-09-12 11:18:11 +09:00
Neil Booth
fe2e731a70 Remove dead code 2015-09-12 10:54:20 +09:00