Commit graph

735 commits

Author SHA1 Message Date
Jack Robison
e671005c3c
update BlobManager to use SQLiteStorage, remove old database functions
-remove blob upload/download history
2018-02-13 10:27:50 -05:00
Jack Robison
db7061ce92
set up a SQLiteStorage object in Session 2018-02-13 10:27:50 -05:00
rick batka
69a99a61ba Fix issue #930. Disallow positional arguments for CLI settings_set and fix error reporting when settings_set fails. 2018-02-09 11:30:29 -05:00
Alex Grintsvayg
2f8c645edc download script now gets all blobs in stream if you give it an sd hash 2018-02-07 11:21:34 -05:00
Jack Robison
1c45cf05d7
Merge branch 'atiaxi-blob-list-uri-fix' 2018-02-06 22:55:02 -05:00
Roger Ostrander
d8e1738f27 Code review changes (removed safe_dict_descend) 2018-02-06 01:16:10 -05:00
Antonio Quartulli
8a7e707504
DHTPeerFinder: re-join the network if we have no peers
Periodically check if the routing table is empty and, if so,
re-attempt joining the DHT network.

This check is performed in the main DHTPeerFinder loop every 60 secs.

Closes: #1093
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
2018-02-06 12:33:12 +08:00
Antonio Quartulli
ce0af77aa9
dht_node: split network start and join procedures
In order to attempt to join the DHT several times
(i.e. when the first attempt has failed) we need to
split the components initialization from the real
joining operation.

Create node.startNetwork() to initialize the node
and keep the rest in node.joinNetwork()

Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
2018-02-06 12:19:33 +08:00
Roger Ostrander
a4343c3eb3 API call to blob_list with uri parameter now succeeds 2018-02-03 23:08:15 -05:00
Jack Robison
f918916160
remove gmpy and seccure dependencies 2018-02-01 12:39:00 -05:00
Jack Robison
eb4ba089ab
fix checking the external ip 2018-01-22 15:47:14 -05:00
hackrush
7472d12644 Removed include_tip_info from transaction_list, goes with lbryum#183 2018-01-18 08:43:58 +05:30
Kay Kurokawa
1c608a09a9 use reworked lbryum payto command 2018-01-16 13:30:12 -05:00
akinwale
5677f6d00d
added a new startup stage for wallet_unlock (#1048)
* added a new startup stage to indicate if the daemon is waiting for wallet_unlock
2018-01-07 06:44:29 +01:00
Jack Robison
bc58add6de
logging 2018-01-04 21:25:56 -05:00
Jack Robison
6385ab27c1
fix handling stream with no data blobs
fixes https://github.com/lbryio/lbry/issues/905
2018-01-04 21:25:54 -05:00
Jack Robison
09c57675a7
add stream_availability and blob_availability, deprecate get_availability 2017-12-20 21:23:54 -05:00
Jack Robison
7c6c666342
fix verbose error 2017-12-20 20:43:01 -05:00
Jack Robison
f0a1adc9c5
whitespace, logging 2017-12-20 20:43:01 -05:00
Jack Robison
e22d43bb03
fix wallet_unlock 2017-12-18 13:17:54 -05:00
Jack Robison
20b9e4d17e
fix typo 2017-12-18 11:31:59 -05:00
Jack Robison
8c2d381aee Wallet encryption (#783)
* update known commands
* add wallet_unlock, block wallet startup on being unlocked
* add wallet_decrypt and wallet_encrypt
* wallet encryption unit tests
* added use_keyring configuration option in order to make keyring password storage optional
2017-12-17 07:00:12 +01:00
Jack Robison
a6f0c5fb4c
pylint fixes
fix exception formatting and a circular import
2017-12-15 20:25:20 -05:00
Jack Robison
b2141bdf3d
fix import error 2017-12-12 09:26:28 -05:00
Jack Robison
1307727130
revert run commands using deferToThread
reverts most of
https://github.com/lbryio/lbry/commit/100493f9068589095c489f797587ddbfd1
7f7899
2017-12-11 12:45:38 -05:00
Jack Robison
100493f906
run commands using the network as deferToThread, don't manually broadcast claims from lbrynet 2017-12-07 14:36:52 -05:00
Jack Robison
b7ee5419d4
better address use, remove _save_wallet from Wallet.py 2017-12-07 14:36:51 -05:00
Jack Robison
90aa89dcae
re-add outpoint to file dictionary returned from file_ commands 2017-12-06 17:22:47 -05:00
Kay Kurokawa
989f77c00a increase SINGLE_HASH_ANNONCE_DURATION from 1 to 5 2017-12-05 11:55:59 -05:00
Kay Kurokawa
bf29d28c4d
bug fix in claim_renew() 2017-12-05 09:41:43 -05:00
Kay Kurokawa
1ea8c1ad29
no underscore necessary (not a private function) 2017-12-05 09:41:42 -05:00
Jack Robison
d6e3b11026
add claim_renew 2017-12-05 09:41:42 -05:00
Jack Robison
58b789ed42
fix https://github.com/lbryio/lbry/issues/1013 2017-12-05 09:31:29 -05:00
Jack Robison
086c843068
add channel_list, deprecate channel_list_mine 2017-11-22 13:50:07 -05:00
Jack Robison
d98e0e8110
add channel_import and channel_export 2017-11-22 13:46:34 -05:00
Kay Kurokawa
71ebf79939 add argument in DHTPeerFinder.find_peers_for_blob that filters itself from peer list. Use this argument to remove itself from peer list when downloading blobs
do not filter self on peer list
2017-11-07 09:56:40 -05:00
Kay Kurokawa
7e8f3254b1 Add to DHT Node class initialization argument peerPort where it serves blobs, instead of specifying it in announceHaveBlob 2017-11-07 09:56:40 -05:00
Ian Chamberlain
20e9ff2902 Delete blob hash from list when blob is deleted 2017-11-05 21:56:54 -05:00
Alex Grin
fcfde63720
Merge branch 'master' into wallet_list_unspent 2017-11-01 17:35:31 -04:00
Alex Grintsvayg
3152ecfd71 add wallet_list_unspent 2017-11-01 17:29:11 -04:00
Kay Kurokawa
9470b318b0 moved BLOB_SIZE in conf to MAX_BLOB_SIZE constant in blob.blob_file 2017-10-31 15:38:00 -04:00
Jack Robison
cfd4a94450
logging 2017-10-31 12:21:36 -04:00
Jack Robison
f7aa478b9b
remove unused bypass_dns parameter 2017-10-31 12:21:35 -04:00
Jack Robison
3fd542f702
Merge branch 'check_connection_bypass_dns' of https://github.com/mirgee/lbry into mirgee-check_connection_bypass_dns 2017-10-31 12:21:35 -04:00
Antonio Quartulli
d827b4d5af platform ip: ensure daemon retrieves IPv4 address only
When contacting jsonip.com to retrieve the node external IP,
the connection might be established with IPv6 and thus return
an address belonging to that family.

This address is then used to initialize the external_ip member of
Daemon session, but unfortunately IPv6 is not yet handled well.

Using an IPv6 as external IP is currently breaking parts of the
Daemon resulting in no peer connectivity at all.

We should stick to IPv4 for time being.

http://jsonip.com/about says "ipv4-only":"https://ipv4.jsonip.com"

therefore, change the IP retrieval URL to ipv4.jsonip.com to
make sure the connection is established only using an IPv4 address.

Closes: https://github.com/lbryio/lbry/issues/971
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
2017-10-31 06:59:40 -04:00
Alex Grintsvayg
357f15c5b8 changes that jack pointed out 2017-10-25 12:36:54 -04:00
Alex Grintsvayg
2067180467 add wallet_prefill_addresses command 2017-10-25 12:29:51 -04:00
Jack Robison
95a0653a58
better upnp redirect 2017-10-24 19:11:19 -04:00
Jack Robison
93b91f8602
block session startup on joinNetwork 2017-10-23 01:16:29 -04:00
Jack Robison
78ad87d349
fix uncaught CancelledError in peer_list 2017-10-11 14:05:03 -04:00
Jack Robison
8c79421790
less verbose ClientProtocol log
fix https://github.com/lbryio/lbry/issues/917
2017-10-11 13:47:57 -04:00
Jack Robison
323c3e6cb3
add external_ip argument to Session, default to None 2017-10-10 13:55:36 -04:00
Jack Robison
fcaca05a81
fix redundant lbryid 2017-10-10 13:15:25 -04:00
Kay Kurokawa
1f839fe2a6
add blob announcement information to session_status 2017-10-05 13:59:27 -04:00
Jack Robison
838436d641
Merge remote-tracking branch 'origin/fix_blob_reader_closing' 2017-09-29 12:37:15 -04:00
Jack Robison
af99edc764
add get_host_downloaded_from 2017-09-28 14:04:03 -04:00
Jack Robison
9de4657a4d
fix blob history and callback from _download_succeeded
previously _download_succeeded did not block on blob_completed,
presumably because even longer ago it did not block on a deriving
immediate_announce call and thus took a long time to return
2017-09-28 14:04:02 -04:00
Jack Robison
b0a3771ccf
better download errors 2017-09-28 14:04:02 -04:00
Kay Kurokawa
aab43c8d6c close the reader directly instead of calling close_read_handle() 2017-09-27 17:30:20 -04:00
Jack Robison
4b8700268f
discover stream info for uploads via reflector v1 2017-09-22 14:46:23 -04:00
Kay Kurokawa
4d5ba94a6e
add tests for checking stream info on reflector server 2017-09-22 14:39:37 -04:00
Miroslav Kovar
0fca867ec0 Modified check_connection() to try bypassing DNS before giving up. 2017-09-20 23:36:08 +02:00
Jack Robison
6cbe86d057
rename is_validated() to get_is_verified() to distinguish from verified property 2017-09-20 14:02:34 -04:00
Jack Robison
ffbcd82263
fix redundant blob request to peer 2017-09-20 13:59:29 -04:00
Kay Kurokawa
ab3c987034
fix lints 2017-09-20 13:59:28 -04:00
Jack Robison
b6e9aa420c
fix cancelled blob request? 2017-09-20 13:59:28 -04:00
Kay Kurokawa
e50ade85be
catch IOError properly 2017-09-20 13:59:28 -04:00
Kay Kurokawa
ea49cddf52
catch IOError when writing 2017-09-20 13:59:28 -04:00
Jack Robison
85f25a8d99
remove debug logging 2017-09-20 13:59:27 -04:00
Jack Robison
19ff0941f5
fix ClientProtocol. _handle_response_error 2017-09-20 13:59:27 -04:00
Jack Robison
adf89a9d1a
logging 2017-09-20 13:59:27 -04:00
Jack Robison
421141b958
raise instead of assert 2017-09-20 13:59:26 -04:00
Jack Robison
b9b5e755db
raise rather than assert 2017-09-20 13:59:26 -04:00
Jack Robison
ad061b5ea3
use fixed BlobFile type 2017-09-20 13:59:25 -04:00
Jack Robison
14636a5d38
split up HashBlob.py into lbrynet.blob 2017-09-20 13:59:24 -04:00
Jack Robison
7d6e62eb77
consolidate HashBlob and BlobFile 2017-09-20 13:59:24 -04:00
Kay Kurokawa
e92321a9c1
have BlobFile.open_for_writing() return the writer instead of write and close functions 2017-09-20 13:59:23 -04:00
Kay Kurokawa
39c4db3471
make sure that we don't call HashBlobWriter.finished_cb multiple times when calling close() 2017-09-20 13:59:23 -04:00
Kay Kurokawa
468a16af58
move check for write_handle to the beginning and raise exception when writing to a closed file handle 2017-09-20 13:59:23 -04:00
Kay Kurokawa
196aa24b8b
add HashBlobWriter.close_handle() function to just close the write handle 2017-09-20 13:59:22 -04:00
Kay Kurokawa
94ff4e82bc
remove HashBob._close_writer(), move the closing of write handler to HashBlobWriter 2017-09-20 13:59:22 -04:00
Kay Kurokawa
0f95712a0f
rename HashBlobWriter.cancel() as close() to be more file like 2017-09-20 13:59:22 -04:00
Kay Kurokawa
ab513d076b
fix multiple writers writing to the same buffer 2017-09-20 13:59:22 -04:00
Kay Kurokawa
f2deee7201
fireback finished_deferred after deleting from self.writers so that BlobFile state is accurate after finished_deferred is called 2017-09-20 13:59:21 -04:00
Kay Kurokawa
b655cd4fa6
add better comments for classes in HashBlob.py 2017-09-20 13:59:21 -04:00
Jack Robison
487f2490ab
simplify CryptStreamCreator 2017-09-20 13:59:20 -04:00
Jack Robison
cfe73a8627
fix hanging streamprogressmanager 2017-09-20 13:59:19 -04:00
Jack Robison
1148a533bf
raise NotImplementedError on StreamCreator._blob_finished (sanity check) 2017-09-20 13:59:18 -04:00
Jack Robison
c53a189605
remove TempBlob, clean up blob classes, use FBP and BytesIO in BlobFile 2017-09-20 13:59:18 -04:00
Victor Shyba
6022aa925b
fix import 2017-09-20 13:59:18 -04:00
Victor Shyba
d2fc1daf26
use hashlib 2017-09-20 13:59:17 -04:00
Victor Shyba
a6b8327fcf
save using a FBP instead of thread 2017-09-20 13:59:17 -04:00
Victor Shyba
7262e84150
use a buffer to wait for blob completion 2017-09-20 13:59:16 -04:00
Victor Shyba
5d69e74010
use WAL on sqlite3 2017-09-20 13:59:16 -04:00
Victor Shyba
5bbb29fd79
add error handling to blobs creation 2017-09-20 13:59:16 -04:00
Jack Robison
88fcd5b711
update _get_history for change in lbryum 2017-09-20 09:51:52 -04:00
hackrush
fbd37c591f Expose include_tip_info param
Goes with lbryio/lbryum#153

Updated changelog and added docs for include_tip_info

Added proper doc for Returns of transaction_list

Fixed some other docs
2017-09-01 02:15:24 +05:30
Kay Kurokawa
a9e6c89693 clean up and clarify in docstring when/where None is returned while searching for peers 2017-08-28 10:46:47 -04:00
Kay Kurokawa
e0985695ac some pep8 fixes 2017-08-28 10:46:47 -04:00
Kay Kurokawa
e2e28338f3 in ConnectionManager, be consistent and initialize conf values in __init__ 2017-08-28 10:46:47 -04:00
Kay Kurokawa
a31b6b192f Create an optional way of downloading by head blob first in ConnectionManager 2017-08-28 10:46:47 -04:00
Kay Kurokawa
c8bf1d8908 should_announce should be True by default 2017-08-28 10:43:57 -04:00
Kay Kurokawa
0494b11001 remove last_announce_time 2017-08-28 10:43:57 -04:00
Kay Kurokawa
0639bb9865 add support for should_announce feature 2017-08-28 10:43:57 -04:00
Kay Kurokawa
7e95169fbe add get_head_blob_hash() function in DownloadManager 2017-08-28 10:43:57 -04:00
Kay Kurokawa
c0a2c6c830 remove blob manager reliance on HashBlob classes 2017-08-28 10:43:57 -04:00
Kay Kurokawa
8955838191 migrate blob database to have should_announce and last_announce_time 2017-08-28 10:43:57 -04:00
Jack Robison
8786133cd4
Revert "fix BlobFile._close_file"
reverts 5d24f7
2017-08-15 17:48:56 -04:00
Jack Robison
5d24f75ce2 fix BlobFile._close_file 2017-08-15 12:34:00 -04:00
Umpei Kay Kurokawa
34ed2467f2 Merge pull request #829 from lbryio/fix_abandon
Expose abandon by txid/nout in Daemon
2017-08-14 22:51:39 -04:00
Jack Robison
09d336bd0c
don't block blob_completed on the blob being announced
this considerably slows down the rate at which reflector server can
receive blobs
2017-08-10 13:53:10 -04:00
Alex Grintsvayg
02d4444780 fixed shutdown messages 2017-08-09 19:10:11 -04:00
Kay Kurokawa
4e8d8dfc23 Expose abandon by txid/nout in Daemon 2017-08-08 13:55:03 -04:00
Jack Robison
c5fe8b5381
add claim_send_tip 2017-08-04 10:48:13 -04:00
Jack Robison
7b93073f7b
Merge branch 'master' into remove_tempblobmanager 2017-08-03 22:26:35 -04:00
Zestyr
2f2b27e872
Remove old float formatting 2017-07-31 10:38:20 -04:00
Kay Kurokawa
79d25f710d remove base BlobManager class 2017-07-27 13:38:40 -04:00
Kay Kurokawa
d5664efdbf no longer allow initialization of TempBlobManager in Session 2017-07-27 11:38:29 -04:00
Kay Kurokawa
f9b728530e Remove TempBlobManager 2017-07-27 11:38:23 -04:00
hackrush
ecd602e5fb Added validation for currencies.
Now while setting currency via API/CLI it is checked that the user has
not entered any currency other that LBC, BTC or USD.

Fixes #778
2017-07-24 16:38:15 -04:00
Kay Kurokawa
15d672bfe0 fix if statment for resolving certificate 2017-07-20 14:05:00 -04:00
Kay Kurokawa
fa1ebc995c fix if statement causing claim with certificate to not get cached 2017-07-20 12:38:06 -04:00
Kay Kurokawa
e4df0bdb5f create UnknownOutpoint exception and use it 2017-07-17 12:17:35 -04:00
Kay Kurokawa
3cd972a4da fix UnknownNameError message 2017-07-17 12:01:20 -04:00
Kay Kurokawa
24035406d6 have claim_show no longer handle name argument, do not catch exceptions here as they will be caught in Wallet 2017-07-17 12:01:20 -04:00
Kay Kurokawa
21c1786dc6 rename Wallet.get_claim() to get_claim_by_claim_id() 2017-07-17 12:01:20 -04:00
Jack Robison
7f36bed79d
increase third party logger levels 2017-07-14 14:29:12 -04:00
Jack Robison
4c7c94e190
fix loggly setup 2017-07-14 14:29:02 -04:00
Jack Robison
142d30bbcf
fix HTTPSHandler 2017-07-14 14:29:01 -04:00
Kay Kurokawa
4bebfe9e25
fix malformed supports and amount in cache 2017-07-14 12:53:40 -04:00
Kay Kurokawa
cbd85cd7d8
DRY fix for _handle_claim_result 2017-07-14 12:53:39 -04:00
Jack Robison
65bc93f2fe raise error on negative point reservation 2017-07-07 16:43:13 -04:00
Kay Kurokawa
4019f2a2e1 fix problems with DownloadManager startup and stop 2017-07-05 16:33:02 -04:00
Kay Kurokawa
be75c1bc5b break up GetStream.start() function further for testing 2017-07-05 16:33:02 -04:00
Kay Kurokawa
fc40f5525a add download_sd_blob timeout to GetStream 2017-07-05 16:33:02 -04:00
Kay Kurokawa
bd4dd8e114 add timeout to download_sd_blob and StandaloneBlobDownloader 2017-07-05 16:33:02 -04:00
Kay Kurokawa
1c1b5096be use LoopingCall in SingleProgressManager to simplify it 2017-07-05 16:33:02 -04:00
Jack Robison
e71389c7e3 update lbryum imports 2017-06-27 19:02:25 -04:00
Kay Kurokawa
14b2bb3019 add test for BlobManager 2017-06-23 10:24:27 -04:00
Kay Kurokawa
f9b4d46599 work on removing manage from BlobManager and simplify blob deletion 2017-06-23 10:24:27 -04:00
Jack Robison
bc34c22e58 update daemon settings and settings_set 2017-06-21 22:54:47 -04:00
Kay Kurokawa
59893e8fa8 fix typo which may not shut down blob_tracker 2017-06-16 14:00:08 -04:00
Jack Robison
9c88f820f9 add change_address param to publish 2017-06-12 13:43:15 -04:00
Jack Robison
c56ac12913 add claim_send_to_address 2017-06-12 10:30:18 -04:00
Jack Robison
ea0c6eca32 multi resolve 2017-06-09 14:48:55 -04:00
Jack Robison
2cfd29564b add resolution exception types 2017-06-09 14:48:55 -04:00
Jack Robison
82118e6692 fix blob manager db race condition 2017-06-09 14:09:17 -04:00
Kay Kurokawa
a577f38d80 add claim address as an option to publish API command 2017-06-04 19:26:28 -04:00
Jack Robison
96927ec985 remove lbrynet.metadata 2017-06-02 11:50:50 -04:00
Kay Kurokawa
da8256ad52 catch UnknownNamError instead of base Exception for resolve command 2017-06-01 16:26:03 -04:00