Commit graph

69 commits

Author SHA1 Message Date
ThomasV
ca220d8dbb Detect blockchain splits and validate multiple chains 2017-06-21 09:48:31 +02:00
ThomasV
075dfb5ccb separate truncate_headers for debugging 2017-05-19 08:55:40 +02:00
ThomasV
6321b14f9f Locate blockchain connection point with binary search 2017-05-13 11:19:36 +02:00
ThomasV
1b14a18b1a sanitize pass_checkpoint 2017-03-30 05:55:02 +02:00
ThomasV
d371e1c807 network: request checkpoint when opening a new connection 2017-03-29 17:21:18 +02:00
ThomasV
2fcdd458b3 add checkpoint dialog to the kivy gui 2017-03-27 12:48:10 +02:00
ThomasV
e6560b8d7f fix moe used for truncate 2017-03-27 00:46:44 +02:00
ThomasV
9c70540a2f add BIP9 and segwit_support methods 2017-03-25 11:09:24 +01:00
ThomasV
dd0b018a35 add configurable checkpoint to blockchain verification; use genesis as default 2017-03-23 11:58:56 +01: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
ThomasV
1358bebd37 network: do not wait for headers file on startup 2017-01-07 23:44:06 +01:00
ThomasV
4d41c36cbb add headers url for testnet 2017-01-07 18:39:41 +01:00
ThomasV
d042d6e970 initial testnet support (petrkr) 2017-01-07 16:58:59 +01:00
ThomasV
8249f5ab67 init_headers in daemon thread, and fix #1996 2016-10-24 14:57:02 +02:00
ThomasV
4c7bbb4e86 android: move wallet data to internal storage. 2016-03-08 08:10:38 +01:00
ThomasV
305843999e Relicensing 2016-02-24 10:20:30 +01:00
ThomasV
d8dfa62af8 more intuitive debug message 2016-02-21 18:15:25 +01:00
ThomasV
f30149ad49 fix #1579 2015-12-13 06:33:06 +01:00
Kirill Fomichev
d344ee0474 Small blockchain changes 2015-12-12 18:37:18 +03:00
ThomasV
2a1fbf01fe simplify blockchain.py 2015-12-11 12:37:40 +01:00
ThomasV
81f070c83b fix bug in get_target 2015-12-11 10:14:01 +01:00
Kirill Fomichev
334b84c3c3 Add assertions to get_target 2015-11-19 22:03:12 +03:00
Kirill Fomichev
e188929972 Fix proof of work assert in verify_chunk 2015-11-19 18:40:54 +03:00
Neil Booth
93b99ebded Handy new class PrintError
Saves adding "def print_error" to endless classes.
2015-09-06 21:40:00 +09:00
Neil Booth
4c8408b42d Print reason for failure to connect headers
Used to fail just with a "header didn't connect" message, now
it gives a reason too.
2015-08-01 13:09:52 +09:00
ThomasV
e879cb4552 https download of headers 2015-07-18 11:17:19 +02:00
ThomasV
f307b18546 Merge pull request #1268 from kyuupichan/blockchain_nothread
Make the blockchain class not a thread
2015-06-24 09:00:52 +02:00
ThomasV
ec9cdfaf48 blockchain: restore call to set_local_height, forgotten in previous commit 2015-06-13 16:45:42 +02:00
Neil Booth
d16714a1db Make the blockchain class not a thread
Remove interface communication out of blockchain.py
into network.py.  network.py handles protocol requests
for headers and chunks.  blockchain.py continues to
handle their analysis and verification.

If an interface provides a header chain that doesn't
connect, it is dismissed, as per a previous TODO comment.

This removes a thread and another source of timeouts.
I see no performance issues with this when truncating the
blockchain.

Rename 'result' to 'header' for clarity.
2015-06-01 20:53:42 +09:00
ThomasV
233fd8ed77 revert 175bfae9e6. store last known height in wallet instead 2015-05-08 13:43:42 +02:00
Neil Booth
175bfae9e6 Move away from requiring network and blockchain objects to be able to request local height.
We store it in the config object instead of in the blockchain object.
The blockchain object now refers to its config, and calls refresh_height() to update it.
The network objects also refer to the config rather than the blockchain.

This is the first of many small steps to untangle the verifier from stored state and so
permit the history tab to work in offline mode.  The refactoring will simultaneously clean
up a lot of accumulated cruft.
2015-05-03 15:19:29 +09:00
ThomasV
d9874ecb01 add 10 second timeout to header requests 2015-03-25 10:18:32 +01:00
ThomasV
f50a62755c use self.print_error 2015-03-25 09:22:27 +01:00
ThomasV
a4cb70649d fix synchronizer hanging when not connected. 2015-03-14 08:43:43 +01:00
ThomasV
72688a5cfa clean implementation of daemon threads 2015-03-13 23:04:29 +01:00
ThomasV
e389745491 remove appdata_dir and data_dir 2015-02-18 18:48:32 +01:00
Tafelpoot
d9c5250a6f removed trailing whitespace and fixed indentation in history widget 2014-10-21 19:05:51 +02:00
ThomasV
ed8f9666df remove interface.synchronous_get 2014-07-29 00:15:21 +02:00
ThomasV
28df27fba2 update interface.py 2014-07-28 00:13:40 +02:00
Chris Glass
8997c760a2 Do not use mutables as default values!
This blog article explains why (just an example, many other articles
discuss this ad nauseam):
http://pythonconquerstheuniverse.wordpress.com/2012/02/15/mutable-default-arguments/
2014-06-25 17:43:45 +02:00
wozz
5a312290e2 Target Calculation Update
fix #686
2014-05-08 12:44:36 -04:00
ThomasV
9bebc05149 fix bug in chunk validation 2014-03-02 17:43:46 +01:00
ThomasV
df76aac2db fix bug with hex_to_int; remove unused function 2013-11-12 10:14:29 +01:00
Bryan Stitt
91061752cf stop using eval 2013-11-11 22:03:20 -08:00
Bryan Stitt
225d8b83a3 don't use bare except 2013-11-09 21:23:57 -08:00
ThomasV
7deec48705 pass chain to get_target (fixes issue #316) 2013-10-16 14:42:52 +02:00
ThomasV
3aa76f1808 fix bug with chunk requestor 2013-10-15 18:23:47 +02:00
ThomasV
116b10cc11 replace blockchain.height with height(), and fix server_lag issue 2013-10-09 10:04:32 +02:00
ThomasV
bc15caa84c network: fix server lag detection 2013-10-05 10:01:33 +02:00
ThomasV
c0abd3c34e show lag in status line 2013-10-05 00:49:24 +02:00