diff --git a/.pylintrc b/.pylintrc index 68f76d980..ada0377dd 100644 --- a/.pylintrc +++ b/.pylintrc @@ -62,7 +62,7 @@ confidence= # can either give multiple identifiers separated by comma (,) or put this # option multiple times (only on the command line, not in the configuration # file where it should appear only once).You can also use "--disable=all" to -# disable everything first and then reenable specific checks. For example, if +# disable everything first and then re-enable specific checks. For example, if # you want to run only the similarities checker, you can use "--disable=all # --enable=similarities". If you want to run only the classes checker, but have # no Warning level messages displayed, use"--disable=all --enable=classes diff --git a/CHANGELOG.md b/CHANGELOG.md index 20acc65db..5220e444f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -444,7 +444,7 @@ most commands. * Fixed https://github.com/lbryio/lbry/issues/923 * Fixed concurrent reflects opening too many files * Fixed cases when reflecting would fail on error conditions - * Fixed deadlocks from occuring during blob writes + * Fixed deadlocks from occurring during blob writes * Fixed and updated`lbrynet.tests.dht` * Fixed redundant dht id * Fixed dht `ping` method @@ -831,7 +831,7 @@ most commands. * Removed check_pending logic from Daemon * Switched to txrequests so requests can use twisted event loop * Renamed API command file_seed to file_set_status - * Dont add expected payment to wallet when payment rate is 0 + * Don't add expected payment to wallet when payment rate is 0 ### Fixed * Fix restart procedure in DaemonControl * Create download directory if it doesn't exist @@ -862,7 +862,7 @@ most commands. * Added string comparison to ClaimOutpoint (needed to look things up by outpoint) * Remove unused API commands from daemon * Fix file filter `outpoint` - * Made dictionary key names in API commmand outputs to be more consistent + * Made dictionary key names in API command outputs to be more consistent ### Added * Add file filters: `claim_id`, `outpoint`, and `rowid` * Make loggly logs less verbose @@ -914,7 +914,7 @@ most commands. * Include download url in version check ### Fixed - * add misssing traceback to logging + * add missing traceback to logging ## [0.8.3] - 2017-02-15 ### Fixed diff --git a/docs/api.json b/docs/api.json index 441a44164..0455ac935 100644 --- a/docs/api.json +++ b/docs/api.json @@ -1193,7 +1193,7 @@ { "name": "claim_address", "type": "str", - "description": "address where the claim is sent to, if not specified new address wil automatically be created", + "description": "address where the claim is sent to, if not specified new address will automatically be created", "is_required": false } ], diff --git a/docs/cli/index.html b/docs/cli/index.html index 761b7e32c..ba95b837f 100644 --- a/docs/cli/index.html +++ b/docs/cli/index.html @@ -1903,7 +1903,7 @@ Options: publishing to a channel where only the certificate private key is in the wallet. --claim_address=<claim_address> : (str) address where the claim is sent to, if not specified - new address wil automatically be created + new address will automatically be created Returns: (dict) Dictionary containing result of the claim diff --git a/docs/index.html b/docs/index.html index c5f8fb52d..911393056 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1743,7 +1743,7 @@ Args: publishing to a channel where only the certificate private key is in the wallet. 'claim_address' : (str) address where the claim is sent to, if not specified - new address wil automatically be created + new address will automatically be created Returns: (dict) Dictionary containing result of the claim diff --git a/docs/search/search_index.json b/docs/search/search_index.json index 24cb88819..ec0d234c0 100644 --- a/docs/search/search_index.json +++ b/docs/search/search_index.json @@ -2,7 +2,7 @@ "docs": [ { "location": "/", - "text": "LBRY JSON-RPC API Documentation\n\n\nblob_announce\n\n\nAnnounce blobs to the DHT\n\nArgs:\n 'blob_hash' : (str) announce a blob, specified by blob_hash\n 'stream_hash' : (str) announce all blobs associated with\n stream_hash\n 'sd_hash' : (str) announce all blobs associated with\n sd_hash and the sd_hash itself\n\nReturns:\n (bool) true if successful\n\n\n\n\nblob_availability\n\n\nGet blob availability\n\nArgs:\n 'blob_hash' : (str) check availability for this blob hash\n 'search_timeout' : (int) how long to search for peers for the blob\n in the dht\n 'blob_timeout' : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n \nis_available\n: \nbool, true if blob is available from a peer from peer list\n\n \nreachable_peers\n: [\nip\n:\nport\n],\n \nunreachable_peers\n: [\nip\n:\nport\n]\n }\n\n\n\n\nblob_delete\n\n\nDelete a blob\n\nArgs:\n 'blob_hash' : (str) blob hash of the blob to delete\n\nReturns:\n (str) Success/fail message\n\n\n\n\nblob_get\n\n\nDownload and return a blob\n\nArgs:\n 'blob_hash' (required) : (str) blob hash of the blob to get\n 'timeout' : (int) timeout in number of seconds\n 'encoding' : (str) by default no attempt at decoding\n is made, can be set to one of the\n following decoders:\n 'json'\n 'payment_rate_manager' : (str) if not given the default payment rate\n manager will be used.\n supported alternative rate managers:\n 'only-free'\n\nReturns:\n (str) Success/Fail message or (dict) decoded data\n\n\n\n\nblob_list\n\n\nReturns blob hashes. If not given filters, returns all blobs known by the blob manager\n\nArgs:\n 'needed' : (bool) only return needed blobs\n 'finished' : (bool) only return finished blobs\n 'uri' : (str) filter blobs by stream in a uri\n 'stream_hash' : (str) filter blobs by stream hash\n 'sd_hash' : (str) filter blobs by sd hash\n 'page_size' : (int) results page size\n 'page' : (int) page of results to return\n\nReturns:\n (list) List of blob hashes\n\n\n\n\nblob_reflect\n\n\nReflects specified blobs\n\nArgs:\n 'reflector_server' : (str) reflector address\n\nReturns:\n (list) reflected blob hashes\n\n\n\n\nblob_reflect_all\n\n\nReflects all saved blobs\n\nArgs:\n None\n\nReturns:\n (bool) true if successful\n\n\n\n\nblock_show\n\n\nGet contents of a block\n\nArgs:\n 'blockhash' (required) : (str) hash of the block to look up\n 'height' (required) : (int) height of the block to look up\n\nReturns:\n (dict) Requested block\n\n\n\n\nchannel_export\n\n\nExport serialized channel signing information for a given certificate claim id\n\nArgs:\n 'claim_id' (required) : (str) Claim ID to export information about\n\nReturns:\n (str) Serialized certificate information\n\n\n\n\nchannel_import\n\n\nImport serialized channel signing information (to allow signing new claims to the channel)\n\nArgs:\n 'serialized_certificate_info' (required) : (str) certificate info\n\nReturns:\n (dict) Result dictionary\n\n\n\n\nchannel_list\n\n\nGet certificate claim infos for channels that can be published to\n\nArgs:\n None\n\nReturns:\n (list) ClaimDict, includes 'is_mine' field to indicate if the certificate claim\n is in the wallet.\n\n\n\n\nchannel_new\n\n\nGenerate a publisher key and create a new '@' prefixed certificate claim\n\nArgs:\n 'channel_name' (required) : (str) name of the channel prefixed with '@'\n 'amount' (required) : (float) bid amount on the channel\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_abandon\n\n\nAbandon a name and reclaim credits from the claim\n\nArgs:\n 'claim_id' : (str) claim_id of the claim to abandon\n 'txid' : (str) txid of the claim to abandon\n 'nout' : (int) nout of the claim to abandon\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting transaction\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_list\n\n\nList current claims and information about them for a given name\n\nArgs:\n 'name' (required) : (str) name of the claim to list info about\n\nReturns:\n (dict) State of claims assigned for the name\n {\n 'claims': (list) list of claims for the name\n [\n {\n 'amount': (float) amount assigned to the claim\n 'effective_amount': (float) total amount assigned to the claim,\n including supports\n 'claim_id': (str) claim ID of the claim\n 'height': (int) height of block containing the claim\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'supports': (list) a list of supports attached to the claim\n 'value': (str) the value of the claim\n },\n ]\n 'supports_without_claims': (list) supports without any claims attached to them\n 'last_takeover_height': (int) the height of last takeover for the name\n }\n\n\n\n\nclaim_list_by_channel\n\n\nGet paginated claims in a channel specified by a channel uri\n\nArgs:\n 'uri' (required) : (str) uri of the channel\n 'uris' : (list) uris of the channel\n 'page' : (int) which page of results to return where page 1 is the first\n page, defaults to no pages\n 'page_size' : (int) number of results in a page, default of 10\n\nReturns:\n {\n resolved channel uri: {\n If there was an error:\n 'error': (str) error message\n\n 'claims_in_channel': the total number of results for the channel,\n\n If a page of results was requested:\n 'returned_page': page number returned,\n 'claims_in_channel': [\n {\n 'absolute_channel_position': (int) claim index number in sorted list of\n claims which assert to be part of the\n channel\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n ],\n }\n }\n\n\n\n\nclaim_list_mine\n\n\nList my name claims\n\nArgs:\n None\n\nReturns:\n (list) List of name claims owned by user\n [\n {\n 'address': (str) address that owns the claim\n 'amount': (float) amount assigned to the claim\n 'blocks_to_expiration': (int) number of blocks until it expires\n 'category': (str) \nclaim\n, \nupdate\n , or \nsupport\n\n 'claim_id': (str) claim ID of the claim\n 'confirmations': (int) number of blocks of confirmations for the claim\n 'expiration_height': (int) the block height which the claim will expire\n 'expired': (bool) true if expired, false otherwise\n 'height': (int) height of the block containing the claim\n 'is_spent': (bool) true if claim is abandoned, false otherwise\n 'name': (str) name of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'value': (str) value of the claim\n },\n ]\n\n\n\n\nclaim_new_support\n\n\nSupport a name claim\n\nArgs:\n 'name' (required) : (str) name of the claim to support\n 'claim_id' (required) : (str) claim_id of the claim to support\n 'amount' (required) : (float) amount of support\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_renew\n\n\nRenew claim(s) or support(s)\n\nArgs:\n 'outpoint' (required) : (str) outpoint of the claim to renew\n 'height' (required) : (str) update claims expiring before or at this block height\n\nReturns:\n (dict) Dictionary where key is the the original claim's outpoint and\n value is the result of the renewal\n {\n outpoint:{\n\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n },\n }\n\n\n\n\nclaim_send_to_address\n\n\nSend a name claim to an address\n\nArgs:\n 'claim_id' (required) : (str) claim_id to send\n 'address' (required) : (str) address to send the claim to\n 'amount' : (int) Amount of credits to claim name for, defaults to the current amount\n on the claim\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_show\n\n\nResolve claim info from txid/nout or with claim ID\n\nArgs:\n 'txid' : (str) look for claim with this txid, nout must\n also be specified\n 'nout' : (int) look for claim with this nout, txid must\n also be specified\n 'claim_id' : (str) look for claim with this claim id\n\nReturns:\n (dict) Dictionary containing claim info as below,\n\n {\n 'txid': (str) txid of claim\n 'nout': (int) nout of claim\n 'amount': (float) amount of claim\n 'value': (str) value of claim\n 'height' : (int) height of claim takeover\n 'claim_id': (str) claim ID of claim\n 'supports': (list) list of supports associated with claim\n }\n\n if claim cannot be resolved, dictionary as below will be returned\n\n {\n 'error': (str) reason for error\n }\n\n\n\n\ncli_test_command\n\n\nThis command is only for testing the CLI argument parsing\nArgs:\n 'a_arg' : (bool) a arg\n 'b_arg' : (bool) b arg\n 'pos_arg' (required) : (int) pos arg\n 'pos_args' : (int) pos args\n 'pos_arg2' : (int) pos arg 2\n 'pos_arg3' : (int) pos arg 3\n\nReturns:\n pos args\n\n\n\n\ncommands\n\n\nReturn a list of available commands\n\nArgs:\n None\n\nReturns:\n (list) list of available commands\n\n\n\n\ndaemon_stop\n\n\nStop lbrynet-daemon\n\nArgs:\n None\n\nReturns:\n (string) Shutdown message\n\n\n\n\nfile_delete\n\n\nDelete a LBRY file\n\nArgs:\n 'delete_from_download_dir' : (bool) delete file from download directory,\n instead of just deleting blobs\n 'delete_all' : (bool) if there are multiple matching files,\n allow the deletion of multiple files.\n Otherwise do not delete anything.\n 'sd_hash' : (str) delete by file sd hash\n 'file_name' : (str) delete by file name in downloads folder\n 'stream_hash' : (str) delete by file stream hash\n 'rowid' : (int) delete by file row id\n 'claim_id' : (str) delete by file claim id\n 'txid' : (str) delete by file claim txid\n 'nout' : (int) delete by file claim nout\n 'claim_name' : (str) delete by file claim name\n 'channel_claim_id' : (str) delete by file channel claim id\n 'channel_name' : (str) delete by file channel claim name\n\nReturns:\n (bool) true if deletion was successful\n\n\n\n\nfile_list\n\n\nList files limited by optional filters\n\nArgs:\n 'sd_hash' : (str) get file with matching sd hash\n 'file_name' : (str) get file with matching file name in the\n downloads folder\n 'stream_hash' : (str) get file with matching stream hash\n 'rowid' : (int) get file with matching row id\n 'claim_id' : (str) get file with matching claim id\n 'outpoint' : (str) get file with matching claim outpoint\n 'txid' : (str) get file with matching claim txid\n 'nout' : (int) get file with matching claim nout\n 'channel_claim_id' : (str) get file with matching channel claim id\n 'channel_name' : (str) get file with matching channel name\n 'claim_name' : (str) get file with matching claim name\n 'full_status' : (bool) full status, populate the\n 'message' and 'size' fields\n 'sort' : (str) sort by any property, like 'file_name'\n or 'metadata.author'; to specify direction\n append ',asc' or ',desc'\n\nReturns:\n (list) List of files\n\n [\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) None if full_status is false or if claim is not found,\n 'outpoint': (str) None if full_status is false or if claim is not found,\n 'txid': (str) None if full_status is false or if claim is not found,\n 'nout': (int) None if full_status is false or if claim is not found,\n 'metadata': (dict) None if full_status is false or if claim is not found,\n 'channel_claim_id': (str) None if full_status is false or if claim is not found or signed,\n 'channel_name': (str) None if full_status is false or if claim is not found or signed,\n 'claim_name': (str) None if full_status is false or if claim is not found\n },\n ]\n\n\n\n\nfile_reflect\n\n\nReflect all the blobs in a file matching the filter criteria\n\nArgs:\n 'sd_hash' : (str) get file with matching sd hash\n 'file_name' : (str) get file with matching file name in the\n downloads folder\n 'stream_hash' : (str) get file with matching stream hash\n 'rowid' : (int) get file with matching row id\n 'reflector' : (str) reflector server, ip address or url\n by default choose a server from the config\n\nReturns:\n (list) list of blobs reflected\n\n\n\n\nfile_set_status\n\n\nStart or stop downloading a file\n\nArgs:\n 'status' (required) : (str) one of \nstart\n or \nstop\n\n 'sd_hash' : (str) set status of file with matching sd hash\n 'file_name' : (str) set status of file with matching file name in the\n downloads folder\n 'stream_hash' : (str) set status of file with matching stream hash\n 'rowid' : (int) set status of file with matching row id\n\nReturns:\n (str) Confirmation message\n\n\n\n\nget\n\n\nDownload stream from a LBRY name.\n\nArgs:\n 'uri' : (str) uri of the content to download\n 'file_name' : (str) specified name for the downloaded file\n 'timeout' : (int) download timeout in number of seconds\n\nReturns:\n (dict) Dictionary containing information about the stream\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) claim id,\n 'outpoint': (str) claim outpoint string,\n 'txid': (str) claim txid,\n 'nout': (int) claim nout,\n 'metadata': (dict) claim metadata,\n 'channel_claim_id': (str) None if claim is not signed\n 'channel_name': (str) None if claim is not signed\n 'claim_name': (str) claim name\n }\n\n\n\n\nhelp\n\n\nReturn a useful message for an API command\n\nArgs:\n 'command' : (str) command to retrieve documentation for\n\nReturns:\n (str) Help message\n\n\n\n\npeer_list\n\n\nGet peers for blob hash\n\nArgs:\n 'blob_hash' (required) : (str) find available peers for this blob hash\n 'timeout' : (int) peer search timeout in seconds\n\nReturns:\n (list) List of contact dictionaries {'host': \npeer ip\n, 'port': \npeer port\n, 'node_id': \npeer node id\n}\n\n\n\n\npeer_ping\n\n\nSend a kademlia ping to the specified peer. If address and port are provided the peer is directly pinged,\nif not provided the peer is located first.\n\nArgs:\n 'address' : (str) ip address of the peer\n 'port' : (int) udp port of the peer\n\nReturns:\n (str) pong, or {'error': \nerror message\n} if an error is encountered\n\n\n\n\npublish\n\n\nMake a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nArgs:\n 'name' (required) : (str) name of the content\n 'bid' (required) : (decimal) amount to back the claim\n 'metadata' : (dict) ClaimDict to associate with the claim.\n 'file_path' : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n 'fee' : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n 'title' : (str) title of the publication\n 'description' : (str) description of the publication\n 'author' : (str) author of the publication\n 'language' : (str) language of the publication\n 'license' : (str) publication license\n 'license_url' : (str) publication license url\n 'thumbnail' : (str) thumbnail url\n 'preview' : (str) preview url\n 'nsfw' : (bool) whether the content is nsfw\n 'sources' : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n 'channel_name' : (str) name of the publisher channel name in the wallet\n 'channel_id' : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n 'claim_address' : (str) address where the claim is sent to, if not specified\n new address wil automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nreport_bug\n\n\nReport a bug to slack\n\nArgs:\n 'message' (required) : (str) Description of the bug\n\nReturns:\n (bool) true if successful\n\n\n\n\nresolve\n\n\nResolve given LBRY URIs\n\nArgs:\n 'force' : (bool) force refresh and ignore cache\n 'uri' (required) : (str) uri to resolve\n 'uris' : (list) uris to resolve\n\nReturns:\n Dictionary of results, keyed by uri\n '\nuri\n': {\n If a resolution error occurs:\n 'error': Error message\n\n If the uri resolves to a channel or a claim in a channel:\n 'certificate': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the certificate claim,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n\n If the uri resolves to a channel:\n 'claims_in_channel': (int) number of claims in the channel,\n\n If the uri resolves to a claim:\n 'claim': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the claim,\n 'channel_name': (str) channel name if claim is in a channel\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}]\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n }\n\n\n\n\nresolve_name\n\n\nResolve stream info from a LBRY name\n\nArgs:\n 'name' (required) : (str) the name to resolve\n 'force' : (bool) force refresh and do not check cache\n\nReturns:\n (dict) Metadata dictionary from name claim, None if the name is not\n resolvable\n\n\n\n\nrouting_table_get\n\n\nGet DHT routing information\n\nArgs:\n None\n\nReturns:\n (dict) dictionary containing routing and contact information\n {\n \nbuckets\n: {\n \nbucket index\n: [\n {\n \naddress\n: (str) peer address,\n \nport\n: (int) peer udp port\n \nnode_id\n: (str) peer node id,\n \nblobs\n: (list) blob hashes announced by peer\n }\n ]\n },\n \ncontacts\n: (list) contact node ids,\n \nblob_hashes\n: (list) all of the blob hashes stored by peers in the list of buckets,\n \nnode_id\n: (str) the local dht node id\n }\n\n\n\n\nsettings_get\n\n\nGet daemon settings\n\nArgs:\n None\n\nReturns:\n (dict) Dictionary of daemon settings\n See ADJUSTABLE_SETTINGS in lbrynet/conf.py for full list of settings\n\n\n\n\nsettings_set\n\n\nSet daemon settings\n\nArgs:\n 'download_directory' : (str) path of download directory\n 'data_rate' : (float) 0.0001\n 'download_timeout' : (int) 180\n 'peer_port' : (int) 3333\n 'max_key_fee' : (dict) maximum key fee for downloads,\n in the format:\n {\n 'currency': \ncurrency_symbol\n,\n 'amount': \namount\n\n }.\n In the CLI, it must be an escaped JSON string\n Supported currency symbols: LBC, USD, BTC\n 'disable_max_key_fee' : (bool) False\n 'use_upnp' : (bool) True\n 'run_reflector_server' : (bool) False\n 'cache_time' : (int) 150\n 'reflect_uploads' : (bool) True\n 'share_usage_data' : (bool) True\n 'peer_search_timeout' : (int) 3\n 'sd_download_timeout' : (int) 3\n 'auto_renew_claim_height_delta' : (int) 0\n claims set to expire within this many blocks will be\n automatically renewed after startup (if set to 0, renews\n will not be made automatically)\n\nReturns:\n (dict) Updated dictionary of daemon settings\n\n\n\n\nstatus\n\n\nGet daemon status\n\nArgs:\n None\n\nReturns:\n (dict) lbrynet-daemon status\n {\n 'installation_id': (str) installation id - base58,\n 'is_running': (bool),\n 'is_first_run': bool,\n 'skipped_components': (list) [names of skipped components (str)],\n 'startup_status': { Does not include components which have been skipped\n 'database': (bool),\n 'wallet': (bool),\n 'session': (bool),\n 'dht': (bool),\n 'hash_announcer': (bool),\n 'stream_identifier': (bool),\n 'file_manager': (bool),\n 'blob_manager': (bool),\n 'blockchain_headers': (bool),\n 'peer_protocol_server': (bool),\n 'reflector': (bool),\n 'upnp': (bool),\n 'exchange_rate_manager': (bool),\n },\n 'connection_status': {\n 'code': (str) connection status code,\n 'message': (str) connection status message\n },\n 'blockchain_headers': {\n 'downloading_headers': (bool),\n 'download_progress': (float) 0-100.0\n },\n 'wallet': {\n 'blocks': (int) local blockchain height,\n 'blocks_behind': (int) remote_height - local_height,\n 'best_blockhash': (str) block hash of most recent block,\n 'is_encrypted': (bool),\n 'is_locked': (bool),\n },\n 'dht': {\n 'node_id': (str) lbry dht node id - hex encoded,\n 'peers_in_routing_table': (int) the number of peers in the routing table,\n },\n 'blob_manager': {\n 'finished_blobs': (int) number of finished blobs in the blob manager,\n },\n 'hash_announcer': {\n 'announce_queue_size': (int) number of blobs currently queued to be announced\n },\n 'file_manager': {\n 'managed_files': (int) count of files in the file manager,\n }\n }\n\n\n\n\nstream_availability\n\n\nGet stream availability for lbry uri\n\nArgs:\n 'uri' (required) : (str) check availability for this uri\n 'search_timeout' : (int) how long to search for peers for the blob\n in the dht\n 'blob_timeout' : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n 'is_available': \nbool\n,\n 'did_decode': \nbool\n,\n 'did_resolve': \nbool\n,\n 'is_stream': \nbool\n,\n 'num_blobs_in_stream': \nint\n,\n 'sd_hash': \nstr\n,\n 'sd_blob_availability': \ndict\n see `blob_availability`,\n 'head_blob_hash': \nstr\n,\n 'head_blob_availability': \ndict\n see `blob_availability`,\n 'use_upnp': \nbool\n,\n 'upnp_redirect_is_set': \nbool\n,\n 'error': \nNone\n | \nstr\n error message\n }\n\n\n\n\nstream_cost_estimate\n\n\nGet estimated cost for a lbry stream\n\nArgs:\n 'uri' (required) : (str) uri to use\n 'size' : (float) stream size in bytes. if provided an sd blob won't be\n downloaded.\n\nReturns:\n (float) Estimated cost in lbry credits, returns None if uri is not\n resolvable\n\n\n\n\ntransaction_list\n\n\nList transactions belonging to wallet\n\nArgs:\n None\n\nReturns:\n (list) List of transactions\n\n {\n \nclaim_info\n: (list) claim info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) bid amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nabandon_info\n: (list) abandon info if in txn [{\n \naddress\n: (str) address of abandoned claim,\n \nbalance_delta\n: (float) returned amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nconfirmations\n: (int) number of confirmations for the txn,\n \ndate\n: (str) date and time of txn,\n \nfee\n: (float) txn fee,\n \nsupport_info\n: (list) support info if in txn [{\n \naddress\n: (str) address of support,\n \nbalance_delta\n: (float) support amount,\n \namount\n: (float) support amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nis_tip\n: (bool),\n \nnout\n: (int) nout\n }],\n \ntimestamp\n: (int) timestamp,\n \ntxid\n: (str) txn id,\n \nupdate_info\n: (list) update info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) credited/debited\n \namount\n: (float) absolute amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nvalue\n: (float) value of txn\n }\n\n\n\n\ntransaction_show\n\n\nGet a decoded transaction from a txid\n\nArgs:\n 'txid' (required) : (str) txid of the transaction\n\nReturns:\n (dict) JSON formatted transaction\n\n\n\n\nutxo_list\n\n\nList unspent transaction outputs\n\nArgs:\n None\n\nReturns:\n (list) List of unspent transaction outputs (UTXOs)\n [\n {\n \naddress\n: (str) the output address\n \namount\n: (float) unspent amount\n \nheight\n: (int) block height\n \nis_claim\n: (bool) is the tx a claim\n \nis_coinbase\n: (bool) is the tx a coinbase tx\n \nis_support\n: (bool) is the tx a support\n \nis_update\n: (bool) is the tx an update\n \nnout\n: (int) nout of the output\n \ntxid\n: (str) txid of the output\n },\n ...\n ]\n\n\n\n\nversion\n\n\nGet lbry version information\n\nArgs:\n None\n\nReturns:\n (dict) Dictionary of lbry version information\n {\n 'build': (str) build type (e.g. \ndev\n, \nrc\n, \nrelease\n),\n 'ip': (str) remote ip, if available,\n 'lbrynet_version': (str) lbrynet_version,\n 'lbryum_version': (str) lbryum_version,\n 'lbryschema_version': (str) lbryschema_version,\n 'os_release': (str) os release string\n 'os_system': (str) os name\n 'platform': (str) platform string\n 'processor': (str) processor type,\n 'python_version': (str) python version,\n }\n\n\n\n\nwallet_balance\n\n\nReturn the balance of the wallet\n\nArgs:\n 'address' : (str) If provided only the balance for this\n address will be given\n 'include_unconfirmed' : (bool) Include unconfirmed\n\nReturns:\n (float) amount of lbry credits in wallet\n\n\n\n\nwallet_decrypt\n\n\nDecrypt an encrypted wallet, this will remove the wallet password\n\nArgs:\n None\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_encrypt\n\n\nEncrypt a wallet with a password, if the wallet is already encrypted this will update\nthe password\n\nArgs:\n 'new_password' (required) : (str) password string to be used for encrypting wallet\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_is_address_mine\n\n\nChecks if an address is associated with the current wallet.\n\nArgs:\n 'address' (required) : (str) address to check\n\nReturns:\n (bool) true, if address is associated with current wallet\n\n\n\n\nwallet_list\n\n\nList wallet addresses\n\nArgs:\n None\n\nReturns:\n List of wallet addresses\n\n\n\n\nwallet_new_address\n\n\nGenerate a new wallet address\n\nArgs:\n None\n\nReturns:\n (str) New wallet address in base58\n\n\n\n\nwallet_prefill_addresses\n\n\nCreate new addresses, each containing `amount` credits\n\nArgs:\n 'no_broadcast' : (bool) whether to broadcast or not\n 'num_addresses' (required) : (int) num of addresses to create\n 'amount' (required) : (float) initial amount in each address\n\nReturns:\n (dict) the resulting transaction\n\n\n\n\nwallet_public_key\n\n\nGet public key from wallet address\n\nArgs:\n 'address' (required) : (str) address for which to get the public key\n\nReturns:\n (list) list of public keys associated with address.\n Could contain more than one public key if multisig.\n\n\n\n\nwallet_send\n\n\nSend credits. If given an address, send credits to it. If given a claim id, send a tip\nto the owner of a claim specified by uri. A tip is a claim support where the recipient\nof the support is the claim address for the claim being supported.\n\nArgs:\n 'amount' (required) : (Decimal) amount of credit to send\n 'address' (required) : (str) address to send credits to\n 'claim_id' (required) : (str) claim_id of the claim to send to tip to\n\nReturns:\n If sending to an address:\n (bool) true if payment successfully scheduled\n\n If sending a claim tip:\n (dict) Dictionary containing the result of the support\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nwallet_unlock\n\n\nUnlock an encrypted wallet\n\nArgs:\n 'password' (required) : (str) password for unlocking wallet\n\nReturns:\n (bool) true if wallet is unlocked, otherwise false\n\n\n\n\nwallet_unused_address\n\n\nReturn an address containing no balance, will create\na new address if there is none.\n\nArgs:\n None\n\nReturns:\n (str) Unused wallet address in base58", + "text": "LBRY JSON-RPC API Documentation\n\n\nblob_announce\n\n\nAnnounce blobs to the DHT\n\nArgs:\n 'blob_hash' : (str) announce a blob, specified by blob_hash\n 'stream_hash' : (str) announce all blobs associated with\n stream_hash\n 'sd_hash' : (str) announce all blobs associated with\n sd_hash and the sd_hash itself\n\nReturns:\n (bool) true if successful\n\n\n\n\nblob_availability\n\n\nGet blob availability\n\nArgs:\n 'blob_hash' : (str) check availability for this blob hash\n 'search_timeout' : (int) how long to search for peers for the blob\n in the dht\n 'blob_timeout' : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n \nis_available\n: \nbool, true if blob is available from a peer from peer list\n\n \nreachable_peers\n: [\nip\n:\nport\n],\n \nunreachable_peers\n: [\nip\n:\nport\n]\n }\n\n\n\n\nblob_delete\n\n\nDelete a blob\n\nArgs:\n 'blob_hash' : (str) blob hash of the blob to delete\n\nReturns:\n (str) Success/fail message\n\n\n\n\nblob_get\n\n\nDownload and return a blob\n\nArgs:\n 'blob_hash' (required) : (str) blob hash of the blob to get\n 'timeout' : (int) timeout in number of seconds\n 'encoding' : (str) by default no attempt at decoding\n is made, can be set to one of the\n following decoders:\n 'json'\n 'payment_rate_manager' : (str) if not given the default payment rate\n manager will be used.\n supported alternative rate managers:\n 'only-free'\n\nReturns:\n (str) Success/Fail message or (dict) decoded data\n\n\n\n\nblob_list\n\n\nReturns blob hashes. If not given filters, returns all blobs known by the blob manager\n\nArgs:\n 'needed' : (bool) only return needed blobs\n 'finished' : (bool) only return finished blobs\n 'uri' : (str) filter blobs by stream in a uri\n 'stream_hash' : (str) filter blobs by stream hash\n 'sd_hash' : (str) filter blobs by sd hash\n 'page_size' : (int) results page size\n 'page' : (int) page of results to return\n\nReturns:\n (list) List of blob hashes\n\n\n\n\nblob_reflect\n\n\nReflects specified blobs\n\nArgs:\n 'reflector_server' : (str) reflector address\n\nReturns:\n (list) reflected blob hashes\n\n\n\n\nblob_reflect_all\n\n\nReflects all saved blobs\n\nArgs:\n None\n\nReturns:\n (bool) true if successful\n\n\n\n\nblock_show\n\n\nGet contents of a block\n\nArgs:\n 'blockhash' (required) : (str) hash of the block to look up\n 'height' (required) : (int) height of the block to look up\n\nReturns:\n (dict) Requested block\n\n\n\n\nchannel_export\n\n\nExport serialized channel signing information for a given certificate claim id\n\nArgs:\n 'claim_id' (required) : (str) Claim ID to export information about\n\nReturns:\n (str) Serialized certificate information\n\n\n\n\nchannel_import\n\n\nImport serialized channel signing information (to allow signing new claims to the channel)\n\nArgs:\n 'serialized_certificate_info' (required) : (str) certificate info\n\nReturns:\n (dict) Result dictionary\n\n\n\n\nchannel_list\n\n\nGet certificate claim infos for channels that can be published to\n\nArgs:\n None\n\nReturns:\n (list) ClaimDict, includes 'is_mine' field to indicate if the certificate claim\n is in the wallet.\n\n\n\n\nchannel_new\n\n\nGenerate a publisher key and create a new '@' prefixed certificate claim\n\nArgs:\n 'channel_name' (required) : (str) name of the channel prefixed with '@'\n 'amount' (required) : (float) bid amount on the channel\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_abandon\n\n\nAbandon a name and reclaim credits from the claim\n\nArgs:\n 'claim_id' : (str) claim_id of the claim to abandon\n 'txid' : (str) txid of the claim to abandon\n 'nout' : (int) nout of the claim to abandon\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting transaction\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_list\n\n\nList current claims and information about them for a given name\n\nArgs:\n 'name' (required) : (str) name of the claim to list info about\n\nReturns:\n (dict) State of claims assigned for the name\n {\n 'claims': (list) list of claims for the name\n [\n {\n 'amount': (float) amount assigned to the claim\n 'effective_amount': (float) total amount assigned to the claim,\n including supports\n 'claim_id': (str) claim ID of the claim\n 'height': (int) height of block containing the claim\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'supports': (list) a list of supports attached to the claim\n 'value': (str) the value of the claim\n },\n ]\n 'supports_without_claims': (list) supports without any claims attached to them\n 'last_takeover_height': (int) the height of last takeover for the name\n }\n\n\n\n\nclaim_list_by_channel\n\n\nGet paginated claims in a channel specified by a channel uri\n\nArgs:\n 'uri' (required) : (str) uri of the channel\n 'uris' : (list) uris of the channel\n 'page' : (int) which page of results to return where page 1 is the first\n page, defaults to no pages\n 'page_size' : (int) number of results in a page, default of 10\n\nReturns:\n {\n resolved channel uri: {\n If there was an error:\n 'error': (str) error message\n\n 'claims_in_channel': the total number of results for the channel,\n\n If a page of results was requested:\n 'returned_page': page number returned,\n 'claims_in_channel': [\n {\n 'absolute_channel_position': (int) claim index number in sorted list of\n claims which assert to be part of the\n channel\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n ],\n }\n }\n\n\n\n\nclaim_list_mine\n\n\nList my name claims\n\nArgs:\n None\n\nReturns:\n (list) List of name claims owned by user\n [\n {\n 'address': (str) address that owns the claim\n 'amount': (float) amount assigned to the claim\n 'blocks_to_expiration': (int) number of blocks until it expires\n 'category': (str) \nclaim\n, \nupdate\n , or \nsupport\n\n 'claim_id': (str) claim ID of the claim\n 'confirmations': (int) number of blocks of confirmations for the claim\n 'expiration_height': (int) the block height which the claim will expire\n 'expired': (bool) true if expired, false otherwise\n 'height': (int) height of the block containing the claim\n 'is_spent': (bool) true if claim is abandoned, false otherwise\n 'name': (str) name of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'value': (str) value of the claim\n },\n ]\n\n\n\n\nclaim_new_support\n\n\nSupport a name claim\n\nArgs:\n 'name' (required) : (str) name of the claim to support\n 'claim_id' (required) : (str) claim_id of the claim to support\n 'amount' (required) : (float) amount of support\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_renew\n\n\nRenew claim(s) or support(s)\n\nArgs:\n 'outpoint' (required) : (str) outpoint of the claim to renew\n 'height' (required) : (str) update claims expiring before or at this block height\n\nReturns:\n (dict) Dictionary where key is the the original claim's outpoint and\n value is the result of the renewal\n {\n outpoint:{\n\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n },\n }\n\n\n\n\nclaim_send_to_address\n\n\nSend a name claim to an address\n\nArgs:\n 'claim_id' (required) : (str) claim_id to send\n 'address' (required) : (str) address to send the claim to\n 'amount' : (int) Amount of credits to claim name for, defaults to the current amount\n on the claim\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_show\n\n\nResolve claim info from txid/nout or with claim ID\n\nArgs:\n 'txid' : (str) look for claim with this txid, nout must\n also be specified\n 'nout' : (int) look for claim with this nout, txid must\n also be specified\n 'claim_id' : (str) look for claim with this claim id\n\nReturns:\n (dict) Dictionary containing claim info as below,\n\n {\n 'txid': (str) txid of claim\n 'nout': (int) nout of claim\n 'amount': (float) amount of claim\n 'value': (str) value of claim\n 'height' : (int) height of claim takeover\n 'claim_id': (str) claim ID of claim\n 'supports': (list) list of supports associated with claim\n }\n\n if claim cannot be resolved, dictionary as below will be returned\n\n {\n 'error': (str) reason for error\n }\n\n\n\n\ncli_test_command\n\n\nThis command is only for testing the CLI argument parsing\nArgs:\n 'a_arg' : (bool) a arg\n 'b_arg' : (bool) b arg\n 'pos_arg' (required) : (int) pos arg\n 'pos_args' : (int) pos args\n 'pos_arg2' : (int) pos arg 2\n 'pos_arg3' : (int) pos arg 3\n\nReturns:\n pos args\n\n\n\n\ncommands\n\n\nReturn a list of available commands\n\nArgs:\n None\n\nReturns:\n (list) list of available commands\n\n\n\n\ndaemon_stop\n\n\nStop lbrynet-daemon\n\nArgs:\n None\n\nReturns:\n (string) Shutdown message\n\n\n\n\nfile_delete\n\n\nDelete a LBRY file\n\nArgs:\n 'delete_from_download_dir' : (bool) delete file from download directory,\n instead of just deleting blobs\n 'delete_all' : (bool) if there are multiple matching files,\n allow the deletion of multiple files.\n Otherwise do not delete anything.\n 'sd_hash' : (str) delete by file sd hash\n 'file_name' : (str) delete by file name in downloads folder\n 'stream_hash' : (str) delete by file stream hash\n 'rowid' : (int) delete by file row id\n 'claim_id' : (str) delete by file claim id\n 'txid' : (str) delete by file claim txid\n 'nout' : (int) delete by file claim nout\n 'claim_name' : (str) delete by file claim name\n 'channel_claim_id' : (str) delete by file channel claim id\n 'channel_name' : (str) delete by file channel claim name\n\nReturns:\n (bool) true if deletion was successful\n\n\n\n\nfile_list\n\n\nList files limited by optional filters\n\nArgs:\n 'sd_hash' : (str) get file with matching sd hash\n 'file_name' : (str) get file with matching file name in the\n downloads folder\n 'stream_hash' : (str) get file with matching stream hash\n 'rowid' : (int) get file with matching row id\n 'claim_id' : (str) get file with matching claim id\n 'outpoint' : (str) get file with matching claim outpoint\n 'txid' : (str) get file with matching claim txid\n 'nout' : (int) get file with matching claim nout\n 'channel_claim_id' : (str) get file with matching channel claim id\n 'channel_name' : (str) get file with matching channel name\n 'claim_name' : (str) get file with matching claim name\n 'full_status' : (bool) full status, populate the\n 'message' and 'size' fields\n 'sort' : (str) sort by any property, like 'file_name'\n or 'metadata.author'; to specify direction\n append ',asc' or ',desc'\n\nReturns:\n (list) List of files\n\n [\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) None if full_status is false or if claim is not found,\n 'outpoint': (str) None if full_status is false or if claim is not found,\n 'txid': (str) None if full_status is false or if claim is not found,\n 'nout': (int) None if full_status is false or if claim is not found,\n 'metadata': (dict) None if full_status is false or if claim is not found,\n 'channel_claim_id': (str) None if full_status is false or if claim is not found or signed,\n 'channel_name': (str) None if full_status is false or if claim is not found or signed,\n 'claim_name': (str) None if full_status is false or if claim is not found\n },\n ]\n\n\n\n\nfile_reflect\n\n\nReflect all the blobs in a file matching the filter criteria\n\nArgs:\n 'sd_hash' : (str) get file with matching sd hash\n 'file_name' : (str) get file with matching file name in the\n downloads folder\n 'stream_hash' : (str) get file with matching stream hash\n 'rowid' : (int) get file with matching row id\n 'reflector' : (str) reflector server, ip address or url\n by default choose a server from the config\n\nReturns:\n (list) list of blobs reflected\n\n\n\n\nfile_set_status\n\n\nStart or stop downloading a file\n\nArgs:\n 'status' (required) : (str) one of \nstart\n or \nstop\n\n 'sd_hash' : (str) set status of file with matching sd hash\n 'file_name' : (str) set status of file with matching file name in the\n downloads folder\n 'stream_hash' : (str) set status of file with matching stream hash\n 'rowid' : (int) set status of file with matching row id\n\nReturns:\n (str) Confirmation message\n\n\n\n\nget\n\n\nDownload stream from a LBRY name.\n\nArgs:\n 'uri' : (str) uri of the content to download\n 'file_name' : (str) specified name for the downloaded file\n 'timeout' : (int) download timeout in number of seconds\n\nReturns:\n (dict) Dictionary containing information about the stream\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) claim id,\n 'outpoint': (str) claim outpoint string,\n 'txid': (str) claim txid,\n 'nout': (int) claim nout,\n 'metadata': (dict) claim metadata,\n 'channel_claim_id': (str) None if claim is not signed\n 'channel_name': (str) None if claim is not signed\n 'claim_name': (str) claim name\n }\n\n\n\n\nhelp\n\n\nReturn a useful message for an API command\n\nArgs:\n 'command' : (str) command to retrieve documentation for\n\nReturns:\n (str) Help message\n\n\n\n\npeer_list\n\n\nGet peers for blob hash\n\nArgs:\n 'blob_hash' (required) : (str) find available peers for this blob hash\n 'timeout' : (int) peer search timeout in seconds\n\nReturns:\n (list) List of contact dictionaries {'host': \npeer ip\n, 'port': \npeer port\n, 'node_id': \npeer node id\n}\n\n\n\n\npeer_ping\n\n\nSend a kademlia ping to the specified peer. If address and port are provided the peer is directly pinged,\nif not provided the peer is located first.\n\nArgs:\n 'address' : (str) ip address of the peer\n 'port' : (int) udp port of the peer\n\nReturns:\n (str) pong, or {'error': \nerror message\n} if an error is encountered\n\n\n\n\npublish\n\n\nMake a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nArgs:\n 'name' (required) : (str) name of the content\n 'bid' (required) : (decimal) amount to back the claim\n 'metadata' : (dict) ClaimDict to associate with the claim.\n 'file_path' : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n 'fee' : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n 'title' : (str) title of the publication\n 'description' : (str) description of the publication\n 'author' : (str) author of the publication\n 'language' : (str) language of the publication\n 'license' : (str) publication license\n 'license_url' : (str) publication license url\n 'thumbnail' : (str) thumbnail url\n 'preview' : (str) preview url\n 'nsfw' : (bool) whether the content is nsfw\n 'sources' : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n 'channel_name' : (str) name of the publisher channel name in the wallet\n 'channel_id' : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n 'claim_address' : (str) address where the claim is sent to, if not specified\n new address will automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nreport_bug\n\n\nReport a bug to slack\n\nArgs:\n 'message' (required) : (str) Description of the bug\n\nReturns:\n (bool) true if successful\n\n\n\n\nresolve\n\n\nResolve given LBRY URIs\n\nArgs:\n 'force' : (bool) force refresh and ignore cache\n 'uri' (required) : (str) uri to resolve\n 'uris' : (list) uris to resolve\n\nReturns:\n Dictionary of results, keyed by uri\n '\nuri\n': {\n If a resolution error occurs:\n 'error': Error message\n\n If the uri resolves to a channel or a claim in a channel:\n 'certificate': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the certificate claim,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n\n If the uri resolves to a channel:\n 'claims_in_channel': (int) number of claims in the channel,\n\n If the uri resolves to a claim:\n 'claim': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the claim,\n 'channel_name': (str) channel name if claim is in a channel\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}]\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n }\n\n\n\n\nresolve_name\n\n\nResolve stream info from a LBRY name\n\nArgs:\n 'name' (required) : (str) the name to resolve\n 'force' : (bool) force refresh and do not check cache\n\nReturns:\n (dict) Metadata dictionary from name claim, None if the name is not\n resolvable\n\n\n\n\nrouting_table_get\n\n\nGet DHT routing information\n\nArgs:\n None\n\nReturns:\n (dict) dictionary containing routing and contact information\n {\n \nbuckets\n: {\n \nbucket index\n: [\n {\n \naddress\n: (str) peer address,\n \nport\n: (int) peer udp port\n \nnode_id\n: (str) peer node id,\n \nblobs\n: (list) blob hashes announced by peer\n }\n ]\n },\n \ncontacts\n: (list) contact node ids,\n \nblob_hashes\n: (list) all of the blob hashes stored by peers in the list of buckets,\n \nnode_id\n: (str) the local dht node id\n }\n\n\n\n\nsettings_get\n\n\nGet daemon settings\n\nArgs:\n None\n\nReturns:\n (dict) Dictionary of daemon settings\n See ADJUSTABLE_SETTINGS in lbrynet/conf.py for full list of settings\n\n\n\n\nsettings_set\n\n\nSet daemon settings\n\nArgs:\n 'download_directory' : (str) path of download directory\n 'data_rate' : (float) 0.0001\n 'download_timeout' : (int) 180\n 'peer_port' : (int) 3333\n 'max_key_fee' : (dict) maximum key fee for downloads,\n in the format:\n {\n 'currency': \ncurrency_symbol\n,\n 'amount': \namount\n\n }.\n In the CLI, it must be an escaped JSON string\n Supported currency symbols: LBC, USD, BTC\n 'disable_max_key_fee' : (bool) False\n 'use_upnp' : (bool) True\n 'run_reflector_server' : (bool) False\n 'cache_time' : (int) 150\n 'reflect_uploads' : (bool) True\n 'share_usage_data' : (bool) True\n 'peer_search_timeout' : (int) 3\n 'sd_download_timeout' : (int) 3\n 'auto_renew_claim_height_delta' : (int) 0\n claims set to expire within this many blocks will be\n automatically renewed after startup (if set to 0, renews\n will not be made automatically)\n\nReturns:\n (dict) Updated dictionary of daemon settings\n\n\n\n\nstatus\n\n\nGet daemon status\n\nArgs:\n None\n\nReturns:\n (dict) lbrynet-daemon status\n {\n 'installation_id': (str) installation id - base58,\n 'is_running': (bool),\n 'is_first_run': bool,\n 'skipped_components': (list) [names of skipped components (str)],\n 'startup_status': { Does not include components which have been skipped\n 'database': (bool),\n 'wallet': (bool),\n 'session': (bool),\n 'dht': (bool),\n 'hash_announcer': (bool),\n 'stream_identifier': (bool),\n 'file_manager': (bool),\n 'blob_manager': (bool),\n 'blockchain_headers': (bool),\n 'peer_protocol_server': (bool),\n 'reflector': (bool),\n 'upnp': (bool),\n 'exchange_rate_manager': (bool),\n },\n 'connection_status': {\n 'code': (str) connection status code,\n 'message': (str) connection status message\n },\n 'blockchain_headers': {\n 'downloading_headers': (bool),\n 'download_progress': (float) 0-100.0\n },\n 'wallet': {\n 'blocks': (int) local blockchain height,\n 'blocks_behind': (int) remote_height - local_height,\n 'best_blockhash': (str) block hash of most recent block,\n 'is_encrypted': (bool),\n 'is_locked': (bool),\n },\n 'dht': {\n 'node_id': (str) lbry dht node id - hex encoded,\n 'peers_in_routing_table': (int) the number of peers in the routing table,\n },\n 'blob_manager': {\n 'finished_blobs': (int) number of finished blobs in the blob manager,\n },\n 'hash_announcer': {\n 'announce_queue_size': (int) number of blobs currently queued to be announced\n },\n 'file_manager': {\n 'managed_files': (int) count of files in the file manager,\n }\n }\n\n\n\n\nstream_availability\n\n\nGet stream availability for lbry uri\n\nArgs:\n 'uri' (required) : (str) check availability for this uri\n 'search_timeout' : (int) how long to search for peers for the blob\n in the dht\n 'blob_timeout' : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n 'is_available': \nbool\n,\n 'did_decode': \nbool\n,\n 'did_resolve': \nbool\n,\n 'is_stream': \nbool\n,\n 'num_blobs_in_stream': \nint\n,\n 'sd_hash': \nstr\n,\n 'sd_blob_availability': \ndict\n see `blob_availability`,\n 'head_blob_hash': \nstr\n,\n 'head_blob_availability': \ndict\n see `blob_availability`,\n 'use_upnp': \nbool\n,\n 'upnp_redirect_is_set': \nbool\n,\n 'error': \nNone\n | \nstr\n error message\n }\n\n\n\n\nstream_cost_estimate\n\n\nGet estimated cost for a lbry stream\n\nArgs:\n 'uri' (required) : (str) uri to use\n 'size' : (float) stream size in bytes. if provided an sd blob won't be\n downloaded.\n\nReturns:\n (float) Estimated cost in lbry credits, returns None if uri is not\n resolvable\n\n\n\n\ntransaction_list\n\n\nList transactions belonging to wallet\n\nArgs:\n None\n\nReturns:\n (list) List of transactions\n\n {\n \nclaim_info\n: (list) claim info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) bid amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nabandon_info\n: (list) abandon info if in txn [{\n \naddress\n: (str) address of abandoned claim,\n \nbalance_delta\n: (float) returned amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nconfirmations\n: (int) number of confirmations for the txn,\n \ndate\n: (str) date and time of txn,\n \nfee\n: (float) txn fee,\n \nsupport_info\n: (list) support info if in txn [{\n \naddress\n: (str) address of support,\n \nbalance_delta\n: (float) support amount,\n \namount\n: (float) support amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nis_tip\n: (bool),\n \nnout\n: (int) nout\n }],\n \ntimestamp\n: (int) timestamp,\n \ntxid\n: (str) txn id,\n \nupdate_info\n: (list) update info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) credited/debited\n \namount\n: (float) absolute amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nvalue\n: (float) value of txn\n }\n\n\n\n\ntransaction_show\n\n\nGet a decoded transaction from a txid\n\nArgs:\n 'txid' (required) : (str) txid of the transaction\n\nReturns:\n (dict) JSON formatted transaction\n\n\n\n\nutxo_list\n\n\nList unspent transaction outputs\n\nArgs:\n None\n\nReturns:\n (list) List of unspent transaction outputs (UTXOs)\n [\n {\n \naddress\n: (str) the output address\n \namount\n: (float) unspent amount\n \nheight\n: (int) block height\n \nis_claim\n: (bool) is the tx a claim\n \nis_coinbase\n: (bool) is the tx a coinbase tx\n \nis_support\n: (bool) is the tx a support\n \nis_update\n: (bool) is the tx an update\n \nnout\n: (int) nout of the output\n \ntxid\n: (str) txid of the output\n },\n ...\n ]\n\n\n\n\nversion\n\n\nGet lbry version information\n\nArgs:\n None\n\nReturns:\n (dict) Dictionary of lbry version information\n {\n 'build': (str) build type (e.g. \ndev\n, \nrc\n, \nrelease\n),\n 'ip': (str) remote ip, if available,\n 'lbrynet_version': (str) lbrynet_version,\n 'lbryum_version': (str) lbryum_version,\n 'lbryschema_version': (str) lbryschema_version,\n 'os_release': (str) os release string\n 'os_system': (str) os name\n 'platform': (str) platform string\n 'processor': (str) processor type,\n 'python_version': (str) python version,\n }\n\n\n\n\nwallet_balance\n\n\nReturn the balance of the wallet\n\nArgs:\n 'address' : (str) If provided only the balance for this\n address will be given\n 'include_unconfirmed' : (bool) Include unconfirmed\n\nReturns:\n (float) amount of lbry credits in wallet\n\n\n\n\nwallet_decrypt\n\n\nDecrypt an encrypted wallet, this will remove the wallet password\n\nArgs:\n None\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_encrypt\n\n\nEncrypt a wallet with a password, if the wallet is already encrypted this will update\nthe password\n\nArgs:\n 'new_password' (required) : (str) password string to be used for encrypting wallet\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_is_address_mine\n\n\nChecks if an address is associated with the current wallet.\n\nArgs:\n 'address' (required) : (str) address to check\n\nReturns:\n (bool) true, if address is associated with current wallet\n\n\n\n\nwallet_list\n\n\nList wallet addresses\n\nArgs:\n None\n\nReturns:\n List of wallet addresses\n\n\n\n\nwallet_new_address\n\n\nGenerate a new wallet address\n\nArgs:\n None\n\nReturns:\n (str) New wallet address in base58\n\n\n\n\nwallet_prefill_addresses\n\n\nCreate new addresses, each containing `amount` credits\n\nArgs:\n 'no_broadcast' : (bool) whether to broadcast or not\n 'num_addresses' (required) : (int) num of addresses to create\n 'amount' (required) : (float) initial amount in each address\n\nReturns:\n (dict) the resulting transaction\n\n\n\n\nwallet_public_key\n\n\nGet public key from wallet address\n\nArgs:\n 'address' (required) : (str) address for which to get the public key\n\nReturns:\n (list) list of public keys associated with address.\n Could contain more than one public key if multisig.\n\n\n\n\nwallet_send\n\n\nSend credits. If given an address, send credits to it. If given a claim id, send a tip\nto the owner of a claim specified by uri. A tip is a claim support where the recipient\nof the support is the claim address for the claim being supported.\n\nArgs:\n 'amount' (required) : (Decimal) amount of credit to send\n 'address' (required) : (str) address to send credits to\n 'claim_id' (required) : (str) claim_id of the claim to send to tip to\n\nReturns:\n If sending to an address:\n (bool) true if payment successfully scheduled\n\n If sending a claim tip:\n (dict) Dictionary containing the result of the support\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nwallet_unlock\n\n\nUnlock an encrypted wallet\n\nArgs:\n 'password' (required) : (str) password for unlocking wallet\n\nReturns:\n (bool) true if wallet is unlocked, otherwise false\n\n\n\n\nwallet_unused_address\n\n\nReturn an address containing no balance, will create\na new address if there is none.\n\nArgs:\n None\n\nReturns:\n (str) Unused wallet address in base58", "title": "API" }, { @@ -167,7 +167,7 @@ }, { "location": "/#publish", - "text": "Make a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nArgs:\n 'name' (required) : (str) name of the content\n 'bid' (required) : (decimal) amount to back the claim\n 'metadata' : (dict) ClaimDict to associate with the claim.\n 'file_path' : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n 'fee' : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n 'title' : (str) title of the publication\n 'description' : (str) description of the publication\n 'author' : (str) author of the publication\n 'language' : (str) language of the publication\n 'license' : (str) publication license\n 'license_url' : (str) publication license url\n 'thumbnail' : (str) thumbnail url\n 'preview' : (str) preview url\n 'nsfw' : (bool) whether the content is nsfw\n 'sources' : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n 'channel_name' : (str) name of the publisher channel name in the wallet\n 'channel_id' : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n 'claim_address' : (str) address where the claim is sent to, if not specified\n new address wil automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }", + "text": "Make a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nArgs:\n 'name' (required) : (str) name of the content\n 'bid' (required) : (decimal) amount to back the claim\n 'metadata' : (dict) ClaimDict to associate with the claim.\n 'file_path' : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n 'fee' : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n 'title' : (str) title of the publication\n 'description' : (str) description of the publication\n 'author' : (str) author of the publication\n 'language' : (str) language of the publication\n 'license' : (str) publication license\n 'license_url' : (str) publication license url\n 'thumbnail' : (str) thumbnail url\n 'preview' : (str) preview url\n 'nsfw' : (bool) whether the content is nsfw\n 'sources' : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n 'channel_name' : (str) name of the publisher channel name in the wallet\n 'channel_id' : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n 'claim_address' : (str) address where the claim is sent to, if not specified\n new address will automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }", "title": "publish" }, { @@ -292,7 +292,7 @@ }, { "location": "/cli/", - "text": "LBRY JSON-RPC API Documentation\n\n\nblob_announce\n\n\nAnnounce blobs to the DHT\n\nUsage:\n blob_announce [\nblob_hash\n | --blob_hash=\nblob_hash\n]\n [\nstream_hash\n | --stream_hash=\nstream_hash\n] | [\nsd_hash\n | --sd_hash=\nsd_hash\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) announce a blob, specified by blob_hash\n --stream_hash=\nstream_hash\n : (str) announce all blobs associated with\n stream_hash\n --sd_hash=\nsd_hash\n : (str) announce all blobs associated with\n sd_hash and the sd_hash itself\n\nReturns:\n (bool) true if successful\n\n\n\n\nblob_availability\n\n\nGet blob availability\n\nUsage:\n blob_availability (\nblob_hash\n) [\nsearch_timeout\n | --search_timeout=\nsearch_timeout\n]\n [\nblob_timeout\n | --blob_timeout=\nblob_timeout\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) check availability for this blob hash\n --search_timeout=\nsearch_timeout\n : (int) how long to search for peers for the blob\n in the dht\n --blob_timeout=\nblob_timeout\n : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n \nis_available\n: \nbool, true if blob is available from a peer from peer list\n\n \nreachable_peers\n: [\nip\n:\nport\n],\n \nunreachable_peers\n: [\nip\n:\nport\n]\n }\n\n\n\n\nblob_delete\n\n\nDelete a blob\n\nUsage:\n blob_delete (\nblob_hash\n | --blob_hash=\nblob_hash)\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) blob hash of the blob to delete\n\nReturns:\n (str) Success/fail message\n\n\n\n\nblob_get\n\n\nDownload and return a blob\n\nUsage:\n blob_get (\nblob_hash\n | --blob_hash=\nblob_hash\n) [--timeout=\ntimeout\n]\n [--encoding=\nencoding\n] [--payment_rate_manager=\npayment_rate_manager\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) blob hash of the blob to get\n --timeout=\ntimeout\n : (int) timeout in number of seconds\n --encoding=\nencoding\n : (str) by default no attempt at decoding\n is made, can be set to one of the\n following decoders:\n 'json'\n --payment_rate_manager=\npayment_rate_manager\n : (str) if not given the default payment rate\n manager will be used.\n supported alternative rate managers:\n 'only-free'\n\nReturns:\n (str) Success/Fail message or (dict) decoded data\n\n\n\n\nblob_list\n\n\nReturns blob hashes. If not given filters, returns all blobs known by the blob manager\n\nUsage:\n blob_list [--needed] [--finished] [\nuri\n | --uri=\nuri\n]\n [\nstream_hash\n | --stream_hash=\nstream_hash\n]\n [\nsd_hash\n | --sd_hash=\nsd_hash\n]\n [\npage_size\n | --page_size=\npage_size\n]\n [\npage\n | --page=\npage\n]\n\n\nOptions:\n --needed : (bool) only return needed blobs\n --finished : (bool) only return finished blobs\n --uri=\nuri\n : (str) filter blobs by stream in a uri\n --stream_hash=\nstream_hash\n : (str) filter blobs by stream hash\n --sd_hash=\nsd_hash\n : (str) filter blobs by sd hash\n --page_size=\npage_size\n : (int) results page size\n --page=\npage\n : (int) page of results to return\n\nReturns:\n (list) List of blob hashes\n\n\n\n\nblob_reflect\n\n\nReflects specified blobs\n\nUsage:\n blob_reflect (\nblob_hashes\n...) [--reflector_server=\nreflector_server\n]\n\n\nOptions:\n --reflector_server=\nreflector_server\n : (str) reflector address\n\nReturns:\n (list) reflected blob hashes\n\n\n\n\nblob_reflect_all\n\n\nReflects all saved blobs\n\nUsage:\n blob_reflect_all\n\n\nOptions:\n None\n\nReturns:\n (bool) true if successful\n\n\n\n\nblock_show\n\n\nGet contents of a block\n\nUsage:\n block_show (\nblockhash\n | --blockhash=\nblockhash\n) | (\nheight\n | --height=\nheight\n)\n\n\nOptions:\n --blockhash=\nblockhash\n : (str) hash of the block to look up\n --height=\nheight\n : (int) height of the block to look up\n\nReturns:\n (dict) Requested block\n\n\n\n\nchannel_export\n\n\nExport serialized channel signing information for a given certificate claim id\n\nUsage:\n channel_export (\nclaim_id\n | --claim_id=\nclaim_id\n)\n\n\nOptions:\n --claim_id=\nclaim_id\n : (str) Claim ID to export information about\n\nReturns:\n (str) Serialized certificate information\n\n\n\n\nchannel_import\n\n\nImport serialized channel signing information (to allow signing new claims to the channel)\n\nUsage:\n channel_import (\nserialized_certificate_info\n | --serialized_certificate_info=\nserialized_certificate_info\n)\n\n\nOptions:\n --serialized_certificate_info=\nserialized_certificate_info\n : (str) certificate info\n\nReturns:\n (dict) Result dictionary\n\n\n\n\nchannel_list\n\n\nGet certificate claim infos for channels that can be published to\n\nUsage:\n channel_list\n\n\nOptions:\n None\n\nReturns:\n (list) ClaimDict, includes 'is_mine' field to indicate if the certificate claim\n is in the wallet.\n\n\n\n\nchannel_new\n\n\nGenerate a publisher key and create a new '@' prefixed certificate claim\n\nUsage:\n channel_new (\nchannel_name\n | --channel_name=\nchannel_name\n)\n (\namount\n | --amount=\namount\n)\n\n\nOptions:\n --channel_name=\nchannel_name\n : (str) name of the channel prefixed with '@'\n --amount=\namount\n : (float) bid amount on the channel\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_abandon\n\n\nAbandon a name and reclaim credits from the claim\n\nUsage:\n claim_abandon [\nclaim_id\n | --claim_id=\nclaim_id\n]\n [\ntxid\n | --txid=\ntxid\n] [\nnout\n | --nout=\nnout\n]\n\n\nOptions:\n --claim_id=\nclaim_id\n : (str) claim_id of the claim to abandon\n --txid=\ntxid\n : (str) txid of the claim to abandon\n --nout=\nnout\n : (int) nout of the claim to abandon\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting transaction\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_list\n\n\nList current claims and information about them for a given name\n\nUsage:\n claim_list (\nname\n | --name=\nname\n)\n\n\nOptions:\n --name=\nname\n : (str) name of the claim to list info about\n\nReturns:\n (dict) State of claims assigned for the name\n {\n 'claims': (list) list of claims for the name\n [\n {\n 'amount': (float) amount assigned to the claim\n 'effective_amount': (float) total amount assigned to the claim,\n including supports\n 'claim_id': (str) claim ID of the claim\n 'height': (int) height of block containing the claim\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'supports': (list) a list of supports attached to the claim\n 'value': (str) the value of the claim\n },\n ]\n 'supports_without_claims': (list) supports without any claims attached to them\n 'last_takeover_height': (int) the height of last takeover for the name\n }\n\n\n\n\nclaim_list_by_channel\n\n\nGet paginated claims in a channel specified by a channel uri\n\nUsage:\n claim_list_by_channel (\nuri\n | --uri=\nuri\n) [\nuris\n...] [--page=\npage\n]\n [--page_size=\npage_size\n]\n\n\nOptions:\n --uri=\nuri\n : (str) uri of the channel\n --uris=\nuris\n : (list) uris of the channel\n --page=\npage\n : (int) which page of results to return where page 1 is the first\n page, defaults to no pages\n --page_size=\npage_size\n : (int) number of results in a page, default of 10\n\nReturns:\n {\n resolved channel uri: {\n If there was an error:\n 'error': (str) error message\n\n 'claims_in_channel': the total number of results for the channel,\n\n If a page of results was requested:\n 'returned_page': page number returned,\n 'claims_in_channel': [\n {\n 'absolute_channel_position': (int) claim index number in sorted list of\n claims which assert to be part of the\n channel\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n ],\n }\n }\n\n\n\n\nclaim_list_mine\n\n\nList my name claims\n\nUsage:\n claim_list_mine\n\n\nOptions:\n None\n\nReturns:\n (list) List of name claims owned by user\n [\n {\n 'address': (str) address that owns the claim\n 'amount': (float) amount assigned to the claim\n 'blocks_to_expiration': (int) number of blocks until it expires\n 'category': (str) \nclaim\n, \nupdate\n , or \nsupport\n\n 'claim_id': (str) claim ID of the claim\n 'confirmations': (int) number of blocks of confirmations for the claim\n 'expiration_height': (int) the block height which the claim will expire\n 'expired': (bool) true if expired, false otherwise\n 'height': (int) height of the block containing the claim\n 'is_spent': (bool) true if claim is abandoned, false otherwise\n 'name': (str) name of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'value': (str) value of the claim\n },\n ]\n\n\n\n\nclaim_new_support\n\n\nSupport a name claim\n\nUsage:\n claim_new_support (\nname\n | --name=\nname\n) (\nclaim_id\n | --claim_id=\nclaim_id\n)\n (\namount\n | --amount=\namount\n)\n\n\nOptions:\n --name=\nname\n : (str) name of the claim to support\n --claim_id=\nclaim_id\n : (str) claim_id of the claim to support\n --amount=\namount\n : (float) amount of support\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_renew\n\n\nRenew claim(s) or support(s)\n\nUsage:\n claim_renew (\noutpoint\n | --outpoint=\noutpoint\n) | (\nheight\n | --height=\nheight\n)\n\n\nOptions:\n --outpoint=\noutpoint\n : (str) outpoint of the claim to renew\n --height=\nheight\n : (str) update claims expiring before or at this block height\n\nReturns:\n (dict) Dictionary where key is the the original claim's outpoint and\n value is the result of the renewal\n {\n outpoint:{\n\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n },\n }\n\n\n\n\nclaim_send_to_address\n\n\nSend a name claim to an address\n\nUsage:\n claim_send_to_address (\nclaim_id\n | --claim_id=\nclaim_id\n)\n (\naddress\n | --address=\naddress\n)\n [\namount\n | --amount=\namount\n]\n\n\nOptions:\n --claim_id=\nclaim_id\n : (str) claim_id to send\n --address=\naddress\n : (str) address to send the claim to\n --amount\namount\n : (int) Amount of credits to claim name for, defaults to the current amount\n on the claim\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_show\n\n\nResolve claim info from txid/nout or with claim ID\n\nUsage:\n claim_show [\ntxid\n | --txid=\ntxid\n] [\nnout\n | --nout=\nnout\n]\n [\nclaim_id\n | --claim_id=\nclaim_id\n]\n\n\nOptions:\n --txid=\ntxid\n : (str) look for claim with this txid, nout must\n also be specified\n --nout=\nnout\n : (int) look for claim with this nout, txid must\n also be specified\n --claim_id=\nclaim_id\n : (str) look for claim with this claim id\n\nReturns:\n (dict) Dictionary containing claim info as below,\n\n {\n 'txid': (str) txid of claim\n 'nout': (int) nout of claim\n 'amount': (float) amount of claim\n 'value': (str) value of claim\n 'height' : (int) height of claim takeover\n 'claim_id': (str) claim ID of claim\n 'supports': (list) list of supports associated with claim\n }\n\n if claim cannot be resolved, dictionary as below will be returned\n\n {\n 'error': (str) reason for error\n }\n\n\n\n\ncli_test_command\n\n\nThis command is only for testing the CLI argument parsing\nUsage:\n cli_test_command [--a_arg] [--b_arg] (\npos_arg\n | --pos_arg=\npos_arg\n)\n [\npos_args\n...] [--pos_arg2=\npos_arg2\n]\n [--pos_arg3=\npos_arg3\n]\n\n\nOptions:\n --a_arg : (bool) a arg\n --b_arg : (bool) b arg\n --pos_arg=\npos_arg\n : (int) pos arg\n --pos_args=\npos_args\n : (int) pos args\n --pos_arg2=\npos_arg2\n : (int) pos arg 2\n --pos_arg3=\npos_arg3\n : (int) pos arg 3\n\nReturns:\n pos args\n\n\n\n\ncommands\n\n\nReturn a list of available commands\n\nUsage:\n commands\n\n\nOptions:\n None\n\nReturns:\n (list) list of available commands\n\n\n\n\ndaemon_stop\n\n\nStop lbrynet-daemon\n\nUsage:\n daemon_stop\n\n\nOptions:\n None\n\nReturns:\n (string) Shutdown message\n\n\n\n\nfile_delete\n\n\nDelete a LBRY file\n\nUsage:\n file_delete [--delete_from_download_dir] [--delete_all] [--sd_hash=\nsd_hash\n] [--file_name=\nfile_name\n]\n [--stream_hash=\nstream_hash\n] [--rowid=\nrowid\n] [--claim_id=\nclaim_id\n] [--txid=\ntxid\n]\n [--nout=\nnout\n] [--claim_name=\nclaim_name\n] [--channel_claim_id=\nchannel_claim_id\n]\n [--channel_name=\nchannel_name\n]\n\n\nOptions:\n --delete_from_download_dir : (bool) delete file from download directory,\n instead of just deleting blobs\n --delete_all : (bool) if there are multiple matching files,\n allow the deletion of multiple files.\n Otherwise do not delete anything.\n --sd_hash=\nsd_hash\n : (str) delete by file sd hash\n --file_name\nfile_name\n : (str) delete by file name in downloads folder\n --stream_hash=\nstream_hash\n : (str) delete by file stream hash\n --rowid=\nrowid\n : (int) delete by file row id\n --claim_id=\nclaim_id\n : (str) delete by file claim id\n --txid=\ntxid\n : (str) delete by file claim txid\n --nout=\nnout\n : (int) delete by file claim nout\n --claim_name=\nclaim_name\n : (str) delete by file claim name\n --channel_claim_id=\nchannel_claim_id\n : (str) delete by file channel claim id\n --channel_name=\nchannel_name\n : (str) delete by file channel claim name\n\nReturns:\n (bool) true if deletion was successful\n\n\n\n\nfile_list\n\n\nList files limited by optional filters\n\nUsage:\n file_list [--sd_hash=\nsd_hash\n] [--file_name=\nfile_name\n] [--stream_hash=\nstream_hash\n]\n [--rowid=\nrowid\n] [--claim_id=\nclaim_id\n] [--outpoint=\noutpoint\n] [--txid=\ntxid\n] [--nout=\nnout\n]\n [--channel_claim_id=\nchannel_claim_id\n] [--channel_name=\nchannel_name\n]\n [--claim_name=\nclaim_name\n] [--full_status] [--sort=\nsort_method\n...]\n\n\nOptions:\n --sd_hash=\nsd_hash\n : (str) get file with matching sd hash\n --file_name=\nfile_name\n : (str) get file with matching file name in the\n downloads folder\n --stream_hash=\nstream_hash\n : (str) get file with matching stream hash\n --rowid=\nrowid\n : (int) get file with matching row id\n --claim_id=\nclaim_id\n : (str) get file with matching claim id\n --outpoint=\noutpoint\n : (str) get file with matching claim outpoint\n --txid=\ntxid\n : (str) get file with matching claim txid\n --nout=\nnout\n : (int) get file with matching claim nout\n --channel_claim_id=\nchannel_claim_id\n : (str) get file with matching channel claim id\n --channel_name=\nchannel_name\n : (str) get file with matching channel name\n --claim_name=\nclaim_name\n : (str) get file with matching claim name\n --full_status : (bool) full status, populate the\n 'message' and 'size' fields\n --sort=\nsort_method\n : (str) sort by any property, like 'file_name'\n or 'metadata.author'; to specify direction\n append ',asc' or ',desc'\n\nReturns:\n (list) List of files\n\n [\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) None if full_status is false or if claim is not found,\n 'outpoint': (str) None if full_status is false or if claim is not found,\n 'txid': (str) None if full_status is false or if claim is not found,\n 'nout': (int) None if full_status is false or if claim is not found,\n 'metadata': (dict) None if full_status is false or if claim is not found,\n 'channel_claim_id': (str) None if full_status is false or if claim is not found or signed,\n 'channel_name': (str) None if full_status is false or if claim is not found or signed,\n 'claim_name': (str) None if full_status is false or if claim is not found\n },\n ]\n\n\n\n\nfile_reflect\n\n\nReflect all the blobs in a file matching the filter criteria\n\nUsage:\n file_reflect [--sd_hash=\nsd_hash\n] [--file_name=\nfile_name\n]\n [--stream_hash=\nstream_hash\n] [--rowid=\nrowid\n]\n [--reflector=\nreflector\n]\n\n\nOptions:\n --sd_hash=\nsd_hash\n : (str) get file with matching sd hash\n --file_name=\nfile_name\n : (str) get file with matching file name in the\n downloads folder\n --stream_hash=\nstream_hash\n : (str) get file with matching stream hash\n --rowid=\nrowid\n : (int) get file with matching row id\n --reflector=\nreflector\n : (str) reflector server, ip address or url\n by default choose a server from the config\n\nReturns:\n (list) list of blobs reflected\n\n\n\n\nfile_set_status\n\n\nStart or stop downloading a file\n\nUsage:\n file_set_status (\nstatus\n | --status=\nstatus\n) [--sd_hash=\nsd_hash\n]\n [--file_name=\nfile_name\n] [--stream_hash=\nstream_hash\n] [--rowid=\nrowid\n]\n\n\nOptions:\n --status=\nstatus\n : (str) one of \nstart\n or \nstop\n\n --sd_hash=\nsd_hash\n : (str) set status of file with matching sd hash\n --file_name=\nfile_name\n : (str) set status of file with matching file name in the\n downloads folder\n --stream_hash=\nstream_hash\n : (str) set status of file with matching stream hash\n --rowid=\nrowid\n : (int) set status of file with matching row id\n\nReturns:\n (str) Confirmation message\n\n\n\n\nget\n\n\nDownload stream from a LBRY name.\n\nUsage:\n get \nuri\n [\nfile_name\n | --file_name=\nfile_name\n] [\ntimeout\n | --timeout=\ntimeout\n]\n\n\n\nOptions:\n --uri=\nuri\n : (str) uri of the content to download\n --file_name=\nfile_name\n : (str) specified name for the downloaded file\n --timeout=\ntimeout\n : (int) download timeout in number of seconds\n\nReturns:\n (dict) Dictionary containing information about the stream\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) claim id,\n 'outpoint': (str) claim outpoint string,\n 'txid': (str) claim txid,\n 'nout': (int) claim nout,\n 'metadata': (dict) claim metadata,\n 'channel_claim_id': (str) None if claim is not signed\n 'channel_name': (str) None if claim is not signed\n 'claim_name': (str) claim name\n }\n\n\n\n\nhelp\n\n\nReturn a useful message for an API command\n\nUsage:\n help [\ncommand\n | --command=\ncommand\n]\n\n\nOptions:\n --command=\ncommand\n : (str) command to retrieve documentation for\n\nReturns:\n (str) Help message\n\n\n\n\npeer_list\n\n\nGet peers for blob hash\n\nUsage:\n peer_list (\nblob_hash\n | --blob_hash=\nblob_hash\n) [\ntimeout\n | --timeout=\ntimeout\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) find available peers for this blob hash\n --timeout=\ntimeout\n : (int) peer search timeout in seconds\n\nReturns:\n (list) List of contact dictionaries {'host': \npeer ip\n, 'port': \npeer port\n, 'node_id': \npeer node id\n}\n\n\n\n\npeer_ping\n\n\nSend a kademlia ping to the specified peer. If address and port are provided the peer is directly pinged,\nif not provided the peer is located first.\n\nUsage:\n peer_ping (\nnode_id\n | --node_id=\nnode_id\n) [\naddress\n | --address=\naddress\n] [\nport\n | --port=\nport\n]\n\n\nOptions:\n --address=\naddress\n : (str) ip address of the peer\n --port=\nport\n : (int) udp port of the peer\n\nReturns:\n (str) pong, or {'error': \nerror message\n} if an error is encountered\n\n\n\n\npublish\n\n\nMake a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nUsage:\n publish (\nname\n | --name=\nname\n) (\nbid\n | --bid=\nbid\n) [--metadata=\nmetadata\n]\n [--file_path=\nfile_path\n] [--fee=\nfee\n] [--title=\ntitle\n]\n [--description=\ndescription\n] [--author=\nauthor\n] [--language=\nlanguage\n]\n [--license=\nlicense\n] [--license_url=\nlicense_url\n] [--thumbnail=\nthumbnail\n]\n [--preview=\npreview\n] [--nsfw=\nnsfw\n] [--sources=\nsources\n]\n [--channel_name=\nchannel_name\n] [--channel_id=\nchannel_id\n]\n [--claim_address=\nclaim_address\n] [--change_address=\nchange_address\n]\n\n\nOptions:\n --name=\nname\n : (str) name of the content\n --bid=\nbid\n : (decimal) amount to back the claim\n --metadata=\nmetadata\n : (dict) ClaimDict to associate with the claim.\n --file_path=\nfile_path\n : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n --fee=\nfee\n : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n --title=\ntitle\n : (str) title of the publication\n --description=\ndescription\n : (str) description of the publication\n --author=\nauthor\n : (str) author of the publication\n --language=\nlanguage\n : (str) language of the publication\n --license=\nlicense\n : (str) publication license\n --license_url=\nlicense_url\n : (str) publication license url\n --thumbnail=\nthumbnail\n : (str) thumbnail url\n --preview=\npreview\n : (str) preview url\n --nsfw=\nnsfw\n : (bool) whether the content is nsfw\n --sources=\nsources\n : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n --channel_name=\nchannel_name\n : (str) name of the publisher channel name in the wallet\n --channel_id=\nchannel_id\n : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n --claim_address=\nclaim_address\n : (str) address where the claim is sent to, if not specified\n new address wil automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nreport_bug\n\n\nReport a bug to slack\n\nUsage:\n report_bug (\nmessage\n | --message=\nmessage\n)\n\n\nOptions:\n --message=\nmessage\n : (str) Description of the bug\n\nReturns:\n (bool) true if successful\n\n\n\n\nresolve\n\n\nResolve given LBRY URIs\n\nUsage:\n resolve [--force] (\nuri\n | --uri=\nuri\n) [\nuris\n...]\n\n\nOptions:\n --force : (bool) force refresh and ignore cache\n --uri=\nuri\n : (str) uri to resolve\n --uris=\nuris\n : (list) uris to resolve\n\nReturns:\n Dictionary of results, keyed by uri\n '\nuri\n': {\n If a resolution error occurs:\n 'error': Error message\n\n If the uri resolves to a channel or a claim in a channel:\n 'certificate': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the certificate claim,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n\n If the uri resolves to a channel:\n 'claims_in_channel': (int) number of claims in the channel,\n\n If the uri resolves to a claim:\n 'claim': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the claim,\n 'channel_name': (str) channel name if claim is in a channel\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}]\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n }\n\n\n\n\nresolve_name\n\n\nResolve stream info from a LBRY name\n\nUsage:\n resolve_name (\nname\n | --name=\nname\n) [--force]\n\n\nOptions:\n --name=\nname\n : (str) the name to resolve\n --force : (bool) force refresh and do not check cache\n\nReturns:\n (dict) Metadata dictionary from name claim, None if the name is not\n resolvable\n\n\n\n\nrouting_table_get\n\n\nGet DHT routing information\n\nUsage:\n routing_table_get\n\n\nOptions:\n None\n\nReturns:\n (dict) dictionary containing routing and contact information\n {\n \nbuckets\n: {\n \nbucket index\n: [\n {\n \naddress\n: (str) peer address,\n \nport\n: (int) peer udp port\n \nnode_id\n: (str) peer node id,\n \nblobs\n: (list) blob hashes announced by peer\n }\n ]\n },\n \ncontacts\n: (list) contact node ids,\n \nblob_hashes\n: (list) all of the blob hashes stored by peers in the list of buckets,\n \nnode_id\n: (str) the local dht node id\n }\n\n\n\n\nsettings_get\n\n\nGet daemon settings\n\nUsage:\n settings_get\n\n\nOptions:\n None\n\nReturns:\n (dict) Dictionary of daemon settings\n See ADJUSTABLE_SETTINGS in lbrynet/conf.py for full list of settings\n\n\n\n\nsettings_set\n\n\nSet daemon settings\n\nUsage:\n settings_set [--download_directory=\ndownload_directory\n]\n [--data_rate=\ndata_rate\n]\n [--download_timeout=\ndownload_timeout\n]\n [--peer_port=\npeer_port\n]\n [--max_key_fee=\nmax_key_fee\n]\n [--disable_max_key_fee=\ndisable_max_key_fee\n]\n [--use_upnp=\nuse_upnp\n]\n [--run_reflector_server=\nrun_reflector_server\n]\n [--cache_time=\ncache_time\n]\n [--reflect_uploads=\nreflect_uploads\n]\n [--share_usage_data=\nshare_usage_data\n]\n [--peer_search_timeout=\npeer_search_timeout\n]\n [--sd_download_timeout=\nsd_download_timeout\n]\n [--auto_renew_claim_height_delta=\nauto_renew_claim_height_delta\n]\n\n\nOptions:\n --download_directory=\ndownload_directory\n : (str) path of download directory\n --data_rate=\ndata_rate\n : (float) 0.0001\n --download_timeout=\ndownload_timeout\n : (int) 180\n --peer_port=\npeer_port\n : (int) 3333\n --max_key_fee=\nmax_key_fee\n : (dict) maximum key fee for downloads,\n in the format:\n {\n 'currency': \ncurrency_symbol\n,\n 'amount': \namount\n\n }.\n In the CLI, it must be an escaped JSON string\n Supported currency symbols: LBC, USD, BTC\n --disable_max_key_fee=\ndisable_max_key_fee\n : (bool) False\n --use_upnp=\nuse_upnp\n : (bool) True\n --run_reflector_server=\nrun_reflector_server\n : (bool) False\n --cache_time=\ncache_time\n : (int) 150\n --reflect_uploads=\nreflect_uploads\n : (bool) True\n --share_usage_data=\nshare_usage_data\n : (bool) True\n --peer_search_timeout=\npeer_search_timeout\n : (int) 3\n --sd_download_timeout=\nsd_download_timeout\n : (int) 3\n --auto_renew_claim_height_delta=\nauto_renew_claim_height_delta\n : (int) 0\n claims set to expire within this many blocks will be\n automatically renewed after startup (if set to 0, renews\n will not be made automatically)\n\nReturns:\n (dict) Updated dictionary of daemon settings\n\n\n\n\nstatus\n\n\nGet daemon status\n\nUsage:\n status\n\n\nOptions:\n None\n\nReturns:\n (dict) lbrynet-daemon status\n {\n 'installation_id': (str) installation id - base58,\n 'is_running': (bool),\n 'is_first_run': bool,\n 'skipped_components': (list) [names of skipped components (str)],\n 'startup_status': { Does not include components which have been skipped\n 'database': (bool),\n 'wallet': (bool),\n 'session': (bool),\n 'dht': (bool),\n 'hash_announcer': (bool),\n 'stream_identifier': (bool),\n 'file_manager': (bool),\n 'blob_manager': (bool),\n 'blockchain_headers': (bool),\n 'peer_protocol_server': (bool),\n 'reflector': (bool),\n 'upnp': (bool),\n 'exchange_rate_manager': (bool),\n },\n 'connection_status': {\n 'code': (str) connection status code,\n 'message': (str) connection status message\n },\n 'blockchain_headers': {\n 'downloading_headers': (bool),\n 'download_progress': (float) 0-100.0\n },\n 'wallet': {\n 'blocks': (int) local blockchain height,\n 'blocks_behind': (int) remote_height - local_height,\n 'best_blockhash': (str) block hash of most recent block,\n 'is_encrypted': (bool),\n 'is_locked': (bool),\n },\n 'dht': {\n 'node_id': (str) lbry dht node id - hex encoded,\n 'peers_in_routing_table': (int) the number of peers in the routing table,\n },\n 'blob_manager': {\n 'finished_blobs': (int) number of finished blobs in the blob manager,\n },\n 'hash_announcer': {\n 'announce_queue_size': (int) number of blobs currently queued to be announced\n },\n 'file_manager': {\n 'managed_files': (int) count of files in the file manager,\n }\n }\n\n\n\n\nstream_availability\n\n\nGet stream availability for lbry uri\n\nUsage:\n stream_availability (\nuri\n | --uri=\nuri\n)\n [\nsearch_timeout\n | --search_timeout=\nsearch_timeout\n]\n [\nblob_timeout\n | --blob_timeout=\nblob_timeout\n]\n\n\nOptions:\n --uri=\nuri\n : (str) check availability for this uri\n --search_timeout=\nsearch_timeout\n : (int) how long to search for peers for the blob\n in the dht\n --blob_timeout=\nblob_timeout\n : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n 'is_available': \nbool\n,\n 'did_decode': \nbool\n,\n 'did_resolve': \nbool\n,\n 'is_stream': \nbool\n,\n 'num_blobs_in_stream': \nint\n,\n 'sd_hash': \nstr\n,\n 'sd_blob_availability': \ndict\n see `blob_availability`,\n 'head_blob_hash': \nstr\n,\n 'head_blob_availability': \ndict\n see `blob_availability`,\n 'use_upnp': \nbool\n,\n 'upnp_redirect_is_set': \nbool\n,\n 'error': \nNone\n | \nstr\n error message\n }\n\n\n\n\nstream_cost_estimate\n\n\nGet estimated cost for a lbry stream\n\nUsage:\n stream_cost_estimate (\nuri\n | --uri=\nuri\n) [\nsize\n | --size=\nsize\n]\n\n\nOptions:\n --uri=\nuri\n : (str) uri to use\n --size=\nsize\n : (float) stream size in bytes. if provided an sd blob won't be\n downloaded.\n\nReturns:\n (float) Estimated cost in lbry credits, returns None if uri is not\n resolvable\n\n\n\n\ntransaction_list\n\n\nList transactions belonging to wallet\n\nUsage:\n transaction_list\n\n\nOptions:\n None\n\nReturns:\n (list) List of transactions\n\n {\n \nclaim_info\n: (list) claim info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) bid amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nabandon_info\n: (list) abandon info if in txn [{\n \naddress\n: (str) address of abandoned claim,\n \nbalance_delta\n: (float) returned amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nconfirmations\n: (int) number of confirmations for the txn,\n \ndate\n: (str) date and time of txn,\n \nfee\n: (float) txn fee,\n \nsupport_info\n: (list) support info if in txn [{\n \naddress\n: (str) address of support,\n \nbalance_delta\n: (float) support amount,\n \namount\n: (float) support amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nis_tip\n: (bool),\n \nnout\n: (int) nout\n }],\n \ntimestamp\n: (int) timestamp,\n \ntxid\n: (str) txn id,\n \nupdate_info\n: (list) update info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) credited/debited\n \namount\n: (float) absolute amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nvalue\n: (float) value of txn\n }\n\n\n\n\ntransaction_show\n\n\nGet a decoded transaction from a txid\n\nUsage:\n transaction_show (\ntxid\n | --txid=\ntxid\n)\n\n\nOptions:\n --txid=\ntxid\n : (str) txid of the transaction\n\nReturns:\n (dict) JSON formatted transaction\n\n\n\n\nutxo_list\n\n\nList unspent transaction outputs\n\nUsage:\n utxo_list\n\n\nOptions:\n None\n\nReturns:\n (list) List of unspent transaction outputs (UTXOs)\n [\n {\n \naddress\n: (str) the output address\n \namount\n: (float) unspent amount\n \nheight\n: (int) block height\n \nis_claim\n: (bool) is the tx a claim\n \nis_coinbase\n: (bool) is the tx a coinbase tx\n \nis_support\n: (bool) is the tx a support\n \nis_update\n: (bool) is the tx an update\n \nnout\n: (int) nout of the output\n \ntxid\n: (str) txid of the output\n },\n ...\n ]\n\n\n\n\nversion\n\n\nGet lbry version information\n\nUsage:\n version\n\n\nOptions:\n None\n\nReturns:\n (dict) Dictionary of lbry version information\n {\n 'build': (str) build type (e.g. \ndev\n, \nrc\n, \nrelease\n),\n 'ip': (str) remote ip, if available,\n 'lbrynet_version': (str) lbrynet_version,\n 'lbryum_version': (str) lbryum_version,\n 'lbryschema_version': (str) lbryschema_version,\n 'os_release': (str) os release string\n 'os_system': (str) os name\n 'platform': (str) platform string\n 'processor': (str) processor type,\n 'python_version': (str) python version,\n }\n\n\n\n\nwallet_balance\n\n\nReturn the balance of the wallet\n\nUsage:\n wallet_balance [\naddress\n | --address=\naddress\n] [--include_unconfirmed]\n\n\nOptions:\n --address=\naddress\n : (str) If provided only the balance for this\n address will be given\n --include_unconfirmed : (bool) Include unconfirmed\n\nReturns:\n (float) amount of lbry credits in wallet\n\n\n\n\nwallet_decrypt\n\n\nDecrypt an encrypted wallet, this will remove the wallet password\n\nUsage:\n wallet_decrypt\n\n\nOptions:\n None\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_encrypt\n\n\nEncrypt a wallet with a password, if the wallet is already encrypted this will update\nthe password\n\nUsage:\n wallet_encrypt (\nnew_password\n | --new_password=\nnew_password\n)\n\n\nOptions:\n --new_password=\nnew_password\n : (str) password string to be used for encrypting wallet\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_is_address_mine\n\n\nChecks if an address is associated with the current wallet.\n\nUsage:\n wallet_is_address_mine (\naddress\n | --address=\naddress\n)\n\n\nOptions:\n --address=\naddress\n : (str) address to check\n\nReturns:\n (bool) true, if address is associated with current wallet\n\n\n\n\nwallet_list\n\n\nList wallet addresses\n\nUsage:\n wallet_list\n\n\nOptions:\n None\n\nReturns:\n List of wallet addresses\n\n\n\n\nwallet_new_address\n\n\nGenerate a new wallet address\n\nUsage:\n wallet_new_address\n\n\nOptions:\n None\n\nReturns:\n (str) New wallet address in base58\n\n\n\n\nwallet_prefill_addresses\n\n\nCreate new addresses, each containing `amount` credits\n\nUsage:\n wallet_prefill_addresses [--no_broadcast]\n (\nnum_addresses\n | --num_addresses=\nnum_addresses\n)\n (\namount\n | --amount=\namount\n)\n\n\nOptions:\n --no_broadcast : (bool) whether to broadcast or not\n --num_addresses=\nnum_addresses\n : (int) num of addresses to create\n --amount=\namount\n : (float) initial amount in each address\n\nReturns:\n (dict) the resulting transaction\n\n\n\n\nwallet_public_key\n\n\nGet public key from wallet address\n\nUsage:\n wallet_public_key (\naddress\n | --address=\naddress\n)\n\n\nOptions:\n --address=\naddress\n : (str) address for which to get the public key\n\nReturns:\n (list) list of public keys associated with address.\n Could contain more than one public key if multisig.\n\n\n\n\nwallet_send\n\n\nSend credits. If given an address, send credits to it. If given a claim id, send a tip\nto the owner of a claim specified by uri. A tip is a claim support where the recipient\nof the support is the claim address for the claim being supported.\n\nUsage:\n wallet_send (\namount\n | --amount=\namount\n)\n ((\naddress\n | --address=\naddress\n) | (\nclaim_id\n | --claim_id=\nclaim_id\n))\n\n\nOptions:\n --amount=\namount\n : (Decimal) amount of credit to send\n --address=\naddress\n : (str) address to send credits to\n --claim_id=\nclaim_id\n : (str) claim_id of the claim to send to tip to\n\nReturns:\n If sending to an address:\n (bool) true if payment successfully scheduled\n\n If sending a claim tip:\n (dict) Dictionary containing the result of the support\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nwallet_unlock\n\n\nUnlock an encrypted wallet\n\nUsage:\n wallet_unlock (\npassword\n | --password=\npassword\n)\n\n\nOptions:\n --password=\npassword\n : (str) password for unlocking wallet\n\nReturns:\n (bool) true if wallet is unlocked, otherwise false\n\n\n\n\nwallet_unused_address\n\n\nReturn an address containing no balance, will create\na new address if there is none.\n\nUsage:\n wallet_unused_address\n\n\nOptions:\n None\n\nReturns:\n (str) Unused wallet address in base58", + "text": "LBRY JSON-RPC API Documentation\n\n\nblob_announce\n\n\nAnnounce blobs to the DHT\n\nUsage:\n blob_announce [\nblob_hash\n | --blob_hash=\nblob_hash\n]\n [\nstream_hash\n | --stream_hash=\nstream_hash\n] | [\nsd_hash\n | --sd_hash=\nsd_hash\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) announce a blob, specified by blob_hash\n --stream_hash=\nstream_hash\n : (str) announce all blobs associated with\n stream_hash\n --sd_hash=\nsd_hash\n : (str) announce all blobs associated with\n sd_hash and the sd_hash itself\n\nReturns:\n (bool) true if successful\n\n\n\n\nblob_availability\n\n\nGet blob availability\n\nUsage:\n blob_availability (\nblob_hash\n) [\nsearch_timeout\n | --search_timeout=\nsearch_timeout\n]\n [\nblob_timeout\n | --blob_timeout=\nblob_timeout\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) check availability for this blob hash\n --search_timeout=\nsearch_timeout\n : (int) how long to search for peers for the blob\n in the dht\n --blob_timeout=\nblob_timeout\n : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n \nis_available\n: \nbool, true if blob is available from a peer from peer list\n\n \nreachable_peers\n: [\nip\n:\nport\n],\n \nunreachable_peers\n: [\nip\n:\nport\n]\n }\n\n\n\n\nblob_delete\n\n\nDelete a blob\n\nUsage:\n blob_delete (\nblob_hash\n | --blob_hash=\nblob_hash)\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) blob hash of the blob to delete\n\nReturns:\n (str) Success/fail message\n\n\n\n\nblob_get\n\n\nDownload and return a blob\n\nUsage:\n blob_get (\nblob_hash\n | --blob_hash=\nblob_hash\n) [--timeout=\ntimeout\n]\n [--encoding=\nencoding\n] [--payment_rate_manager=\npayment_rate_manager\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) blob hash of the blob to get\n --timeout=\ntimeout\n : (int) timeout in number of seconds\n --encoding=\nencoding\n : (str) by default no attempt at decoding\n is made, can be set to one of the\n following decoders:\n 'json'\n --payment_rate_manager=\npayment_rate_manager\n : (str) if not given the default payment rate\n manager will be used.\n supported alternative rate managers:\n 'only-free'\n\nReturns:\n (str) Success/Fail message or (dict) decoded data\n\n\n\n\nblob_list\n\n\nReturns blob hashes. If not given filters, returns all blobs known by the blob manager\n\nUsage:\n blob_list [--needed] [--finished] [\nuri\n | --uri=\nuri\n]\n [\nstream_hash\n | --stream_hash=\nstream_hash\n]\n [\nsd_hash\n | --sd_hash=\nsd_hash\n]\n [\npage_size\n | --page_size=\npage_size\n]\n [\npage\n | --page=\npage\n]\n\n\nOptions:\n --needed : (bool) only return needed blobs\n --finished : (bool) only return finished blobs\n --uri=\nuri\n : (str) filter blobs by stream in a uri\n --stream_hash=\nstream_hash\n : (str) filter blobs by stream hash\n --sd_hash=\nsd_hash\n : (str) filter blobs by sd hash\n --page_size=\npage_size\n : (int) results page size\n --page=\npage\n : (int) page of results to return\n\nReturns:\n (list) List of blob hashes\n\n\n\n\nblob_reflect\n\n\nReflects specified blobs\n\nUsage:\n blob_reflect (\nblob_hashes\n...) [--reflector_server=\nreflector_server\n]\n\n\nOptions:\n --reflector_server=\nreflector_server\n : (str) reflector address\n\nReturns:\n (list) reflected blob hashes\n\n\n\n\nblob_reflect_all\n\n\nReflects all saved blobs\n\nUsage:\n blob_reflect_all\n\n\nOptions:\n None\n\nReturns:\n (bool) true if successful\n\n\n\n\nblock_show\n\n\nGet contents of a block\n\nUsage:\n block_show (\nblockhash\n | --blockhash=\nblockhash\n) | (\nheight\n | --height=\nheight\n)\n\n\nOptions:\n --blockhash=\nblockhash\n : (str) hash of the block to look up\n --height=\nheight\n : (int) height of the block to look up\n\nReturns:\n (dict) Requested block\n\n\n\n\nchannel_export\n\n\nExport serialized channel signing information for a given certificate claim id\n\nUsage:\n channel_export (\nclaim_id\n | --claim_id=\nclaim_id\n)\n\n\nOptions:\n --claim_id=\nclaim_id\n : (str) Claim ID to export information about\n\nReturns:\n (str) Serialized certificate information\n\n\n\n\nchannel_import\n\n\nImport serialized channel signing information (to allow signing new claims to the channel)\n\nUsage:\n channel_import (\nserialized_certificate_info\n | --serialized_certificate_info=\nserialized_certificate_info\n)\n\n\nOptions:\n --serialized_certificate_info=\nserialized_certificate_info\n : (str) certificate info\n\nReturns:\n (dict) Result dictionary\n\n\n\n\nchannel_list\n\n\nGet certificate claim infos for channels that can be published to\n\nUsage:\n channel_list\n\n\nOptions:\n None\n\nReturns:\n (list) ClaimDict, includes 'is_mine' field to indicate if the certificate claim\n is in the wallet.\n\n\n\n\nchannel_new\n\n\nGenerate a publisher key and create a new '@' prefixed certificate claim\n\nUsage:\n channel_new (\nchannel_name\n | --channel_name=\nchannel_name\n)\n (\namount\n | --amount=\namount\n)\n\n\nOptions:\n --channel_name=\nchannel_name\n : (str) name of the channel prefixed with '@'\n --amount=\namount\n : (float) bid amount on the channel\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_abandon\n\n\nAbandon a name and reclaim credits from the claim\n\nUsage:\n claim_abandon [\nclaim_id\n | --claim_id=\nclaim_id\n]\n [\ntxid\n | --txid=\ntxid\n] [\nnout\n | --nout=\nnout\n]\n\n\nOptions:\n --claim_id=\nclaim_id\n : (str) claim_id of the claim to abandon\n --txid=\ntxid\n : (str) txid of the claim to abandon\n --nout=\nnout\n : (int) nout of the claim to abandon\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting transaction\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_list\n\n\nList current claims and information about them for a given name\n\nUsage:\n claim_list (\nname\n | --name=\nname\n)\n\n\nOptions:\n --name=\nname\n : (str) name of the claim to list info about\n\nReturns:\n (dict) State of claims assigned for the name\n {\n 'claims': (list) list of claims for the name\n [\n {\n 'amount': (float) amount assigned to the claim\n 'effective_amount': (float) total amount assigned to the claim,\n including supports\n 'claim_id': (str) claim ID of the claim\n 'height': (int) height of block containing the claim\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'supports': (list) a list of supports attached to the claim\n 'value': (str) the value of the claim\n },\n ]\n 'supports_without_claims': (list) supports without any claims attached to them\n 'last_takeover_height': (int) the height of last takeover for the name\n }\n\n\n\n\nclaim_list_by_channel\n\n\nGet paginated claims in a channel specified by a channel uri\n\nUsage:\n claim_list_by_channel (\nuri\n | --uri=\nuri\n) [\nuris\n...] [--page=\npage\n]\n [--page_size=\npage_size\n]\n\n\nOptions:\n --uri=\nuri\n : (str) uri of the channel\n --uris=\nuris\n : (list) uris of the channel\n --page=\npage\n : (int) which page of results to return where page 1 is the first\n page, defaults to no pages\n --page_size=\npage_size\n : (int) number of results in a page, default of 10\n\nReturns:\n {\n resolved channel uri: {\n If there was an error:\n 'error': (str) error message\n\n 'claims_in_channel': the total number of results for the channel,\n\n If a page of results was requested:\n 'returned_page': page number returned,\n 'claims_in_channel': [\n {\n 'absolute_channel_position': (int) claim index number in sorted list of\n claims which assert to be part of the\n channel\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n ],\n }\n }\n\n\n\n\nclaim_list_mine\n\n\nList my name claims\n\nUsage:\n claim_list_mine\n\n\nOptions:\n None\n\nReturns:\n (list) List of name claims owned by user\n [\n {\n 'address': (str) address that owns the claim\n 'amount': (float) amount assigned to the claim\n 'blocks_to_expiration': (int) number of blocks until it expires\n 'category': (str) \nclaim\n, \nupdate\n , or \nsupport\n\n 'claim_id': (str) claim ID of the claim\n 'confirmations': (int) number of blocks of confirmations for the claim\n 'expiration_height': (int) the block height which the claim will expire\n 'expired': (bool) true if expired, false otherwise\n 'height': (int) height of the block containing the claim\n 'is_spent': (bool) true if claim is abandoned, false otherwise\n 'name': (str) name of the claim\n 'permanent_url': (str) permanent url of the claim,\n 'txid': (str) txid of the claim\n 'nout': (int) nout of the claim\n 'value': (str) value of the claim\n },\n ]\n\n\n\n\nclaim_new_support\n\n\nSupport a name claim\n\nUsage:\n claim_new_support (\nname\n | --name=\nname\n) (\nclaim_id\n | --claim_id=\nclaim_id\n)\n (\namount\n | --amount=\namount\n)\n\n\nOptions:\n --name=\nname\n : (str) name of the claim to support\n --claim_id=\nclaim_id\n : (str) claim_id of the claim to support\n --amount=\namount\n : (float) amount of support\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nclaim_renew\n\n\nRenew claim(s) or support(s)\n\nUsage:\n claim_renew (\noutpoint\n | --outpoint=\noutpoint\n) | (\nheight\n | --height=\nheight\n)\n\n\nOptions:\n --outpoint=\noutpoint\n : (str) outpoint of the claim to renew\n --height=\nheight\n : (str) update claims expiring before or at this block height\n\nReturns:\n (dict) Dictionary where key is the the original claim's outpoint and\n value is the result of the renewal\n {\n outpoint:{\n\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n },\n }\n\n\n\n\nclaim_send_to_address\n\n\nSend a name claim to an address\n\nUsage:\n claim_send_to_address (\nclaim_id\n | --claim_id=\nclaim_id\n)\n (\naddress\n | --address=\naddress\n)\n [\namount\n | --amount=\namount\n]\n\n\nOptions:\n --claim_id=\nclaim_id\n : (str) claim_id to send\n --address=\naddress\n : (str) address to send the claim to\n --amount\namount\n : (int) Amount of credits to claim name for, defaults to the current amount\n on the claim\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (float) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nclaim_show\n\n\nResolve claim info from txid/nout or with claim ID\n\nUsage:\n claim_show [\ntxid\n | --txid=\ntxid\n] [\nnout\n | --nout=\nnout\n]\n [\nclaim_id\n | --claim_id=\nclaim_id\n]\n\n\nOptions:\n --txid=\ntxid\n : (str) look for claim with this txid, nout must\n also be specified\n --nout=\nnout\n : (int) look for claim with this nout, txid must\n also be specified\n --claim_id=\nclaim_id\n : (str) look for claim with this claim id\n\nReturns:\n (dict) Dictionary containing claim info as below,\n\n {\n 'txid': (str) txid of claim\n 'nout': (int) nout of claim\n 'amount': (float) amount of claim\n 'value': (str) value of claim\n 'height' : (int) height of claim takeover\n 'claim_id': (str) claim ID of claim\n 'supports': (list) list of supports associated with claim\n }\n\n if claim cannot be resolved, dictionary as below will be returned\n\n {\n 'error': (str) reason for error\n }\n\n\n\n\ncli_test_command\n\n\nThis command is only for testing the CLI argument parsing\nUsage:\n cli_test_command [--a_arg] [--b_arg] (\npos_arg\n | --pos_arg=\npos_arg\n)\n [\npos_args\n...] [--pos_arg2=\npos_arg2\n]\n [--pos_arg3=\npos_arg3\n]\n\n\nOptions:\n --a_arg : (bool) a arg\n --b_arg : (bool) b arg\n --pos_arg=\npos_arg\n : (int) pos arg\n --pos_args=\npos_args\n : (int) pos args\n --pos_arg2=\npos_arg2\n : (int) pos arg 2\n --pos_arg3=\npos_arg3\n : (int) pos arg 3\n\nReturns:\n pos args\n\n\n\n\ncommands\n\n\nReturn a list of available commands\n\nUsage:\n commands\n\n\nOptions:\n None\n\nReturns:\n (list) list of available commands\n\n\n\n\ndaemon_stop\n\n\nStop lbrynet-daemon\n\nUsage:\n daemon_stop\n\n\nOptions:\n None\n\nReturns:\n (string) Shutdown message\n\n\n\n\nfile_delete\n\n\nDelete a LBRY file\n\nUsage:\n file_delete [--delete_from_download_dir] [--delete_all] [--sd_hash=\nsd_hash\n] [--file_name=\nfile_name\n]\n [--stream_hash=\nstream_hash\n] [--rowid=\nrowid\n] [--claim_id=\nclaim_id\n] [--txid=\ntxid\n]\n [--nout=\nnout\n] [--claim_name=\nclaim_name\n] [--channel_claim_id=\nchannel_claim_id\n]\n [--channel_name=\nchannel_name\n]\n\n\nOptions:\n --delete_from_download_dir : (bool) delete file from download directory,\n instead of just deleting blobs\n --delete_all : (bool) if there are multiple matching files,\n allow the deletion of multiple files.\n Otherwise do not delete anything.\n --sd_hash=\nsd_hash\n : (str) delete by file sd hash\n --file_name\nfile_name\n : (str) delete by file name in downloads folder\n --stream_hash=\nstream_hash\n : (str) delete by file stream hash\n --rowid=\nrowid\n : (int) delete by file row id\n --claim_id=\nclaim_id\n : (str) delete by file claim id\n --txid=\ntxid\n : (str) delete by file claim txid\n --nout=\nnout\n : (int) delete by file claim nout\n --claim_name=\nclaim_name\n : (str) delete by file claim name\n --channel_claim_id=\nchannel_claim_id\n : (str) delete by file channel claim id\n --channel_name=\nchannel_name\n : (str) delete by file channel claim name\n\nReturns:\n (bool) true if deletion was successful\n\n\n\n\nfile_list\n\n\nList files limited by optional filters\n\nUsage:\n file_list [--sd_hash=\nsd_hash\n] [--file_name=\nfile_name\n] [--stream_hash=\nstream_hash\n]\n [--rowid=\nrowid\n] [--claim_id=\nclaim_id\n] [--outpoint=\noutpoint\n] [--txid=\ntxid\n] [--nout=\nnout\n]\n [--channel_claim_id=\nchannel_claim_id\n] [--channel_name=\nchannel_name\n]\n [--claim_name=\nclaim_name\n] [--full_status] [--sort=\nsort_method\n...]\n\n\nOptions:\n --sd_hash=\nsd_hash\n : (str) get file with matching sd hash\n --file_name=\nfile_name\n : (str) get file with matching file name in the\n downloads folder\n --stream_hash=\nstream_hash\n : (str) get file with matching stream hash\n --rowid=\nrowid\n : (int) get file with matching row id\n --claim_id=\nclaim_id\n : (str) get file with matching claim id\n --outpoint=\noutpoint\n : (str) get file with matching claim outpoint\n --txid=\ntxid\n : (str) get file with matching claim txid\n --nout=\nnout\n : (int) get file with matching claim nout\n --channel_claim_id=\nchannel_claim_id\n : (str) get file with matching channel claim id\n --channel_name=\nchannel_name\n : (str) get file with matching channel name\n --claim_name=\nclaim_name\n : (str) get file with matching claim name\n --full_status : (bool) full status, populate the\n 'message' and 'size' fields\n --sort=\nsort_method\n : (str) sort by any property, like 'file_name'\n or 'metadata.author'; to specify direction\n append ',asc' or ',desc'\n\nReturns:\n (list) List of files\n\n [\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) None if full_status is false or if claim is not found,\n 'outpoint': (str) None if full_status is false or if claim is not found,\n 'txid': (str) None if full_status is false or if claim is not found,\n 'nout': (int) None if full_status is false or if claim is not found,\n 'metadata': (dict) None if full_status is false or if claim is not found,\n 'channel_claim_id': (str) None if full_status is false or if claim is not found or signed,\n 'channel_name': (str) None if full_status is false or if claim is not found or signed,\n 'claim_name': (str) None if full_status is false or if claim is not found\n },\n ]\n\n\n\n\nfile_reflect\n\n\nReflect all the blobs in a file matching the filter criteria\n\nUsage:\n file_reflect [--sd_hash=\nsd_hash\n] [--file_name=\nfile_name\n]\n [--stream_hash=\nstream_hash\n] [--rowid=\nrowid\n]\n [--reflector=\nreflector\n]\n\n\nOptions:\n --sd_hash=\nsd_hash\n : (str) get file with matching sd hash\n --file_name=\nfile_name\n : (str) get file with matching file name in the\n downloads folder\n --stream_hash=\nstream_hash\n : (str) get file with matching stream hash\n --rowid=\nrowid\n : (int) get file with matching row id\n --reflector=\nreflector\n : (str) reflector server, ip address or url\n by default choose a server from the config\n\nReturns:\n (list) list of blobs reflected\n\n\n\n\nfile_set_status\n\n\nStart or stop downloading a file\n\nUsage:\n file_set_status (\nstatus\n | --status=\nstatus\n) [--sd_hash=\nsd_hash\n]\n [--file_name=\nfile_name\n] [--stream_hash=\nstream_hash\n] [--rowid=\nrowid\n]\n\n\nOptions:\n --status=\nstatus\n : (str) one of \nstart\n or \nstop\n\n --sd_hash=\nsd_hash\n : (str) set status of file with matching sd hash\n --file_name=\nfile_name\n : (str) set status of file with matching file name in the\n downloads folder\n --stream_hash=\nstream_hash\n : (str) set status of file with matching stream hash\n --rowid=\nrowid\n : (int) set status of file with matching row id\n\nReturns:\n (str) Confirmation message\n\n\n\n\nget\n\n\nDownload stream from a LBRY name.\n\nUsage:\n get \nuri\n [\nfile_name\n | --file_name=\nfile_name\n] [\ntimeout\n | --timeout=\ntimeout\n]\n\n\n\nOptions:\n --uri=\nuri\n : (str) uri of the content to download\n --file_name=\nfile_name\n : (str) specified name for the downloaded file\n --timeout=\ntimeout\n : (int) download timeout in number of seconds\n\nReturns:\n (dict) Dictionary containing information about the stream\n {\n 'completed': (bool) true if download is completed,\n 'file_name': (str) name of file,\n 'download_directory': (str) download directory,\n 'points_paid': (float) credit paid to download file,\n 'stopped': (bool) true if download is stopped,\n 'stream_hash': (str) stream hash of file,\n 'stream_name': (str) stream name ,\n 'suggested_file_name': (str) suggested file name,\n 'sd_hash': (str) sd hash of file,\n 'download_path': (str) download path of file,\n 'mime_type': (str) mime type of file,\n 'key': (str) key attached to file,\n 'total_bytes': (int) file size in bytes, None if full_status is false,\n 'written_bytes': (int) written size in bytes,\n 'blobs_completed': (int) num_completed, None if full_status is false,\n 'blobs_in_stream': (int) None if full_status is false,\n 'status': (str) downloader status, None if full_status is false,\n 'claim_id': (str) claim id,\n 'outpoint': (str) claim outpoint string,\n 'txid': (str) claim txid,\n 'nout': (int) claim nout,\n 'metadata': (dict) claim metadata,\n 'channel_claim_id': (str) None if claim is not signed\n 'channel_name': (str) None if claim is not signed\n 'claim_name': (str) claim name\n }\n\n\n\n\nhelp\n\n\nReturn a useful message for an API command\n\nUsage:\n help [\ncommand\n | --command=\ncommand\n]\n\n\nOptions:\n --command=\ncommand\n : (str) command to retrieve documentation for\n\nReturns:\n (str) Help message\n\n\n\n\npeer_list\n\n\nGet peers for blob hash\n\nUsage:\n peer_list (\nblob_hash\n | --blob_hash=\nblob_hash\n) [\ntimeout\n | --timeout=\ntimeout\n]\n\n\nOptions:\n --blob_hash=\nblob_hash\n : (str) find available peers for this blob hash\n --timeout=\ntimeout\n : (int) peer search timeout in seconds\n\nReturns:\n (list) List of contact dictionaries {'host': \npeer ip\n, 'port': \npeer port\n, 'node_id': \npeer node id\n}\n\n\n\n\npeer_ping\n\n\nSend a kademlia ping to the specified peer. If address and port are provided the peer is directly pinged,\nif not provided the peer is located first.\n\nUsage:\n peer_ping (\nnode_id\n | --node_id=\nnode_id\n) [\naddress\n | --address=\naddress\n] [\nport\n | --port=\nport\n]\n\n\nOptions:\n --address=\naddress\n : (str) ip address of the peer\n --port=\nport\n : (int) udp port of the peer\n\nReturns:\n (str) pong, or {'error': \nerror message\n} if an error is encountered\n\n\n\n\npublish\n\n\nMake a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nUsage:\n publish (\nname\n | --name=\nname\n) (\nbid\n | --bid=\nbid\n) [--metadata=\nmetadata\n]\n [--file_path=\nfile_path\n] [--fee=\nfee\n] [--title=\ntitle\n]\n [--description=\ndescription\n] [--author=\nauthor\n] [--language=\nlanguage\n]\n [--license=\nlicense\n] [--license_url=\nlicense_url\n] [--thumbnail=\nthumbnail\n]\n [--preview=\npreview\n] [--nsfw=\nnsfw\n] [--sources=\nsources\n]\n [--channel_name=\nchannel_name\n] [--channel_id=\nchannel_id\n]\n [--claim_address=\nclaim_address\n] [--change_address=\nchange_address\n]\n\n\nOptions:\n --name=\nname\n : (str) name of the content\n --bid=\nbid\n : (decimal) amount to back the claim\n --metadata=\nmetadata\n : (dict) ClaimDict to associate with the claim.\n --file_path=\nfile_path\n : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n --fee=\nfee\n : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n --title=\ntitle\n : (str) title of the publication\n --description=\ndescription\n : (str) description of the publication\n --author=\nauthor\n : (str) author of the publication\n --language=\nlanguage\n : (str) language of the publication\n --license=\nlicense\n : (str) publication license\n --license_url=\nlicense_url\n : (str) publication license url\n --thumbnail=\nthumbnail\n : (str) thumbnail url\n --preview=\npreview\n : (str) preview url\n --nsfw=\nnsfw\n : (bool) whether the content is nsfw\n --sources=\nsources\n : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n --channel_name=\nchannel_name\n : (str) name of the publisher channel name in the wallet\n --channel_id=\nchannel_id\n : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n --claim_address=\nclaim_address\n : (str) address where the claim is sent to, if not specified\n new address will automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }\n\n\n\n\nreport_bug\n\n\nReport a bug to slack\n\nUsage:\n report_bug (\nmessage\n | --message=\nmessage\n)\n\n\nOptions:\n --message=\nmessage\n : (str) Description of the bug\n\nReturns:\n (bool) true if successful\n\n\n\n\nresolve\n\n\nResolve given LBRY URIs\n\nUsage:\n resolve [--force] (\nuri\n | --uri=\nuri\n) [\nuris\n...]\n\n\nOptions:\n --force : (bool) force refresh and ignore cache\n --uri=\nuri\n : (str) uri to resolve\n --uris=\nuris\n : (list) uris to resolve\n\nReturns:\n Dictionary of results, keyed by uri\n '\nuri\n': {\n If a resolution error occurs:\n 'error': Error message\n\n If the uri resolves to a channel or a claim in a channel:\n 'certificate': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the certificate claim,\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}],\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n\n If the uri resolves to a channel:\n 'claims_in_channel': (int) number of claims in the channel,\n\n If the uri resolves to a claim:\n 'claim': {\n 'address': (str) claim address,\n 'amount': (float) claim amount,\n 'effective_amount': (float) claim amount including supports,\n 'claim_id': (str) claim id,\n 'claim_sequence': (int) claim sequence number,\n 'decoded_claim': (bool) whether or not the claim value was decoded,\n 'height': (int) claim height,\n 'depth': (int) claim depth,\n 'has_signature': (bool) included if decoded_claim\n 'name': (str) claim name,\n 'permanent_url': (str) permanent url of the claim,\n 'channel_name': (str) channel name if claim is in a channel\n 'supports: (list) list of supports [{'txid': (str) txid,\n 'nout': (int) nout,\n 'amount': (float) amount}]\n 'txid': (str) claim txid,\n 'nout': (str) claim nout,\n 'signature_is_valid': (bool), included if has_signature,\n 'value': ClaimDict if decoded, otherwise hex string\n }\n }\n\n\n\n\nresolve_name\n\n\nResolve stream info from a LBRY name\n\nUsage:\n resolve_name (\nname\n | --name=\nname\n) [--force]\n\n\nOptions:\n --name=\nname\n : (str) the name to resolve\n --force : (bool) force refresh and do not check cache\n\nReturns:\n (dict) Metadata dictionary from name claim, None if the name is not\n resolvable\n\n\n\n\nrouting_table_get\n\n\nGet DHT routing information\n\nUsage:\n routing_table_get\n\n\nOptions:\n None\n\nReturns:\n (dict) dictionary containing routing and contact information\n {\n \nbuckets\n: {\n \nbucket index\n: [\n {\n \naddress\n: (str) peer address,\n \nport\n: (int) peer udp port\n \nnode_id\n: (str) peer node id,\n \nblobs\n: (list) blob hashes announced by peer\n }\n ]\n },\n \ncontacts\n: (list) contact node ids,\n \nblob_hashes\n: (list) all of the blob hashes stored by peers in the list of buckets,\n \nnode_id\n: (str) the local dht node id\n }\n\n\n\n\nsettings_get\n\n\nGet daemon settings\n\nUsage:\n settings_get\n\n\nOptions:\n None\n\nReturns:\n (dict) Dictionary of daemon settings\n See ADJUSTABLE_SETTINGS in lbrynet/conf.py for full list of settings\n\n\n\n\nsettings_set\n\n\nSet daemon settings\n\nUsage:\n settings_set [--download_directory=\ndownload_directory\n]\n [--data_rate=\ndata_rate\n]\n [--download_timeout=\ndownload_timeout\n]\n [--peer_port=\npeer_port\n]\n [--max_key_fee=\nmax_key_fee\n]\n [--disable_max_key_fee=\ndisable_max_key_fee\n]\n [--use_upnp=\nuse_upnp\n]\n [--run_reflector_server=\nrun_reflector_server\n]\n [--cache_time=\ncache_time\n]\n [--reflect_uploads=\nreflect_uploads\n]\n [--share_usage_data=\nshare_usage_data\n]\n [--peer_search_timeout=\npeer_search_timeout\n]\n [--sd_download_timeout=\nsd_download_timeout\n]\n [--auto_renew_claim_height_delta=\nauto_renew_claim_height_delta\n]\n\n\nOptions:\n --download_directory=\ndownload_directory\n : (str) path of download directory\n --data_rate=\ndata_rate\n : (float) 0.0001\n --download_timeout=\ndownload_timeout\n : (int) 180\n --peer_port=\npeer_port\n : (int) 3333\n --max_key_fee=\nmax_key_fee\n : (dict) maximum key fee for downloads,\n in the format:\n {\n 'currency': \ncurrency_symbol\n,\n 'amount': \namount\n\n }.\n In the CLI, it must be an escaped JSON string\n Supported currency symbols: LBC, USD, BTC\n --disable_max_key_fee=\ndisable_max_key_fee\n : (bool) False\n --use_upnp=\nuse_upnp\n : (bool) True\n --run_reflector_server=\nrun_reflector_server\n : (bool) False\n --cache_time=\ncache_time\n : (int) 150\n --reflect_uploads=\nreflect_uploads\n : (bool) True\n --share_usage_data=\nshare_usage_data\n : (bool) True\n --peer_search_timeout=\npeer_search_timeout\n : (int) 3\n --sd_download_timeout=\nsd_download_timeout\n : (int) 3\n --auto_renew_claim_height_delta=\nauto_renew_claim_height_delta\n : (int) 0\n claims set to expire within this many blocks will be\n automatically renewed after startup (if set to 0, renews\n will not be made automatically)\n\nReturns:\n (dict) Updated dictionary of daemon settings\n\n\n\n\nstatus\n\n\nGet daemon status\n\nUsage:\n status\n\n\nOptions:\n None\n\nReturns:\n (dict) lbrynet-daemon status\n {\n 'installation_id': (str) installation id - base58,\n 'is_running': (bool),\n 'is_first_run': bool,\n 'skipped_components': (list) [names of skipped components (str)],\n 'startup_status': { Does not include components which have been skipped\n 'database': (bool),\n 'wallet': (bool),\n 'session': (bool),\n 'dht': (bool),\n 'hash_announcer': (bool),\n 'stream_identifier': (bool),\n 'file_manager': (bool),\n 'blob_manager': (bool),\n 'blockchain_headers': (bool),\n 'peer_protocol_server': (bool),\n 'reflector': (bool),\n 'upnp': (bool),\n 'exchange_rate_manager': (bool),\n },\n 'connection_status': {\n 'code': (str) connection status code,\n 'message': (str) connection status message\n },\n 'blockchain_headers': {\n 'downloading_headers': (bool),\n 'download_progress': (float) 0-100.0\n },\n 'wallet': {\n 'blocks': (int) local blockchain height,\n 'blocks_behind': (int) remote_height - local_height,\n 'best_blockhash': (str) block hash of most recent block,\n 'is_encrypted': (bool),\n 'is_locked': (bool),\n },\n 'dht': {\n 'node_id': (str) lbry dht node id - hex encoded,\n 'peers_in_routing_table': (int) the number of peers in the routing table,\n },\n 'blob_manager': {\n 'finished_blobs': (int) number of finished blobs in the blob manager,\n },\n 'hash_announcer': {\n 'announce_queue_size': (int) number of blobs currently queued to be announced\n },\n 'file_manager': {\n 'managed_files': (int) count of files in the file manager,\n }\n }\n\n\n\n\nstream_availability\n\n\nGet stream availability for lbry uri\n\nUsage:\n stream_availability (\nuri\n | --uri=\nuri\n)\n [\nsearch_timeout\n | --search_timeout=\nsearch_timeout\n]\n [\nblob_timeout\n | --blob_timeout=\nblob_timeout\n]\n\n\nOptions:\n --uri=\nuri\n : (str) check availability for this uri\n --search_timeout=\nsearch_timeout\n : (int) how long to search for peers for the blob\n in the dht\n --blob_timeout=\nblob_timeout\n : (int) how long to try downloading from a peer\n\nReturns:\n (dict) {\n 'is_available': \nbool\n,\n 'did_decode': \nbool\n,\n 'did_resolve': \nbool\n,\n 'is_stream': \nbool\n,\n 'num_blobs_in_stream': \nint\n,\n 'sd_hash': \nstr\n,\n 'sd_blob_availability': \ndict\n see `blob_availability`,\n 'head_blob_hash': \nstr\n,\n 'head_blob_availability': \ndict\n see `blob_availability`,\n 'use_upnp': \nbool\n,\n 'upnp_redirect_is_set': \nbool\n,\n 'error': \nNone\n | \nstr\n error message\n }\n\n\n\n\nstream_cost_estimate\n\n\nGet estimated cost for a lbry stream\n\nUsage:\n stream_cost_estimate (\nuri\n | --uri=\nuri\n) [\nsize\n | --size=\nsize\n]\n\n\nOptions:\n --uri=\nuri\n : (str) uri to use\n --size=\nsize\n : (float) stream size in bytes. if provided an sd blob won't be\n downloaded.\n\nReturns:\n (float) Estimated cost in lbry credits, returns None if uri is not\n resolvable\n\n\n\n\ntransaction_list\n\n\nList transactions belonging to wallet\n\nUsage:\n transaction_list\n\n\nOptions:\n None\n\nReturns:\n (list) List of transactions\n\n {\n \nclaim_info\n: (list) claim info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) bid amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nabandon_info\n: (list) abandon info if in txn [{\n \naddress\n: (str) address of abandoned claim,\n \nbalance_delta\n: (float) returned amount,\n \namount\n: (float) claim amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nconfirmations\n: (int) number of confirmations for the txn,\n \ndate\n: (str) date and time of txn,\n \nfee\n: (float) txn fee,\n \nsupport_info\n: (list) support info if in txn [{\n \naddress\n: (str) address of support,\n \nbalance_delta\n: (float) support amount,\n \namount\n: (float) support amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nis_tip\n: (bool),\n \nnout\n: (int) nout\n }],\n \ntimestamp\n: (int) timestamp,\n \ntxid\n: (str) txn id,\n \nupdate_info\n: (list) update info if in txn [{\n \naddress\n: (str) address of claim,\n \nbalance_delta\n: (float) credited/debited\n \namount\n: (float) absolute amount,\n \nclaim_id\n: (str) claim id,\n \nclaim_name\n: (str) claim name,\n \nnout\n: (int) nout\n }],\n \nvalue\n: (float) value of txn\n }\n\n\n\n\ntransaction_show\n\n\nGet a decoded transaction from a txid\n\nUsage:\n transaction_show (\ntxid\n | --txid=\ntxid\n)\n\n\nOptions:\n --txid=\ntxid\n : (str) txid of the transaction\n\nReturns:\n (dict) JSON formatted transaction\n\n\n\n\nutxo_list\n\n\nList unspent transaction outputs\n\nUsage:\n utxo_list\n\n\nOptions:\n None\n\nReturns:\n (list) List of unspent transaction outputs (UTXOs)\n [\n {\n \naddress\n: (str) the output address\n \namount\n: (float) unspent amount\n \nheight\n: (int) block height\n \nis_claim\n: (bool) is the tx a claim\n \nis_coinbase\n: (bool) is the tx a coinbase tx\n \nis_support\n: (bool) is the tx a support\n \nis_update\n: (bool) is the tx an update\n \nnout\n: (int) nout of the output\n \ntxid\n: (str) txid of the output\n },\n ...\n ]\n\n\n\n\nversion\n\n\nGet lbry version information\n\nUsage:\n version\n\n\nOptions:\n None\n\nReturns:\n (dict) Dictionary of lbry version information\n {\n 'build': (str) build type (e.g. \ndev\n, \nrc\n, \nrelease\n),\n 'ip': (str) remote ip, if available,\n 'lbrynet_version': (str) lbrynet_version,\n 'lbryum_version': (str) lbryum_version,\n 'lbryschema_version': (str) lbryschema_version,\n 'os_release': (str) os release string\n 'os_system': (str) os name\n 'platform': (str) platform string\n 'processor': (str) processor type,\n 'python_version': (str) python version,\n }\n\n\n\n\nwallet_balance\n\n\nReturn the balance of the wallet\n\nUsage:\n wallet_balance [\naddress\n | --address=\naddress\n] [--include_unconfirmed]\n\n\nOptions:\n --address=\naddress\n : (str) If provided only the balance for this\n address will be given\n --include_unconfirmed : (bool) Include unconfirmed\n\nReturns:\n (float) amount of lbry credits in wallet\n\n\n\n\nwallet_decrypt\n\n\nDecrypt an encrypted wallet, this will remove the wallet password\n\nUsage:\n wallet_decrypt\n\n\nOptions:\n None\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_encrypt\n\n\nEncrypt a wallet with a password, if the wallet is already encrypted this will update\nthe password\n\nUsage:\n wallet_encrypt (\nnew_password\n | --new_password=\nnew_password\n)\n\n\nOptions:\n --new_password=\nnew_password\n : (str) password string to be used for encrypting wallet\n\nReturns:\n (bool) true if wallet is decrypted, otherwise false\n\n\n\n\nwallet_is_address_mine\n\n\nChecks if an address is associated with the current wallet.\n\nUsage:\n wallet_is_address_mine (\naddress\n | --address=\naddress\n)\n\n\nOptions:\n --address=\naddress\n : (str) address to check\n\nReturns:\n (bool) true, if address is associated with current wallet\n\n\n\n\nwallet_list\n\n\nList wallet addresses\n\nUsage:\n wallet_list\n\n\nOptions:\n None\n\nReturns:\n List of wallet addresses\n\n\n\n\nwallet_new_address\n\n\nGenerate a new wallet address\n\nUsage:\n wallet_new_address\n\n\nOptions:\n None\n\nReturns:\n (str) New wallet address in base58\n\n\n\n\nwallet_prefill_addresses\n\n\nCreate new addresses, each containing `amount` credits\n\nUsage:\n wallet_prefill_addresses [--no_broadcast]\n (\nnum_addresses\n | --num_addresses=\nnum_addresses\n)\n (\namount\n | --amount=\namount\n)\n\n\nOptions:\n --no_broadcast : (bool) whether to broadcast or not\n --num_addresses=\nnum_addresses\n : (int) num of addresses to create\n --amount=\namount\n : (float) initial amount in each address\n\nReturns:\n (dict) the resulting transaction\n\n\n\n\nwallet_public_key\n\n\nGet public key from wallet address\n\nUsage:\n wallet_public_key (\naddress\n | --address=\naddress\n)\n\n\nOptions:\n --address=\naddress\n : (str) address for which to get the public key\n\nReturns:\n (list) list of public keys associated with address.\n Could contain more than one public key if multisig.\n\n\n\n\nwallet_send\n\n\nSend credits. If given an address, send credits to it. If given a claim id, send a tip\nto the owner of a claim specified by uri. A tip is a claim support where the recipient\nof the support is the claim address for the claim being supported.\n\nUsage:\n wallet_send (\namount\n | --amount=\namount\n)\n ((\naddress\n | --address=\naddress\n) | (\nclaim_id\n | --claim_id=\nclaim_id\n))\n\n\nOptions:\n --amount=\namount\n : (Decimal) amount of credit to send\n --address=\naddress\n : (str) address to send credits to\n --claim_id=\nclaim_id\n : (str) claim_id of the claim to send to tip to\n\nReturns:\n If sending to an address:\n (bool) true if payment successfully scheduled\n\n If sending a claim tip:\n (dict) Dictionary containing the result of the support\n {\n txid : (str) txid of resulting support claim\n nout : (int) nout of the resulting support claim\n fee : (float) fee paid for the transaction\n }\n\n\n\n\nwallet_unlock\n\n\nUnlock an encrypted wallet\n\nUsage:\n wallet_unlock (\npassword\n | --password=\npassword\n)\n\n\nOptions:\n --password=\npassword\n : (str) password for unlocking wallet\n\nReturns:\n (bool) true if wallet is unlocked, otherwise false\n\n\n\n\nwallet_unused_address\n\n\nReturn an address containing no balance, will create\na new address if there is none.\n\nUsage:\n wallet_unused_address\n\n\nOptions:\n None\n\nReturns:\n (str) Unused wallet address in base58", "title": "CLI" }, { @@ -457,7 +457,7 @@ }, { "location": "/cli/#publish", - "text": "Make a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nUsage:\n publish ( name | --name= name ) ( bid | --bid= bid ) [--metadata= metadata ]\n [--file_path= file_path ] [--fee= fee ] [--title= title ]\n [--description= description ] [--author= author ] [--language= language ]\n [--license= license ] [--license_url= license_url ] [--thumbnail= thumbnail ]\n [--preview= preview ] [--nsfw= nsfw ] [--sources= sources ]\n [--channel_name= channel_name ] [--channel_id= channel_id ]\n [--claim_address= claim_address ] [--change_address= change_address ]\n\n\nOptions:\n --name= name : (str) name of the content\n --bid= bid : (decimal) amount to back the claim\n --metadata= metadata : (dict) ClaimDict to associate with the claim.\n --file_path= file_path : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n --fee= fee : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n --title= title : (str) title of the publication\n --description= description : (str) description of the publication\n --author= author : (str) author of the publication\n --language= language : (str) language of the publication\n --license= license : (str) publication license\n --license_url= license_url : (str) publication license url\n --thumbnail= thumbnail : (str) thumbnail url\n --preview= preview : (str) preview url\n --nsfw= nsfw : (bool) whether the content is nsfw\n --sources= sources : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n --channel_name= channel_name : (str) name of the publisher channel name in the wallet\n --channel_id= channel_id : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n --claim_address= claim_address : (str) address where the claim is sent to, if not specified\n new address wil automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }", + "text": "Make a new name claim and publish associated data to lbrynet,\nupdate over existing claim if user already has a claim for name.\n\nFields required in the final Metadata are:\n 'title'\n 'description'\n 'author'\n 'language'\n 'license'\n 'nsfw'\n\nMetadata can be set by either using the metadata argument or by setting individual arguments\nfee, title, description, author, language, license, license_url, thumbnail, preview, nsfw,\nor sources. Individual arguments will overwrite the fields specified in metadata argument.\n\nUsage:\n publish ( name | --name= name ) ( bid | --bid= bid ) [--metadata= metadata ]\n [--file_path= file_path ] [--fee= fee ] [--title= title ]\n [--description= description ] [--author= author ] [--language= language ]\n [--license= license ] [--license_url= license_url ] [--thumbnail= thumbnail ]\n [--preview= preview ] [--nsfw= nsfw ] [--sources= sources ]\n [--channel_name= channel_name ] [--channel_id= channel_id ]\n [--claim_address= claim_address ] [--change_address= change_address ]\n\n\nOptions:\n --name= name : (str) name of the content\n --bid= bid : (decimal) amount to back the claim\n --metadata= metadata : (dict) ClaimDict to associate with the claim.\n --file_path= file_path : (str) path to file to be associated with name. If provided,\n a lbry stream of this file will be used in 'sources'.\n If no path is given but a sources dict is provided,\n it will be used. If neither are provided, an\n error is raised.\n --fee= fee : (dict) Dictionary representing key fee to download content:\n {\n 'currency': currency_symbol,\n 'amount': decimal,\n 'address': str, optional\n }\n supported currencies: LBC, USD, BTC\n If an address is not provided a new one will be\n automatically generated. Default fee is zero.\n --title= title : (str) title of the publication\n --description= description : (str) description of the publication\n --author= author : (str) author of the publication\n --language= language : (str) language of the publication\n --license= license : (str) publication license\n --license_url= license_url : (str) publication license url\n --thumbnail= thumbnail : (str) thumbnail url\n --preview= preview : (str) preview url\n --nsfw= nsfw : (bool) whether the content is nsfw\n --sources= sources : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file\n --channel_name= channel_name : (str) name of the publisher channel name in the wallet\n --channel_id= channel_id : (str) claim id of the publisher channel, does not check\n for channel claim being in the wallet. This allows\n publishing to a channel where only the certificate\n private key is in the wallet.\n --claim_address= claim_address : (str) address where the claim is sent to, if not specified\n new address will automatically be created\n\nReturns:\n (dict) Dictionary containing result of the claim\n {\n 'tx' : (str) hex encoded transaction\n 'txid' : (str) txid of resulting claim\n 'nout' : (int) nout of the resulting claim\n 'fee' : (decimal) fee paid for the claim transaction\n 'claim_id' : (str) claim ID of the resulting claim\n }", "title": "publish" }, { diff --git a/lbrynet/blob/blob_file.py b/lbrynet/blob/blob_file.py index 4db6b5629..310079703 100644 --- a/lbrynet/blob/blob_file.py +++ b/lbrynet/blob/blob_file.py @@ -52,7 +52,7 @@ class BlobFile: def open_for_writing(self, peer): """ open a blob file to be written by peer, supports concurrent - writers, as long as they are from differnt peers. + writers, as long as they are from different peers. returns tuple of (writer, finished_deferred) @@ -115,7 +115,7 @@ class BlobFile: def verified(self): """ Protect verified from being modified by other classes. - verified is True if a write to a blob has completed succesfully, + verified is True if a write to a blob has completed successfully, or a blob has been read to have the same length as specified in init """ diff --git a/lbrynet/build_type.py b/lbrynet/build_type.py index d8b5cfe85..862548fbc 100644 --- a/lbrynet/build_type.py +++ b/lbrynet/build_type.py @@ -1,2 +1,2 @@ -# dont touch this. CI server changes this during build/deployment +# don't touch this. CI server changes this during build/deployment BUILD = "dev" diff --git a/lbrynet/core/Peer.py b/lbrynet/core/Peer.py index 51370c6c3..f75132302 100644 --- a/lbrynet/core/Peer.py +++ b/lbrynet/core/Peer.py @@ -11,7 +11,7 @@ class Peer: self.attempt_connection_at = None # Number of times this Peer has been reported to be down, resets to 0 when it is up self.down_count = 0 - # Number of succesful connections (with full protocol completion) to this peer + # Number of successful connections (with full protocol completion) to this peer self.success_count = 0 self.score = 0 self.stats = defaultdict(float) # {string stat_type, float count} diff --git a/lbrynet/core/client/BlobRequester.py b/lbrynet/core/client/BlobRequester.py index c838e455d..a8c44d83b 100644 --- a/lbrynet/core/client/BlobRequester.py +++ b/lbrynet/core/client/BlobRequester.py @@ -353,7 +353,7 @@ class AvailabilityRequest(RequestHelper): # save available blobs blob_hashes = response_dict['available_blobs'] if not blob_hashes: - # should not send any more requests as it doesnt have any blob we need + # should not send any more requests as it doesn't have any blob we need self.update_local_score(-10.0) return True for blob_hash in blob_hashes: diff --git a/lbrynet/core/log_support.py b/lbrynet/core/log_support.py index 129719948..ec8d9b4b4 100644 --- a/lbrynet/core/log_support.py +++ b/lbrynet/core/log_support.py @@ -246,7 +246,7 @@ def configure_twisted(): class LoggerNameFilter: """Filter a log record based on its name. - Allows all info level and higher records to pass thru. + Allows all info level and higher records to pass through. Debug records pass if the log record name (or a parent) match the input list of logger names. """ diff --git a/lbrynet/core/utils.py b/lbrynet/core/utils.py index 7f932332f..9b45ea4c6 100644 --- a/lbrynet/core/utils.py +++ b/lbrynet/core/utils.py @@ -161,7 +161,7 @@ class DeferredLockContextManager: self._lock = lock def __enter__(self): - yield self._lock.aquire() + yield self._lock.acquire() def __exit__(self, exc_type, exc_val, exc_tb): yield self._lock.release() diff --git a/lbrynet/cryptstream/CryptBlob.py b/lbrynet/cryptstream/CryptBlob.py index 851b7dff8..4a942b28f 100644 --- a/lbrynet/cryptstream/CryptBlob.py +++ b/lbrynet/cryptstream/CryptBlob.py @@ -53,10 +53,10 @@ class StreamBlobDecryptor: def decrypt(self, write_func): """ - Decrypt blob and write its content useing write_func + Decrypt blob and write its content using write_func write_func - function that takes decrypted string as - arugment and writes it somewhere + argument and writes it somewhere Returns: diff --git a/lbrynet/custom_logger.py b/lbrynet/custom_logger.py index 860f0b3c2..6129cc4b6 100644 --- a/lbrynet/custom_logger.py +++ b/lbrynet/custom_logger.py @@ -69,7 +69,7 @@ class Logger(logging.Logger): Returns: a function that takes the following arguments: err: twisted.python.failure.Failure msg: the message to log, using normal logging string iterpolation. - msg_args: the values to subtitute into `msg` + msg_args: the values to substitute into `msg` msg_kwargs: set `level` to change from the default ERROR severity. Other keywoards are treated as normal log kwargs. """ diff --git a/lbrynet/dht/interface.py b/lbrynet/dht/interface.py index 67b4984a5..e4071dffc 100644 --- a/lbrynet/dht/interface.py +++ b/lbrynet/dht/interface.py @@ -59,7 +59,7 @@ class IRoutingTable(Interface): @param count: the amount of contacts to return @type count: int @param _rpcNodeID: Used during RPC, this is be the sender's Node ID - Whatever ID is passed in the paramater will get + Whatever ID is passed in the parameter will get excluded from the list of returned contacts. @type _rpcNodeID: str diff --git a/lbrynet/dht/node.py b/lbrynet/dht/node.py index 069efca1f..0e22ca29c 100644 --- a/lbrynet/dht/node.py +++ b/lbrynet/dht/node.py @@ -621,7 +621,7 @@ class Node(MockKademliaHelper): # # Update the "last accessed" timestamp for the appropriate k-bucket # self._routingTable.touchKBucket(key) if len(shortlist) == 0: - log.warning("This node doesnt know any other nodes") + log.warning("This node doesn't know any other nodes") # This node doesn't know of any other nodes fakeDf = defer.Deferred() fakeDf.callback([]) diff --git a/lbrynet/dht/protocol.py b/lbrynet/dht/protocol.py index 064ffb7ff..8817132dd 100644 --- a/lbrynet/dht/protocol.py +++ b/lbrynet/dht/protocol.py @@ -311,7 +311,7 @@ class KademliaProtocol(protocol.DatagramProtocol): If the data is spread over multiple UDP datagrams, the packets have the following structure:: | | | | | |||||||||||| 0x00 | - |Transmision|Total number|Sequence number| RPC ID |Header end| + |Transmission|Total number|Sequence number| RPC ID |Header end| | type ID | of packets |of this packet | | indicator| | (1 byte) | (2 bytes) | (2 bytes) |(20 bytes)| (1 byte) | | | | | | |||||||||||| | @@ -357,7 +357,7 @@ class KademliaProtocol(protocol.DatagramProtocol): except OSError as err: if err.errno == errno.EWOULDBLOCK: # i'm scared this may swallow important errors, but i get a million of these - # on Linux and it doesnt seem to affect anything -grin + # on Linux and it doesn't seem to affect anything -grin log.warning("Can't send data to dht: EWOULDBLOCK") elif err.errno == errno.ENETUNREACH: # this should probably try to retransmit when the network connection is back diff --git a/lbrynet/dht/routingtable.py b/lbrynet/dht/routingtable.py index 9498b33be..7417e3970 100644 --- a/lbrynet/dht/routingtable.py +++ b/lbrynet/dht/routingtable.py @@ -157,7 +157,7 @@ class TreeRoutingTable: @param count: the amount of contacts to return, default of k (8) @type count: int @param sender_node_id: Used during RPC, this is be the sender's Node ID - Whatever ID is passed in the paramater will get + Whatever ID is passed in the parameter will get excluded from the list of returned contacts. @type sender_node_id: str diff --git a/lbrynet/reflector/server/server.py b/lbrynet/reflector/server/server.py index a5604d204..289e0e036 100644 --- a/lbrynet/reflector/server/server.py +++ b/lbrynet/reflector/server/server.py @@ -118,7 +118,7 @@ class ReflectorServer(Protocol): if self.receiving_blob: self.blob_writer.write(data) else: - log.debug('Not yet recieving blob, data needs further processing') + log.debug('Not yet receiving blob, data needs further processing') self.request_buff += data msg, extra_data = self._get_valid_response(self.request_buff) if msg is not None: diff --git a/scripts/download_blob_from_peer.py b/scripts/download_blob_from_peer.py index 93f1b8d13..c9511a2ca 100644 --- a/scripts/download_blob_from_peer.py +++ b/scripts/download_blob_from_peer.py @@ -83,7 +83,7 @@ def download_it(peer, timeout, blob_hash): if info: break - # there's some kind of race condition where it sometimes doesnt write the blob to disk in time + # there's some kind of race condition where it sometimes doesn't write the blob to disk in time time.sleep(0.1) if info is not None: diff --git a/tests/functional/dht/mock_transport.py b/tests/functional/dht/mock_transport.py index cbeaf66c7..91ca5aab3 100644 --- a/tests/functional/dht/mock_transport.py +++ b/tests/functional/dht/mock_transport.py @@ -57,7 +57,7 @@ class MockUDPTransport(object): dest = MockNetwork.peers[address][0] debug_kademlia_packet(data, (self.address, self.port), address, self._node) dest.datagramReceived(data, (self.address, self.port)) - else: # the node is sending to an address that doesnt currently exist, act like it never arrived + else: # the node is sending to an address that doesn't currently exist, act like it never arrived pass diff --git a/tests/functional/dht/test_store.py b/tests/functional/dht/test_store.py index 2fabd05ab..7e2adba3e 100644 --- a/tests/functional/dht/test_store.py +++ b/tests/functional/dht/test_store.py @@ -31,7 +31,7 @@ class TestStoreExpiration(TestKademliaBase): announce_d = announcing_node.announceHaveBlob(blob_hash) self.pump_clock(5+1) storing_node_ids = yield announce_d - self.assertEqual(len(storing_node_ids), 0) # cant store, wrong tokens, but they get nullified + self.assertEqual(len(storing_node_ids), 0) # can't store, wrong tokens, but they get nullified announce_d = announcing_node.announceHaveBlob(blob_hash) self.pump_clock(5+1) diff --git a/tests/functional/test_misc.py b/tests/functional/test_misc.py index 82f205209..31cf10611 100644 --- a/tests/functional/test_misc.py +++ b/tests/functional/test_misc.py @@ -33,7 +33,7 @@ def init_conf_windows(settings={}): """ There is no fork on windows, so imports are freshly initialized in new processes. - So conf needs to be intialized for new processes + So conf needs to be initialized for new processes """ if os.name == 'nt': original_settings = conf.settings diff --git a/tests/unit/core/client/test_ConnectionManager.py b/tests/unit/core/client/test_ConnectionManager.py index ab9f28a38..8ae69a16f 100644 --- a/tests/unit/core/client/test_ConnectionManager.py +++ b/tests/unit/core/client/test_ConnectionManager.py @@ -130,7 +130,7 @@ class TestIntegrationConnectionManager(TestCase): self.server_port = None def _init_connection_manager(self, seek_head_blob_first=False): - # this import is requierd here so utils.call_later is replaced by self.clock.callLater + # this import is required here so utils.call_later is replaced by self.clock.callLater from lbrynet.core.client.ConnectionManager import ConnectionManager self.connection_manager = ConnectionManager(self.downloader, self.rate_limiter, [self.primary_request_creator], []) diff --git a/tests/unit/core/test_BlobManager.py b/tests/unit/core/test_BlobManager.py index f39edaadb..b34c696b6 100644 --- a/tests/unit/core/test_BlobManager.py +++ b/tests/unit/core/test_BlobManager.py @@ -128,7 +128,7 @@ class BlobManagerTest(unittest.TestCase): count = yield self.bm.count_should_announce_blobs() self.assertEqual(1, count) - # set should annouce to False + # set should announce to False yield self.bm.set_should_announce(blob_hash, should_announce=False) out = yield self.bm.get_should_announce(blob_hash) self.assertFalse(out) diff --git a/tests/unit/lbrynet_daemon/test_Downloader.py b/tests/unit/lbrynet_daemon/test_Downloader.py index d834c1c61..f179536ff 100644 --- a/tests/unit/lbrynet_daemon/test_Downloader.py +++ b/tests/unit/lbrynet_daemon/test_Downloader.py @@ -92,7 +92,7 @@ class GetStreamTests(unittest.TestCase): @defer.inlineCallbacks def test_init_exception(self): """ - test that if initialization would fail, by giving it invaild + test that if initialization would fail, by giving it invalid stream_info, that an exception is thrown """