Commit graph

771 commits

Author SHA1 Message Date
Lex Berezhny
339e666f38
+ Wallet.wait_for_tx_in_wallet 2018-03-28 15:53:49 -04:00
Jack Robison
5628d0825b
add CallLaterManager 2018-03-28 15:53:49 -04:00
Jack Robison
88970cb0a8
move peer manager class to lbrynet.core 2018-03-28 15:53:49 -04:00
Jack Robison
04e76443c6
move dht node component setup from Session into Node 2018-03-28 15:53:47 -04:00
Jack Robison
e6caedac91
remove DHTHashSupplier class, move former functions into DHTHashAnnouncer 2018-03-28 15:53:47 -04:00
Jack Robison
efaa97216f
move dht node setup back into node class 2018-03-28 15:53:47 -04:00
Jack Robison
e30ea50ef4
more 2018-03-28 15:53:47 -04:00
Jack Robison
3296c0fb3d
move dht related classes to lbrynet.dht 2018-03-28 15:53:47 -04:00
Kay Kurokawa
9088d152b5
better to keey track of retry count in function instead of unbounded dictionary 2018-03-28 15:53:46 -04:00
Kay Kurokawa
4cb461601e
result must be set here, otherwise it will not be defined when used later. Add test for it 2018-03-28 15:53:46 -04:00
Kay Kurokawa
75b977dff9
we just have one supplier not a list of suppliers 2018-03-28 15:53:46 -04:00
Kay Kurokawa
0f3385e4dc
make the single hash announce duration adjustable in DHTHashSupplier 2018-03-28 15:53:46 -04:00
Jack Robison
446c3a88dc
refactor DHTHashAnnouncer and iterativeAnnounceHaveBlob
-use looping call for running manage function rather than a scheduled
callLater

-track announce speed

-retry store requests that failed up to 3 times

-return a dict of {blob_hash: [storing_node_id]} results from
_announce_hashes

_refreshRoutingTable inline cb refactor

-add and use DeferredLockContextManager

-don't trap errback from iterativeFindNode in iterativeAnnounceHaveBlob
2018-03-28 15:53:45 -04:00
Jack Robison
e94d10d3eb
only call get_max_usable_balance_for_claim in Wallet.py if the bid looks too high for the balance 2018-03-14 13:47:34 -04:00
hackrush
16f2a5429b Name and output message fix. 2018-03-13 01:26:18 +05:30
hackrush
f5aadf3918 Sanitized logged error for channel and name claims 2018-03-09 21:28:33 +05:30
hackrush
6d4af4ba90 Error cleanly when claiming a new channel with exact or higher amount than balance
fixes #1107
2018-03-09 21:28:33 +05:30
Jack Robison
81de5fbbf4
verify_will_announce_head_and_sd_blobs 2018-03-08 16:46:39 -05:00
Jack Robison
3f1bcbffeb
fix blob_announce when announcing a single blob 2018-03-07 18:25:30 -05:00
Jack Robison
01c4c6ed97
fetch claim heights 2018-03-02 16:46:02 -05:00
Jack Robison
35426c7350
remove some unused code 2018-03-02 15:34:34 -05:00
Jack Robison
a1aadb0bce
fix join_dht attribute error 2018-03-02 15:13:22 -05:00
Alex Grintsvayg
d086fb9547 only log errors to loggly 2018-03-01 16:31:00 -05:00
Jack Robison
dafa80ce29
Merge branch 'master' into update_fix 2018-02-22 14:10:51 -05:00
Jack Robison
b1c66015e1
detect and remove invalid streams and sd blobs 2018-02-21 19:09:10 -05:00
Jack Robison
73eb66c0f2
pylint 2018-02-21 16:45:12 -05:00
Jack Robison
3e6b00ad00
remove sort from get_stream_hash
error on zero length data blobs or a non-zero length stream terminator blob
2018-02-21 16:34:48 -05:00
Jack Robison
0904c74273
remove unused create_plain_sd function 2018-02-21 16:33:15 -05:00
hackrush
3754f34f53 Review fixes and additional comments in test 2018-02-21 14:22:11 +05:30
hackrush
2368433b22 Check for max usable balance before updating 2018-02-20 08:54:03 +05:30
hackrush
d72ef784ed Removed daemon side bid checks during publish
Fixes #748

Fixed failing test, Yay!

Why CHANGELOG? Why not anarchy?
2018-02-20 08:54:03 +05:30
Jack Robison
68c906aff9
pylint 2018-02-13 10:27:52 -05:00
Jack Robison
e9b9118c2a
whitespace 2018-02-13 10:27:51 -05:00
Jack Robison
f8c33b6acb
refactor lbrynet.core.StreamDescriptor
-remove lbrynet/lbry_file/StreamDescriptor.py
2018-02-13 10:27:50 -05:00
Jack Robison
0b1f4192fc
update Wallet to use SQLiteStorage
-remove CachedClaim and wallet storage classes
2018-02-13 10:27:50 -05:00
Jack Robison
af87df3709
remove sqlite_helpers 2018-02-13 10:27:50 -05:00
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