Commit Graph

81 Commits

Author SHA1 Message Date
ThomasV 305843999e Relicensing 2016-02-24 10:20:30 +01:00
Neil Booth f30090a321 Use network to get local height 2015-09-11 14:03:44 +09:00
Neil Booth f11e46e479 Remove unused import 2015-08-31 18:14:07 +09:00
Neil Booth be7cb011a3 Simply verifier now network is in-process 2015-08-31 18:12:02 +09:00
Neil Booth 2d05e7d891 Merge the network and network_proxy 2015-08-31 12:00:38 +09:00
Neil Booth 351272f0b6 Small optimization for large wallets
Previously the verifier job would scan all transactions in
unverified_tx each time it ran.
Nothing was ever removed from this map; it would essentially
be the full set of transactions.
As the job runs about 10 times a second, for a wallet with 500 txs
this would be 5,000 useless loops a second.
This patch makes unverified_tx be simply the set of confirmed
transactions that haven't yet been verified.  txs are added once
confirmed, and removed once verified.  Hence it will almost always be
empty.
2015-08-28 12:39:19 +09:00
Neil Booth 9455815ad0 Merge requested_merkle and merkle_roots. 2015-08-26 17:12:40 +09:00
Neil Booth b64c42b1eb Make the verifier a thread job instead of a thread
The verifier, like the synchronizer, now runs as part of the
network proxy thread.
2015-08-26 17:07:36 +09:00
Neil Booth a056f9804b Notify when a chunk of headers is validated
And a couple of cosmetic changes.
This should fix #1379.
2015-08-25 14:27:53 +09:00
Roman Zeyde cb4d3a78b4 verifier: fix typo 2015-06-13 16:58:08 +03:00
Neil Booth 37c3cce329 Remove wallet.get_transactions()
Because references are returned, it's not threadsafe as ThomasV
pointed out.
2015-05-08 09:31:45 +09:00
Neil Booth a47881d72b Move the verified and unverified txs to the wallet. 2015-05-07 23:54:39 +09:00
Neil Booth 79de458101 Preparation for moving the set of verified and unverified txs to the wallet.
The verifier will retain responsibility for verification, but will no longer
hold the transaction sets itself.

Change requires_fee to take a wallet.
Add new function add_unverified_tx()
Move get_confirmations() to the wallet from the verifier.
2015-05-07 09:21:08 +09:00
ThomasV b2a13dbd9c remove unused imports 2015-03-14 09:37:56 +01:00
ThomasV 5b8588ee90 rename spv class, use own print_error 2015-03-14 09:20: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
ThomasV 247f4944a6 do not store merkle root before verification succeeded. keep it in requested_merkle for the session 2014-08-15 23:30:55 +02:00
ThomasV 4f56cda0c3 do not stop thread if a tx is not verified 2014-08-15 08:35:00 +02:00
ThomasV 47b71eebfb shorter timeout: verifier too 2014-07-29 12:26:16 +02:00
ThomasV fb0574c5a0 fix callbacks 2014-07-28 07:53:02 +02:00
ThomasV 37127e563b fix #750 2014-07-05 03:57:05 +02:00
ThomasV b4bed1ccaa remove blockchain object from verifier 2014-03-10 20:53:05 +01:00
ThomasV 2321cb9bb3 print less debug messages 2013-11-11 16:23:17 +01:00
ThomasV 1f13b2f4f3 network.send method 2013-11-11 16:18:40 +01:00
thomasv b75f8d795a new command: getrawtransaction 2013-09-15 11:19:48 +02:00
ThomasV 907dca6eb9 simplify interface: use callbacks 2013-09-12 08:41:27 +02:00
thomasv 74735bd64e minor fixes 2013-09-10 16:13:30 +02:00
thomasv 047e4b3478 move callbacks to the network class 2013-09-09 13:33:25 +02:00
thomasv 2a6e8927dd select the longest blockchain from several servers 2013-09-02 17:49:12 +02:00
ThomasV e9b103b283 fix regressions in tx verifier 2013-09-02 08:50:39 +02:00
ThomasV d47892b690 separate blockchain verifier from transaction verifier 2013-09-01 18:16:15 +02:00
ecdsa c95c80163d distinction between unconfirmed and unverified transactions 2013-04-27 17:48:27 +02:00
ecdsa 5cc05b0685 fix: verified tx contains pos 2013-04-01 12:12:16 +02:00
ecdsa cac030e2ee fix transaction order in history 2013-03-23 18:10:09 +01:00
thomasv 3b80ef7c60 rely only on the verifier to get the height of transactions 2013-03-14 12:22:06 +01:00
thomasv bdb515dabd print error received by verifier, and continue 2013-03-14 10:49:00 +01:00
thomasv 94e5263486 updating url for headers file 2013-02-18 15:56:02 +01:00
ThomasV 4dcac08ccf trigger synchronize when block height is received 2013-01-30 07:38:13 +01:00
Eagle[TM] 12cc65abbd add sockettimeout to header download by HTTP 2012-12-19 09:41:23 +01:00
thomasv 72b4ac97d0 use portable flag on android instead of explicit path for headers file. use urllib.retrieve() 2012-12-17 17:51:52 +01:00
thomasv e2a2596479 fix: case where wdir path is empty (portable wallet) 2012-12-17 15:24:06 +01:00
thomasv ba39f8bec0 do not bundle blockchain headers with packages 2012-12-17 11:18:49 +01:00
thomasv 16a81271e4 store timestamps in verifier 2012-12-05 19:12:28 +01:00
thomasv 108dfb6140 revert to daemon threads because some clients do not seem to close their sockets cleanly 2012-12-05 10:24:30 +01:00
ThomasV 9afbf21197 no daemon 2012-11-24 20:35:09 +01:00
ThomasV 0ad7f72d3d nodaemon 2012-11-24 20:35:09 +01:00
thomasv 8ec2b16e21 use None as timestamp for pending transactions 2012-11-16 10:18:35 +01:00
thomasv 8fc042ee22 more fixes for the 0.6 servers 2012-11-15 10:34:56 +01:00