Commit Graph

85 Commits

Author SHA1 Message Date
ThomasV ac1ceb44ba blockchain: remove filename field 2017-07-19 11:26:13 +02:00
ThomasV 47e3630dd5 always save headers on disk 2017-07-19 11:23:10 +02:00
ThomasV b424a83a57 add blockchain.get_name method, update kivy gui 2017-07-19 09:29:20 +02:00
ThomasV 0b6d7dbbc9 fix swap 2017-07-19 06:46:37 +02:00
ThomasV afda151bc6 fix get_branch_size 2017-07-19 06:24:53 +02:00
ThomasV 6ee0ad8499 fix: swap 2017-07-19 05:45:41 +02:00
ThomasV a39e270bd3 test height 2017-07-18 21:32:34 +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 702abf6581 simplification: do not request checkpoint, check headers against all known blockchains 2017-07-17 19:32:10 +02:00
ThomasV b0277d5426 blockchain: size method, various fixes 2017-07-17 08:44:09 +02:00
ThomasV b2116d87ea minor fix 2017-07-16 08:07:47 +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 8834ed9714 fix blockchain.height() 2017-07-15 11:59:05 +02:00
ThomasV 37143fd628 fix blockchain offset 2017-07-14 06:20:05 +02:00
ThomasV bf7deaa1fb remove blockchain fork detection threshold 2017-07-13 16:23:41 +02:00
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