<!DOCTYPE html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="lang:clipboard.copy" content="Copy to clipboard"> <meta name="lang:clipboard.copied" content="Copied to clipboard"> <meta name="lang:search.language" content="en"> <meta name="lang:search.pipeline.stopwords" content="True"> <meta name="lang:search.pipeline.trimmer" content="True"> <meta name="lang:search.result.none" content="No matching documents"> <meta name="lang:search.result.one" content="1 matching document"> <meta name="lang:search.result.other" content="# matching documents"> <meta name="lang:search.tokenizer" content="[\s\-]+"> <link rel="shortcut icon" href="./assets/images/favicon.png"> <meta name="generator" content="mkdocs-0.17.3, mkdocs-material-2.7.0"> <title>LBRY</title> <link rel="stylesheet" href="./assets/stylesheets/application.78aab2dc.css"> <link rel="stylesheet" href="./assets/stylesheets/application-palette.6079476c.css"> <script src="./assets/javascripts/modernizr.1aa3b519.js"></script> <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono"> <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body dir="ltr" data-md-color-primary="teal" data-md-color-accent="green"> <svg class="md-svg"> <defs> <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"> <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75 19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360 304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25 2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75 1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75 0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5 46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z" /> </svg> </defs> </svg> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search"> <label class="md-overlay" data-md-component="overlay" for="drawer"></label> <a href="#lbry-json-rpc-api-documentation" tabindex="1" class="md-skip"> Skip to content </a> <header class="md-header" data-md-component="header"> <nav class="md-header-nav md-grid"> <div class="md-flex"> <div class="md-flex__cell md-flex__cell--shrink"> <a href="." title="LBRY" class="md-header-nav__button md-logo"> <img src="https://s3.amazonaws.com/files.lbry.io/logo-square-white-bookonly.png" width="24" height="24"> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title"> <span class="md-header-nav__topic"> LBRY </span> <span class="md-header-nav__topic"> API </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for="search"></label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active"> <label class="md-icon md-search__icon" for="search"></label> <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">  </button> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" data-md-scrollfix> <div class="md-search-result" data-md-component="result"> <div class="md-search-result__meta"> Type to start searching </div> <ol class="md-search-result__list"></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class="md-header-nav__source"> <a href="https://github.com/lbryio/lbry/" title="Go to repository" class="md-source" data-md-source="github"> <div class="md-source__icon"> <svg viewBox="0 0 24 24" width="24" height="24"> <use xlink:href="#github" width="24" height="24"></use> </svg> </div> <div class="md-source__repository"> GitHub </div> </a> </div> </div> </div> </nav> </header> <div class="md-container"> <main class="md-main"> <div class="md-main__inner md-grid" data-md-component="container"> <div class="md-sidebar md-sidebar--primary" data-md-component="navigation"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary" data-md-level="0"> <label class="md-nav__title md-nav__title--site" for="drawer"> <span class="md-nav__button md-logo"> <img src="https://s3.amazonaws.com/files.lbry.io/logo-square-white-bookonly.png" width="48" height="48"> </span> LBRY </label> <div class="md-nav__source"> <a href="https://github.com/lbryio/lbry/" title="Go to repository" class="md-source" data-md-source="github"> <div class="md-source__icon"> <svg viewBox="0 0 24 24" width="24" height="24"> <use xlink:href="#github" width="24" height="24"></use> </svg> </div> <div class="md-source__repository"> GitHub </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc"> <label class="md-nav__link md-nav__link--active" for="toc"> API </label> <a href="." title="API" class="md-nav__link md-nav__link--active"> API </a> <nav class="md-nav md-nav--secondary"> <label class="md-nav__title" for="toc">Table of contents</label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="#blob_announce" title="blob_announce" class="md-nav__link"> blob_announce </a> </li> <li class="md-nav__item"> <a href="#blob_availability" title="blob_availability" class="md-nav__link"> blob_availability </a> </li> <li class="md-nav__item"> <a href="#blob_delete" title="blob_delete" class="md-nav__link"> blob_delete </a> </li> <li class="md-nav__item"> <a href="#blob_get" title="blob_get" class="md-nav__link"> blob_get </a> </li> <li class="md-nav__item"> <a href="#blob_list" title="blob_list" class="md-nav__link"> blob_list </a> </li> <li class="md-nav__item"> <a href="#blob_reflect" title="blob_reflect" class="md-nav__link"> blob_reflect </a> </li> <li class="md-nav__item"> <a href="#blob_reflect_all" title="blob_reflect_all" class="md-nav__link"> blob_reflect_all </a> </li> <li class="md-nav__item"> <a href="#block_show" title="block_show" class="md-nav__link"> block_show </a> </li> <li class="md-nav__item"> <a href="#channel_export" title="channel_export" class="md-nav__link"> channel_export </a> </li> <li class="md-nav__item"> <a href="#channel_import" title="channel_import" class="md-nav__link"> channel_import </a> </li> <li class="md-nav__item"> <a href="#channel_list" title="channel_list" class="md-nav__link"> channel_list </a> </li> <li class="md-nav__item"> <a href="#channel_new" title="channel_new" class="md-nav__link"> channel_new </a> </li> <li class="md-nav__item"> <a href="#claim_abandon" title="claim_abandon" class="md-nav__link"> claim_abandon </a> </li> <li class="md-nav__item"> <a href="#claim_list" title="claim_list" class="md-nav__link"> claim_list </a> </li> <li class="md-nav__item"> <a href="#claim_list_by_channel" title="claim_list_by_channel" class="md-nav__link"> claim_list_by_channel </a> </li> <li class="md-nav__item"> <a href="#claim_list_mine" title="claim_list_mine" class="md-nav__link"> claim_list_mine </a> </li> <li class="md-nav__item"> <a href="#claim_new_support" title="claim_new_support" class="md-nav__link"> claim_new_support </a> </li> <li class="md-nav__item"> <a href="#claim_renew" title="claim_renew" class="md-nav__link"> claim_renew </a> </li> <li class="md-nav__item"> <a href="#claim_send_to_address" title="claim_send_to_address" class="md-nav__link"> claim_send_to_address </a> </li> <li class="md-nav__item"> <a href="#claim_show" title="claim_show" class="md-nav__link"> claim_show </a> </li> <li class="md-nav__item"> <a href="#cli_test_command" title="cli_test_command" class="md-nav__link"> cli_test_command </a> </li> <li class="md-nav__item"> <a href="#commands" title="commands" class="md-nav__link"> commands </a> </li> <li class="md-nav__item"> <a href="#daemon_stop" title="daemon_stop" class="md-nav__link"> daemon_stop </a> </li> <li class="md-nav__item"> <a href="#file_delete" title="file_delete" class="md-nav__link"> file_delete </a> </li> <li class="md-nav__item"> <a href="#file_list" title="file_list" class="md-nav__link"> file_list </a> </li> <li class="md-nav__item"> <a href="#file_reflect" title="file_reflect" class="md-nav__link"> file_reflect </a> </li> <li class="md-nav__item"> <a href="#file_set_status" title="file_set_status" class="md-nav__link"> file_set_status </a> </li> <li class="md-nav__item"> <a href="#get" title="get" class="md-nav__link"> get </a> </li> <li class="md-nav__item"> <a href="#help" title="help" class="md-nav__link"> help </a> </li> <li class="md-nav__item"> <a href="#peer_list" title="peer_list" class="md-nav__link"> peer_list </a> </li> <li class="md-nav__item"> <a href="#peer_ping" title="peer_ping" class="md-nav__link"> peer_ping </a> </li> <li class="md-nav__item"> <a href="#publish" title="publish" class="md-nav__link"> publish </a> </li> <li class="md-nav__item"> <a href="#report_bug" title="report_bug" class="md-nav__link"> report_bug </a> </li> <li class="md-nav__item"> <a href="#resolve" title="resolve" class="md-nav__link"> resolve </a> </li> <li class="md-nav__item"> <a href="#resolve_name" title="resolve_name" class="md-nav__link"> resolve_name </a> </li> <li class="md-nav__item"> <a href="#routing_table_get" title="routing_table_get" class="md-nav__link"> routing_table_get </a> </li> <li class="md-nav__item"> <a href="#settings_get" title="settings_get" class="md-nav__link"> settings_get </a> </li> <li class="md-nav__item"> <a href="#settings_set" title="settings_set" class="md-nav__link"> settings_set </a> </li> <li class="md-nav__item"> <a href="#status" title="status" class="md-nav__link"> status </a> </li> <li class="md-nav__item"> <a href="#stream_availability" title="stream_availability" class="md-nav__link"> stream_availability </a> </li> <li class="md-nav__item"> <a href="#stream_cost_estimate" title="stream_cost_estimate" class="md-nav__link"> stream_cost_estimate </a> </li> <li class="md-nav__item"> <a href="#transaction_list" title="transaction_list" class="md-nav__link"> transaction_list </a> </li> <li class="md-nav__item"> <a href="#transaction_show" title="transaction_show" class="md-nav__link"> transaction_show </a> </li> <li class="md-nav__item"> <a href="#utxo_list" title="utxo_list" class="md-nav__link"> utxo_list </a> </li> <li class="md-nav__item"> <a href="#version" title="version" class="md-nav__link"> version </a> </li> <li class="md-nav__item"> <a href="#wallet_balance" title="wallet_balance" class="md-nav__link"> wallet_balance </a> </li> <li class="md-nav__item"> <a href="#wallet_decrypt" title="wallet_decrypt" class="md-nav__link"> wallet_decrypt </a> </li> <li class="md-nav__item"> <a href="#wallet_encrypt" title="wallet_encrypt" class="md-nav__link"> wallet_encrypt </a> </li> <li class="md-nav__item"> <a href="#wallet_is_address_mine" title="wallet_is_address_mine" class="md-nav__link"> wallet_is_address_mine </a> </li> <li class="md-nav__item"> <a href="#wallet_list" title="wallet_list" class="md-nav__link"> wallet_list </a> </li> <li class="md-nav__item"> <a href="#wallet_new_address" title="wallet_new_address" class="md-nav__link"> wallet_new_address </a> </li> <li class="md-nav__item"> <a href="#wallet_prefill_addresses" title="wallet_prefill_addresses" class="md-nav__link"> wallet_prefill_addresses </a> </li> <li class="md-nav__item"> <a href="#wallet_public_key" title="wallet_public_key" class="md-nav__link"> wallet_public_key </a> </li> <li class="md-nav__item"> <a href="#wallet_send" title="wallet_send" class="md-nav__link"> wallet_send </a> </li> <li class="md-nav__item"> <a href="#wallet_unlock" title="wallet_unlock" class="md-nav__link"> wallet_unlock </a> </li> <li class="md-nav__item"> <a href="#wallet_unused_address" title="wallet_unused_address" class="md-nav__link"> wallet_unused_address </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="cli/" title="CLI" class="md-nav__link"> CLI </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="toc"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary"> <label class="md-nav__title" for="toc">Table of contents</label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="#blob_announce" title="blob_announce" class="md-nav__link"> blob_announce </a> </li> <li class="md-nav__item"> <a href="#blob_availability" title="blob_availability" class="md-nav__link"> blob_availability </a> </li> <li class="md-nav__item"> <a href="#blob_delete" title="blob_delete" class="md-nav__link"> blob_delete </a> </li> <li class="md-nav__item"> <a href="#blob_get" title="blob_get" class="md-nav__link"> blob_get </a> </li> <li class="md-nav__item"> <a href="#blob_list" title="blob_list" class="md-nav__link"> blob_list </a> </li> <li class="md-nav__item"> <a href="#blob_reflect" title="blob_reflect" class="md-nav__link"> blob_reflect </a> </li> <li class="md-nav__item"> <a href="#blob_reflect_all" title="blob_reflect_all" class="md-nav__link"> blob_reflect_all </a> </li> <li class="md-nav__item"> <a href="#block_show" title="block_show" class="md-nav__link"> block_show </a> </li> <li class="md-nav__item"> <a href="#channel_export" title="channel_export" class="md-nav__link"> channel_export </a> </li> <li class="md-nav__item"> <a href="#channel_import" title="channel_import" class="md-nav__link"> channel_import </a> </li> <li class="md-nav__item"> <a href="#channel_list" title="channel_list" class="md-nav__link"> channel_list </a> </li> <li class="md-nav__item"> <a href="#channel_new" title="channel_new" class="md-nav__link"> channel_new </a> </li> <li class="md-nav__item"> <a href="#claim_abandon" title="claim_abandon" class="md-nav__link"> claim_abandon </a> </li> <li class="md-nav__item"> <a href="#claim_list" title="claim_list" class="md-nav__link"> claim_list </a> </li> <li class="md-nav__item"> <a href="#claim_list_by_channel" title="claim_list_by_channel" class="md-nav__link"> claim_list_by_channel </a> </li> <li class="md-nav__item"> <a href="#claim_list_mine" title="claim_list_mine" class="md-nav__link"> claim_list_mine </a> </li> <li class="md-nav__item"> <a href="#claim_new_support" title="claim_new_support" class="md-nav__link"> claim_new_support </a> </li> <li class="md-nav__item"> <a href="#claim_renew" title="claim_renew" class="md-nav__link"> claim_renew </a> </li> <li class="md-nav__item"> <a href="#claim_send_to_address" title="claim_send_to_address" class="md-nav__link"> claim_send_to_address </a> </li> <li class="md-nav__item"> <a href="#claim_show" title="claim_show" class="md-nav__link"> claim_show </a> </li> <li class="md-nav__item"> <a href="#cli_test_command" title="cli_test_command" class="md-nav__link"> cli_test_command </a> </li> <li class="md-nav__item"> <a href="#commands" title="commands" class="md-nav__link"> commands </a> </li> <li class="md-nav__item"> <a href="#daemon_stop" title="daemon_stop" class="md-nav__link"> daemon_stop </a> </li> <li class="md-nav__item"> <a href="#file_delete" title="file_delete" class="md-nav__link"> file_delete </a> </li> <li class="md-nav__item"> <a href="#file_list" title="file_list" class="md-nav__link"> file_list </a> </li> <li class="md-nav__item"> <a href="#file_reflect" title="file_reflect" class="md-nav__link"> file_reflect </a> </li> <li class="md-nav__item"> <a href="#file_set_status" title="file_set_status" class="md-nav__link"> file_set_status </a> </li> <li class="md-nav__item"> <a href="#get" title="get" class="md-nav__link"> get </a> </li> <li class="md-nav__item"> <a href="#help" title="help" class="md-nav__link"> help </a> </li> <li class="md-nav__item"> <a href="#peer_list" title="peer_list" class="md-nav__link"> peer_list </a> </li> <li class="md-nav__item"> <a href="#peer_ping" title="peer_ping" class="md-nav__link"> peer_ping </a> </li> <li class="md-nav__item"> <a href="#publish" title="publish" class="md-nav__link"> publish </a> </li> <li class="md-nav__item"> <a href="#report_bug" title="report_bug" class="md-nav__link"> report_bug </a> </li> <li class="md-nav__item"> <a href="#resolve" title="resolve" class="md-nav__link"> resolve </a> </li> <li class="md-nav__item"> <a href="#resolve_name" title="resolve_name" class="md-nav__link"> resolve_name </a> </li> <li class="md-nav__item"> <a href="#routing_table_get" title="routing_table_get" class="md-nav__link"> routing_table_get </a> </li> <li class="md-nav__item"> <a href="#settings_get" title="settings_get" class="md-nav__link"> settings_get </a> </li> <li class="md-nav__item"> <a href="#settings_set" title="settings_set" class="md-nav__link"> settings_set </a> </li> <li class="md-nav__item"> <a href="#status" title="status" class="md-nav__link"> status </a> </li> <li class="md-nav__item"> <a href="#stream_availability" title="stream_availability" class="md-nav__link"> stream_availability </a> </li> <li class="md-nav__item"> <a href="#stream_cost_estimate" title="stream_cost_estimate" class="md-nav__link"> stream_cost_estimate </a> </li> <li class="md-nav__item"> <a href="#transaction_list" title="transaction_list" class="md-nav__link"> transaction_list </a> </li> <li class="md-nav__item"> <a href="#transaction_show" title="transaction_show" class="md-nav__link"> transaction_show </a> </li> <li class="md-nav__item"> <a href="#utxo_list" title="utxo_list" class="md-nav__link"> utxo_list </a> </li> <li class="md-nav__item"> <a href="#version" title="version" class="md-nav__link"> version </a> </li> <li class="md-nav__item"> <a href="#wallet_balance" title="wallet_balance" class="md-nav__link"> wallet_balance </a> </li> <li class="md-nav__item"> <a href="#wallet_decrypt" title="wallet_decrypt" class="md-nav__link"> wallet_decrypt </a> </li> <li class="md-nav__item"> <a href="#wallet_encrypt" title="wallet_encrypt" class="md-nav__link"> wallet_encrypt </a> </li> <li class="md-nav__item"> <a href="#wallet_is_address_mine" title="wallet_is_address_mine" class="md-nav__link"> wallet_is_address_mine </a> </li> <li class="md-nav__item"> <a href="#wallet_list" title="wallet_list" class="md-nav__link"> wallet_list </a> </li> <li class="md-nav__item"> <a href="#wallet_new_address" title="wallet_new_address" class="md-nav__link"> wallet_new_address </a> </li> <li class="md-nav__item"> <a href="#wallet_prefill_addresses" title="wallet_prefill_addresses" class="md-nav__link"> wallet_prefill_addresses </a> </li> <li class="md-nav__item"> <a href="#wallet_public_key" title="wallet_public_key" class="md-nav__link"> wallet_public_key </a> </li> <li class="md-nav__item"> <a href="#wallet_send" title="wallet_send" class="md-nav__link"> wallet_send </a> </li> <li class="md-nav__item"> <a href="#wallet_unlock" title="wallet_unlock" class="md-nav__link"> wallet_unlock </a> </li> <li class="md-nav__item"> <a href="#wallet_unused_address" title="wallet_unused_address" class="md-nav__link"> wallet_unused_address </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content"> <article class="md-content__inner md-typeset"> <a href="https://github.com/lbryio/lbry/edit/master/docs/index.md" title="Edit this page" class="md-icon md-content__icon"></a> <h1 id="lbry-json-rpc-api-documentation">LBRY JSON-RPC API Documentation</h1> <h2 id="blob_announce">blob_announce</h2> <pre><code class="text">Announce blobs to the DHT Args: 'blob_hash' : (str) announce a blob, specified by blob_hash 'stream_hash' : (str) announce all blobs associated with stream_hash 'sd_hash' : (str) announce all blobs associated with sd_hash and the sd_hash itself Returns: (bool) true if successful </code></pre> <h2 id="blob_availability">blob_availability</h2> <pre><code class="text">Get blob availability Args: 'blob_hash' : (str) check availability for this blob hash 'search_timeout' : (int) how long to search for peers for the blob in the dht 'blob_timeout' : (int) how long to try downloading from a peer Returns: (dict) { "is_available": <bool, true if blob is available from a peer from peer list> "reachable_peers": ["<ip>:<port>"], "unreachable_peers": ["<ip>:<port>"] } </code></pre> <h2 id="blob_delete">blob_delete</h2> <pre><code class="text">Delete a blob Args: 'blob_hash' : (str) blob hash of the blob to delete Returns: (str) Success/fail message </code></pre> <h2 id="blob_get">blob_get</h2> <pre><code class="text">Download and return a blob Args: 'blob_hash' (required) : (str) blob hash of the blob to get 'timeout' : (int) timeout in number of seconds 'encoding' : (str) by default no attempt at decoding is made, can be set to one of the following decoders: 'json' 'payment_rate_manager' : (str) if not given the default payment rate manager will be used. supported alternative rate managers: 'only-free' Returns: (str) Success/Fail message or (dict) decoded data </code></pre> <h2 id="blob_list">blob_list</h2> <pre><code class="text">Returns blob hashes. If not given filters, returns all blobs known by the blob manager Args: 'needed' : (bool) only return needed blobs 'finished' : (bool) only return finished blobs 'uri' : (str) filter blobs by stream in a uri 'stream_hash' : (str) filter blobs by stream hash 'sd_hash' : (str) filter blobs by sd hash 'page_size' : (int) results page size 'page' : (int) page of results to return Returns: (list) List of blob hashes </code></pre> <h2 id="blob_reflect">blob_reflect</h2> <pre><code class="text">Reflects specified blobs Args: 'reflector_server' : (str) reflector address Returns: (list) reflected blob hashes </code></pre> <h2 id="blob_reflect_all">blob_reflect_all</h2> <pre><code class="text">Reflects all saved blobs Args: None Returns: (bool) true if successful </code></pre> <h2 id="block_show">block_show</h2> <pre><code class="text">Get contents of a block Args: 'blockhash' (required) : (str) hash of the block to look up 'height' (required) : (int) height of the block to look up Returns: (dict) Requested block </code></pre> <h2 id="channel_export">channel_export</h2> <pre><code class="text">Export serialized channel signing information for a given certificate claim id Args: 'claim_id' (required) : (str) Claim ID to export information about Returns: (str) Serialized certificate information </code></pre> <h2 id="channel_import">channel_import</h2> <pre><code class="text">Import serialized channel signing information (to allow signing new claims to the channel) Args: 'serialized_certificate_info' (required) : (str) certificate info Returns: (dict) Result dictionary </code></pre> <h2 id="channel_list">channel_list</h2> <pre><code class="text">Get certificate claim infos for channels that can be published to Args: None Returns: (list) ClaimDict, includes 'is_mine' field to indicate if the certificate claim is in the wallet. </code></pre> <h2 id="channel_new">channel_new</h2> <pre><code class="text">Generate a publisher key and create a new '@' prefixed certificate claim Args: 'channel_name' (required) : (str) name of the channel prefixed with '@' 'amount' (required) : (float) bid amount on the channel Returns: (dict) Dictionary containing result of the claim { 'tx' : (str) hex encoded transaction 'txid' : (str) txid of resulting claim 'nout' : (int) nout of the resulting claim 'fee' : (float) fee paid for the claim transaction 'claim_id' : (str) claim ID of the resulting claim } </code></pre> <h2 id="claim_abandon">claim_abandon</h2> <pre><code class="text">Abandon a name and reclaim credits from the claim Args: 'claim_id' : (str) claim_id of the claim to abandon 'txid' : (str) txid of the claim to abandon 'nout' : (int) nout of the claim to abandon Returns: (dict) Dictionary containing result of the claim { txid : (str) txid of resulting transaction fee : (float) fee paid for the transaction } </code></pre> <h2 id="claim_list">claim_list</h2> <pre><code class="text">List current claims and information about them for a given name Args: 'name' (required) : (str) name of the claim to list info about Returns: (dict) State of claims assigned for the name { 'claims': (list) list of claims for the name [ { 'amount': (float) amount assigned to the claim 'effective_amount': (float) total amount assigned to the claim, including supports 'claim_id': (str) claim ID of the claim 'height': (int) height of block containing the claim 'txid': (str) txid of the claim 'nout': (int) nout of the claim 'permanent_url': (str) permanent url of the claim, 'supports': (list) a list of supports attached to the claim 'value': (str) the value of the claim }, ] 'supports_without_claims': (list) supports without any claims attached to them 'last_takeover_height': (int) the height of last takeover for the name } </code></pre> <h2 id="claim_list_by_channel">claim_list_by_channel</h2> <pre><code class="text">Get paginated claims in a channel specified by a channel uri Args: 'uri' (required) : (str) uri of the channel 'uris' : (list) uris of the channel 'page' : (int) which page of results to return where page 1 is the first page, defaults to no pages 'page_size' : (int) number of results in a page, default of 10 Returns: { resolved channel uri: { If there was an error: 'error': (str) error message 'claims_in_channel': the total number of results for the channel, If a page of results was requested: 'returned_page': page number returned, 'claims_in_channel': [ { 'absolute_channel_position': (int) claim index number in sorted list of claims which assert to be part of the channel 'address': (str) claim address, 'amount': (float) claim amount, 'effective_amount': (float) claim amount including supports, 'claim_id': (str) claim id, 'claim_sequence': (int) claim sequence number (or -1 if unknown), 'decoded_claim': (bool) whether or not the claim value was decoded, 'height': (int) claim height, 'depth': (int) claim depth, 'has_signature': (bool) included if decoded_claim 'name': (str) claim name, 'supports: (list) list of supports [{'txid': (str) txid, 'nout': (int) nout, 'amount': (float) amount}], 'txid': (str) claim txid, 'nout': (str) claim nout, 'signature_is_valid': (bool), included if has_signature, 'value': ClaimDict if decoded, otherwise hex string } ], } } </code></pre> <h2 id="claim_list_mine">claim_list_mine</h2> <pre><code class="text">List my name claims Args: None Returns: (list) List of name claims owned by user [ { 'address': (str) address that owns the claim 'amount': (float) amount assigned to the claim 'blocks_to_expiration': (int) number of blocks until it expires 'category': (str) "claim", "update" , or "support" 'claim_id': (str) claim ID of the claim 'confirmations': (int) number of blocks of confirmations for the claim 'expiration_height': (int) the block height which the claim will expire 'expired': (bool) true if expired, false otherwise 'height': (int) height of the block containing the claim 'is_spent': (bool) true if claim is abandoned, false otherwise 'name': (str) name of the claim 'permanent_url': (str) permanent url of the claim, 'txid': (str) txid of the claim 'nout': (int) nout of the claim 'value': (str) value of the claim }, ] </code></pre> <h2 id="claim_new_support">claim_new_support</h2> <pre><code class="text">Support a name claim Args: 'name' (required) : (str) name of the claim to support 'claim_id' (required) : (str) claim_id of the claim to support 'amount' (required) : (float) amount of support Returns: (dict) Dictionary containing result of the claim { txid : (str) txid of resulting support claim nout : (int) nout of the resulting support claim fee : (float) fee paid for the transaction } </code></pre> <h2 id="claim_renew">claim_renew</h2> <pre><code class="text">Renew claim(s) or support(s) Args: 'outpoint' (required) : (str) outpoint of the claim to renew 'height' (required) : (str) update claims expiring before or at this block height Returns: (dict) Dictionary where key is the the original claim's outpoint and value is the result of the renewal { outpoint:{ 'tx' : (str) hex encoded transaction 'txid' : (str) txid of resulting claim 'nout' : (int) nout of the resulting claim 'fee' : (float) fee paid for the claim transaction 'claim_id' : (str) claim ID of the resulting claim }, } </code></pre> <h2 id="claim_send_to_address">claim_send_to_address</h2> <pre><code class="text">Send a name claim to an address Args: 'claim_id' (required) : (str) claim_id to send 'address' (required) : (str) address to send the claim to 'amount' : (int) Amount of credits to claim name for, defaults to the current amount on the claim Returns: (dict) Dictionary containing result of the claim { 'tx' : (str) hex encoded transaction 'txid' : (str) txid of resulting claim 'nout' : (int) nout of the resulting claim 'fee' : (float) fee paid for the claim transaction 'claim_id' : (str) claim ID of the resulting claim } </code></pre> <h2 id="claim_show">claim_show</h2> <pre><code class="text">Resolve claim info from txid/nout or with claim ID Args: 'txid' : (str) look for claim with this txid, nout must also be specified 'nout' : (int) look for claim with this nout, txid must also be specified 'claim_id' : (str) look for claim with this claim id Returns: (dict) Dictionary containing claim info as below, { 'txid': (str) txid of claim 'nout': (int) nout of claim 'amount': (float) amount of claim 'value': (str) value of claim 'height' : (int) height of claim takeover 'claim_id': (str) claim ID of claim 'supports': (list) list of supports associated with claim } if claim cannot be resolved, dictionary as below will be returned { 'error': (str) reason for error } </code></pre> <h2 id="cli_test_command">cli_test_command</h2> <pre><code class="text">This command is only for testing the CLI argument parsing Args: 'a_arg' : (bool) a arg 'b_arg' : (bool) b arg 'pos_arg' (required) : (int) pos arg 'pos_args' : (int) pos args 'pos_arg2' : (int) pos arg 2 'pos_arg3' : (int) pos arg 3 Returns: pos args </code></pre> <h2 id="commands">commands</h2> <pre><code class="text">Return a list of available commands Args: None Returns: (list) list of available commands </code></pre> <h2 id="daemon_stop">daemon_stop</h2> <pre><code class="text">Stop lbrynet-daemon Args: None Returns: (string) Shutdown message </code></pre> <h2 id="file_delete">file_delete</h2> <pre><code class="text">Delete a LBRY file Args: 'delete_from_download_dir' : (bool) delete file from download directory, instead of just deleting blobs 'delete_all' : (bool) if there are multiple matching files, allow the deletion of multiple files. Otherwise do not delete anything. 'sd_hash' : (str) delete by file sd hash 'file_name' : (str) delete by file name in downloads folder 'stream_hash' : (str) delete by file stream hash 'rowid' : (int) delete by file row id 'claim_id' : (str) delete by file claim id 'txid' : (str) delete by file claim txid 'nout' : (int) delete by file claim nout 'claim_name' : (str) delete by file claim name 'channel_claim_id' : (str) delete by file channel claim id 'channel_name' : (str) delete by file channel claim name Returns: (bool) true if deletion was successful </code></pre> <h2 id="file_list">file_list</h2> <pre><code class="text">List files limited by optional filters Args: 'sd_hash' : (str) get file with matching sd hash 'file_name' : (str) get file with matching file name in the downloads folder 'stream_hash' : (str) get file with matching stream hash 'rowid' : (int) get file with matching row id 'claim_id' : (str) get file with matching claim id 'outpoint' : (str) get file with matching claim outpoint 'txid' : (str) get file with matching claim txid 'nout' : (int) get file with matching claim nout 'channel_claim_id' : (str) get file with matching channel claim id 'channel_name' : (str) get file with matching channel name 'claim_name' : (str) get file with matching claim name 'full_status' : (bool) full status, populate the 'message' and 'size' fields 'sort' : (str) sort by any property, like 'file_name' or 'metadata.author'; to specify direction append ',asc' or ',desc' Returns: (list) List of files [ { 'completed': (bool) true if download is completed, 'file_name': (str) name of file, 'download_directory': (str) download directory, 'points_paid': (float) credit paid to download file, 'stopped': (bool) true if download is stopped, 'stream_hash': (str) stream hash of file, 'stream_name': (str) stream name , 'suggested_file_name': (str) suggested file name, 'sd_hash': (str) sd hash of file, 'download_path': (str) download path of file, 'mime_type': (str) mime type of file, 'key': (str) key attached to file, 'total_bytes': (int) file size in bytes, None if full_status is false, 'written_bytes': (int) written size in bytes, 'blobs_completed': (int) num_completed, None if full_status is false, 'blobs_in_stream': (int) None if full_status is false, 'status': (str) downloader status, None if full_status is false, 'claim_id': (str) None if full_status is false or if claim is not found, 'outpoint': (str) None if full_status is false or if claim is not found, 'txid': (str) None if full_status is false or if claim is not found, 'nout': (int) None if full_status is false or if claim is not found, 'metadata': (dict) None if full_status is false or if claim is not found, 'channel_claim_id': (str) None if full_status is false or if claim is not found or signed, 'channel_name': (str) None if full_status is false or if claim is not found or signed, 'claim_name': (str) None if full_status is false or if claim is not found }, ] </code></pre> <h2 id="file_reflect">file_reflect</h2> <pre><code class="text">Reflect all the blobs in a file matching the filter criteria Args: 'sd_hash' : (str) get file with matching sd hash 'file_name' : (str) get file with matching file name in the downloads folder 'stream_hash' : (str) get file with matching stream hash 'rowid' : (int) get file with matching row id 'reflector' : (str) reflector server, ip address or url by default choose a server from the config Returns: (list) list of blobs reflected </code></pre> <h2 id="file_set_status">file_set_status</h2> <pre><code class="text">Start or stop downloading a file Args: 'status' (required) : (str) one of "start" or "stop" 'sd_hash' : (str) set status of file with matching sd hash 'file_name' : (str) set status of file with matching file name in the downloads folder 'stream_hash' : (str) set status of file with matching stream hash 'rowid' : (int) set status of file with matching row id Returns: (str) Confirmation message </code></pre> <h2 id="get">get</h2> <pre><code class="text">Download stream from a LBRY name. Args: 'uri' : (str) uri of the content to download 'file_name' : (str) specified name for the downloaded file 'timeout' : (int) download timeout in number of seconds Returns: (dict) Dictionary containing information about the stream { 'completed': (bool) true if download is completed, 'file_name': (str) name of file, 'download_directory': (str) download directory, 'points_paid': (float) credit paid to download file, 'stopped': (bool) true if download is stopped, 'stream_hash': (str) stream hash of file, 'stream_name': (str) stream name , 'suggested_file_name': (str) suggested file name, 'sd_hash': (str) sd hash of file, 'download_path': (str) download path of file, 'mime_type': (str) mime type of file, 'key': (str) key attached to file, 'total_bytes': (int) file size in bytes, None if full_status is false, 'written_bytes': (int) written size in bytes, 'blobs_completed': (int) num_completed, None if full_status is false, 'blobs_in_stream': (int) None if full_status is false, 'status': (str) downloader status, None if full_status is false, 'claim_id': (str) claim id, 'outpoint': (str) claim outpoint string, 'txid': (str) claim txid, 'nout': (int) claim nout, 'metadata': (dict) claim metadata, 'channel_claim_id': (str) None if claim is not signed 'channel_name': (str) None if claim is not signed 'claim_name': (str) claim name } </code></pre> <h2 id="help">help</h2> <pre><code class="text">Return a useful message for an API command Args: 'command' : (str) command to retrieve documentation for Returns: (str) Help message </code></pre> <h2 id="peer_list">peer_list</h2> <pre><code class="text">Get peers for blob hash Args: 'blob_hash' (required) : (str) find available peers for this blob hash 'timeout' : (int) peer search timeout in seconds Returns: (list) List of contact dictionaries {'host': <peer ip>, 'port': <peer port>, 'node_id': <peer node id>} </code></pre> <h2 id="peer_ping">peer_ping</h2> <pre><code class="text">Send a kademlia ping to the specified peer. If address and port are provided the peer is directly pinged, if not provided the peer is located first. Args: 'address' : (str) ip address of the peer 'port' : (int) udp port of the peer Returns: (str) pong, or {'error': <error message>} if an error is encountered </code></pre> <h2 id="publish">publish</h2> <pre><code class="text">Make a new name claim and publish associated data to lbrynet, update over existing claim if user already has a claim for name. Fields required in the final Metadata are: 'title' 'description' 'author' 'language' 'license' 'nsfw' Metadata can be set by either using the metadata argument or by setting individual arguments fee, title, description, author, language, license, license_url, thumbnail, preview, nsfw, or sources. Individual arguments will overwrite the fields specified in metadata argument. Args: 'name' (required) : (str) name of the content 'bid' (required) : (decimal) amount to back the claim 'metadata' : (dict) ClaimDict to associate with the claim. 'file_path' : (str) path to file to be associated with name. If provided, a lbry stream of this file will be used in 'sources'. If no path is given but a sources dict is provided, it will be used. If neither are provided, an error is raised. 'fee' : (dict) Dictionary representing key fee to download content: { 'currency': currency_symbol, 'amount': decimal, 'address': str, optional } supported currencies: LBC, USD, BTC If an address is not provided a new one will be automatically generated. Default fee is zero. 'title' : (str) title of the publication 'description' : (str) description of the publication 'author' : (str) author of the publication 'language' : (str) language of the publication 'license' : (str) publication license 'license_url' : (str) publication license url 'thumbnail' : (str) thumbnail url 'preview' : (str) preview url 'nsfw' : (bool) whether the content is nsfw 'sources' : (str) {'lbry_sd_hash': sd_hash} specifies sd hash of file 'channel_name' : (str) name of the publisher channel name in the wallet 'channel_id' : (str) claim id of the publisher channel, does not check for channel claim being in the wallet. This allows 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 will automatically be created Returns: (dict) Dictionary containing result of the claim { 'tx' : (str) hex encoded transaction 'txid' : (str) txid of resulting claim 'nout' : (int) nout of the resulting claim 'fee' : (decimal) fee paid for the claim transaction 'claim_id' : (str) claim ID of the resulting claim } </code></pre> <h2 id="report_bug">report_bug</h2> <pre><code class="text">Report a bug to slack Args: 'message' (required) : (str) Description of the bug Returns: (bool) true if successful </code></pre> <h2 id="resolve">resolve</h2> <pre><code class="text">Resolve given LBRY URIs Args: 'force' : (bool) force refresh and ignore cache 'uri' (required) : (str) uri to resolve 'uris' : (list) uris to resolve Returns: Dictionary of results, keyed by uri '<uri>': { If a resolution error occurs: 'error': Error message If the uri resolves to a channel or a claim in a channel: 'certificate': { 'address': (str) claim address, 'amount': (float) claim amount, 'effective_amount': (float) claim amount including supports, 'claim_id': (str) claim id, 'decoded_claim': (bool) whether or not the claim value was decoded, 'height': (int) claim height, 'depth': (int) claim depth, 'has_signature': (bool) included if decoded_claim 'name': (str) claim name, 'permanent_url': (str) permanent url of the certificate claim, 'supports: (list) list of supports [{'txid': (str) txid, 'nout': (int) nout, 'amount': (float) amount}], 'txid': (str) claim txid, 'nout': (str) claim nout, 'signature_is_valid': (bool), included if has_signature, 'value': ClaimDict if decoded, otherwise hex string } If the uri resolves to a channel: 'claims_in_channel': (int) number of claims in the channel, If the uri resolves to a claim: 'claim': { 'address': (str) claim address, 'amount': (float) claim amount, 'effective_amount': (float) claim amount including supports, 'claim_id': (str) claim id, 'decoded_claim': (bool) whether or not the claim value was decoded, 'height': (int) claim height, 'depth': (int) claim depth, 'has_signature': (bool) included if decoded_claim 'name': (str) claim name, 'permanent_url': (str) permanent url of the claim, 'channel_name': (str) channel name if claim is in a channel 'supports: (list) list of supports [{'txid': (str) txid, 'nout': (int) nout, 'amount': (float) amount}] 'txid': (str) claim txid, 'nout': (str) claim nout, 'signature_is_valid': (bool), included if has_signature, 'value': ClaimDict if decoded, otherwise hex string } } </code></pre> <h2 id="resolve_name">resolve_name</h2> <pre><code class="text">Resolve stream info from a LBRY name Args: 'name' (required) : (str) the name to resolve 'force' : (bool) force refresh and do not check cache Returns: (dict) Metadata dictionary from name claim, None if the name is not resolvable </code></pre> <h2 id="routing_table_get">routing_table_get</h2> <pre><code class="text">Get DHT routing information Args: None Returns: (dict) dictionary containing routing and contact information { "buckets": { <bucket index>: [ { "address": (str) peer address, "port": (int) peer udp port "node_id": (str) peer node id, "blobs": (list) blob hashes announced by peer } ] }, "contacts": (list) contact node ids, "blob_hashes": (list) all of the blob hashes stored by peers in the list of buckets, "node_id": (str) the local dht node id } </code></pre> <h2 id="settings_get">settings_get</h2> <pre><code class="text">Get daemon settings Args: None Returns: (dict) Dictionary of daemon settings See ADJUSTABLE_SETTINGS in lbrynet/conf.py for full list of settings </code></pre> <h2 id="settings_set">settings_set</h2> <pre><code class="text">Set daemon settings Args: 'download_directory' : (str) path of download directory 'data_rate' : (float) 0.0001 'download_timeout' : (int) 180 'peer_port' : (int) 3333 'max_key_fee' : (dict) maximum key fee for downloads, in the format: { 'currency': <currency_symbol>, 'amount': <amount> }. In the CLI, it must be an escaped JSON string Supported currency symbols: LBC, USD, BTC 'disable_max_key_fee' : (bool) False 'use_upnp' : (bool) True 'run_reflector_server' : (bool) False 'cache_time' : (int) 150 'reflect_uploads' : (bool) True 'share_usage_data' : (bool) True 'peer_search_timeout' : (int) 3 'sd_download_timeout' : (int) 3 'auto_renew_claim_height_delta' : (int) 0 claims set to expire within this many blocks will be automatically renewed after startup (if set to 0, renews will not be made automatically) Returns: (dict) Updated dictionary of daemon settings </code></pre> <h2 id="status">status</h2> <pre><code class="text">Get daemon status Args: None Returns: (dict) lbrynet-daemon status { 'installation_id': (str) installation id - base58, 'is_running': (bool), 'is_first_run': bool, 'skipped_components': (list) [names of skipped components (str)], 'startup_status': { Does not include components which have been skipped 'database': (bool), 'wallet': (bool), 'session': (bool), 'dht': (bool), 'hash_announcer': (bool), 'stream_identifier': (bool), 'file_manager': (bool), 'blob_manager': (bool), 'blockchain_headers': (bool), 'peer_protocol_server': (bool), 'reflector': (bool), 'upnp': (bool), 'exchange_rate_manager': (bool), }, 'connection_status': { 'code': (str) connection status code, 'message': (str) connection status message }, 'blockchain_headers': { 'downloading_headers': (bool), 'download_progress': (float) 0-100.0 }, 'wallet': { 'blocks': (int) local blockchain height, 'blocks_behind': (int) remote_height - local_height, 'best_blockhash': (str) block hash of most recent block, 'is_encrypted': (bool), 'is_locked': (bool), }, 'dht': { 'node_id': (str) lbry dht node id - hex encoded, 'peers_in_routing_table': (int) the number of peers in the routing table, }, 'blob_manager': { 'finished_blobs': (int) number of finished blobs in the blob manager, }, 'hash_announcer': { 'announce_queue_size': (int) number of blobs currently queued to be announced }, 'file_manager': { 'managed_files': (int) count of files in the file manager, } } </code></pre> <h2 id="stream_availability">stream_availability</h2> <pre><code class="text">Get stream availability for lbry uri Args: 'uri' (required) : (str) check availability for this uri 'search_timeout' : (int) how long to search for peers for the blob in the dht 'blob_timeout' : (int) how long to try downloading from a peer Returns: (dict) { 'is_available': <bool>, 'did_decode': <bool>, 'did_resolve': <bool>, 'is_stream': <bool>, 'num_blobs_in_stream': <int>, 'sd_hash': <str>, 'sd_blob_availability': <dict> see `blob_availability`, 'head_blob_hash': <str>, 'head_blob_availability': <dict> see `blob_availability`, 'use_upnp': <bool>, 'upnp_redirect_is_set': <bool>, 'error': <None> | <str> error message } </code></pre> <h2 id="stream_cost_estimate">stream_cost_estimate</h2> <pre><code class="text">Get estimated cost for a lbry stream Args: 'uri' (required) : (str) uri to use 'size' : (float) stream size in bytes. if provided an sd blob won't be downloaded. Returns: (float) Estimated cost in lbry credits, returns None if uri is not resolvable </code></pre> <h2 id="transaction_list">transaction_list</h2> <pre><code class="text">List transactions belonging to wallet Args: None Returns: (list) List of transactions { "claim_info": (list) claim info if in txn [{ "address": (str) address of claim, "balance_delta": (float) bid amount, "amount": (float) claim amount, "claim_id": (str) claim id, "claim_name": (str) claim name, "nout": (int) nout }], "abandon_info": (list) abandon info if in txn [{ "address": (str) address of abandoned claim, "balance_delta": (float) returned amount, "amount": (float) claim amount, "claim_id": (str) claim id, "claim_name": (str) claim name, "nout": (int) nout }], "confirmations": (int) number of confirmations for the txn, "date": (str) date and time of txn, "fee": (float) txn fee, "support_info": (list) support info if in txn [{ "address": (str) address of support, "balance_delta": (float) support amount, "amount": (float) support amount, "claim_id": (str) claim id, "claim_name": (str) claim name, "is_tip": (bool), "nout": (int) nout }], "timestamp": (int) timestamp, "txid": (str) txn id, "update_info": (list) update info if in txn [{ "address": (str) address of claim, "balance_delta": (float) credited/debited "amount": (float) absolute amount, "claim_id": (str) claim id, "claim_name": (str) claim name, "nout": (int) nout }], "value": (float) value of txn } </code></pre> <h2 id="transaction_show">transaction_show</h2> <pre><code class="text">Get a decoded transaction from a txid Args: 'txid' (required) : (str) txid of the transaction Returns: (dict) JSON formatted transaction </code></pre> <h2 id="utxo_list">utxo_list</h2> <pre><code class="text">List unspent transaction outputs Args: None Returns: (list) List of unspent transaction outputs (UTXOs) [ { "address": (str) the output address "amount": (float) unspent amount "height": (int) block height "is_claim": (bool) is the tx a claim "is_coinbase": (bool) is the tx a coinbase tx "is_support": (bool) is the tx a support "is_update": (bool) is the tx an update "nout": (int) nout of the output "txid": (str) txid of the output }, ... ] </code></pre> <h2 id="version">version</h2> <pre><code class="text">Get lbry version information Args: None Returns: (dict) Dictionary of lbry version information { 'build': (str) build type (e.g. "dev", "rc", "release"), 'ip': (str) remote ip, if available, 'lbrynet_version': (str) lbrynet_version, 'lbryum_version': (str) lbryum_version, 'lbryschema_version': (str) lbryschema_version, 'os_release': (str) os release string 'os_system': (str) os name 'platform': (str) platform string 'processor': (str) processor type, 'python_version': (str) python version, } </code></pre> <h2 id="wallet_balance">wallet_balance</h2> <pre><code class="text">Return the balance of the wallet Args: 'address' : (str) If provided only the balance for this address will be given 'include_unconfirmed' : (bool) Include unconfirmed Returns: (float) amount of lbry credits in wallet </code></pre> <h2 id="wallet_decrypt">wallet_decrypt</h2> <pre><code class="text">Decrypt an encrypted wallet, this will remove the wallet password Args: None Returns: (bool) true if wallet is decrypted, otherwise false </code></pre> <h2 id="wallet_encrypt">wallet_encrypt</h2> <pre><code class="text">Encrypt a wallet with a password, if the wallet is already encrypted this will update the password Args: 'new_password' (required) : (str) password string to be used for encrypting wallet Returns: (bool) true if wallet is decrypted, otherwise false </code></pre> <h2 id="wallet_is_address_mine">wallet_is_address_mine</h2> <pre><code class="text">Checks if an address is associated with the current wallet. Args: 'address' (required) : (str) address to check Returns: (bool) true, if address is associated with current wallet </code></pre> <h2 id="wallet_list">wallet_list</h2> <pre><code class="text">List wallet addresses Args: None Returns: List of wallet addresses </code></pre> <h2 id="wallet_new_address">wallet_new_address</h2> <pre><code class="text">Generate a new wallet address Args: None Returns: (str) New wallet address in base58 </code></pre> <h2 id="wallet_prefill_addresses">wallet_prefill_addresses</h2> <pre><code class="text">Create new addresses, each containing `amount` credits Args: 'no_broadcast' : (bool) whether to broadcast or not 'num_addresses' (required) : (int) num of addresses to create 'amount' (required) : (float) initial amount in each address Returns: (dict) the resulting transaction </code></pre> <h2 id="wallet_public_key">wallet_public_key</h2> <pre><code class="text">Get public key from wallet address Args: 'address' (required) : (str) address for which to get the public key Returns: (list) list of public keys associated with address. Could contain more than one public key if multisig. </code></pre> <h2 id="wallet_send">wallet_send</h2> <pre><code class="text">Send credits. If given an address, send credits to it. If given a claim id, send a tip to the owner of a claim specified by uri. A tip is a claim support where the recipient of the support is the claim address for the claim being supported. Args: 'amount' (required) : (Decimal) amount of credit to send 'address' (required) : (str) address to send credits to 'claim_id' (required) : (str) claim_id of the claim to send to tip to Returns: If sending to an address: (bool) true if payment successfully scheduled If sending a claim tip: (dict) Dictionary containing the result of the support { txid : (str) txid of resulting support claim nout : (int) nout of the resulting support claim fee : (float) fee paid for the transaction } </code></pre> <h2 id="wallet_unlock">wallet_unlock</h2> <pre><code class="text">Unlock an encrypted wallet Args: 'password' (required) : (str) password for unlocking wallet Returns: (bool) true if wallet is unlocked, otherwise false </code></pre> <h2 id="wallet_unused_address">wallet_unused_address</h2> <pre><code class="text">Return an address containing no balance, will create a new address if there is none. Args: None Returns: (str) Unused wallet address in base58 </code></pre> </article> </div> </div> </main> <footer class="md-footer"> <div class="md-footer-nav"> <nav class="md-footer-nav__inner md-grid"> <a href="cli/" title="CLI" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next"> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class="md-flex__ellipsis"> <span class="md-footer-nav__direction"> Next </span> CLI </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-footer-copyright"> powered by <a href="http://www.mkdocs.org">MkDocs</a> and <a href="https://squidfunk.github.io/mkdocs-material/"> Material for MkDocs</a> </div> </div> </div> </footer> </div> <script src="./assets/javascripts/application.8eb9be28.js"></script> <script>app.initialize({version:"0.17.3",url:{base:"."}})</script> <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-60403362-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName("a");if(Array.prototype.map.call(links,function(e){e.host!=document.location.host&&e.addEventListener("click",function(){var a=e.getAttribute("data-md-action")||"follow";ga("send","event","outbound",a,e.href)})}),document.forms.search){var query=document.forms.search.query;query.addEventListener("blur",function(){if(this.value){var e=document.location.pathname;ga("send","pageview",e+"?q="+this.value)}})}</script> </body> </html>