lbry-sdk/docs/index.html

2314 lines
70 KiB
HTML
Raw Normal View History

2018-02-28 09:59:35 +01:00
<!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">
2018-03-20 15:44:17 +01:00
<meta name="generator" content="mkdocs-0.17.3, mkdocs-material-2.7.0">
2018-02-28 09:59:35 +01:00
<title>LBRY</title>
<link rel="stylesheet" href="./assets/stylesheets/application.78aab2dc.css">
2018-03-06 00:57:05 +01:00
<link rel="stylesheet" href="./assets/stylesheets/application-palette.6079476c.css">
2018-02-28 09:59:35 +01:00
<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>
2018-03-06 00:57:05 +01:00
<body dir="ltr" data-md-color-primary="teal" data-md-color-accent="green">
2018-02-28 09:59:35 +01:00
<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">
2018-03-07 11:54:50 +01:00
<img src="https://s3.amazonaws.com/files.lbry.io/logo-square-white-bookonly.png" width="24" height="24">
2018-02-28 09:59:35 +01:00
</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">
&#xE5CD;
</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">
2018-03-07 11:54:50 +01:00
<img src="https://s3.amazonaws.com/files.lbry.io/logo-square-white-bookonly.png" width="48" height="48">
2018-02-28 09:59:35 +01:00
</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>
2018-03-28 21:40:01 +02:00
</li>
<li class="md-nav__item">
<a href="#blob_reflect" title="blob_reflect" class="md-nav__link">
blob_reflect
</a>
2018-02-28 09:59:35 +01:00
</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>
2018-04-17 19:47:09 +02:00
</li>
<li class="md-nav__item">
<a href="#peer_ping" title="peer_ping" class="md-nav__link">
peer_ping
</a>
2018-02-28 09:59:35 +01:00
</li>
<li class="md-nav__item">
<a href="#publish" title="publish" class="md-nav__link">
publish
</a>
2018-06-19 20:09:21 +02:00
</li>
<li class="md-nav__item">
<a href="#report_bug" title="report_bug" class="md-nav__link">
report_bug
</a>
2018-02-28 09:59:35 +01:00
</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>
2018-03-28 21:40:01 +02:00
</li>
<li class="md-nav__item">
<a href="#blob_reflect" title="blob_reflect" class="md-nav__link">
blob_reflect
</a>
2018-02-28 09:59:35 +01:00
</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>
2018-04-17 19:47:09 +02:00
</li>
<li class="md-nav__item">
<a href="#peer_ping" title="peer_ping" class="md-nav__link">
peer_ping
</a>
2018-02-28 09:59:35 +01:00
</li>
<li class="md-nav__item">
<a href="#publish" title="publish" class="md-nav__link">
publish
</a>
2018-06-19 20:09:21 +02:00
</li>
<li class="md-nav__item">
<a href="#report_bug" title="report_bug" class="md-nav__link">
report_bug
</a>
2018-02-28 09:59:35 +01:00
</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">&#xE3C9;</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:
2018-04-17 19:47:09 +02:00
'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
2018-02-28 09:59:35 +01:00
Returns:
(bool) true if successful
</code></pre>
<h2 id="blob_availability">blob_availability</h2>
<pre><code class="text">Get blob availability
Args:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
Returns:
(dict) {
&quot;is_available&quot;: &lt;bool, true if blob is available from a peer from peer list&gt;
&quot;reachable_peers&quot;: [&quot;&lt;ip&gt;:&lt;port&gt;&quot;],
&quot;unreachable_peers&quot;: [&quot;&lt;ip&gt;:&lt;port&gt;&quot;]
}
</code></pre>
<h2 id="blob_delete">blob_delete</h2>
<pre><code class="text">Delete a blob
Args:
2018-03-06 00:57:05 +01:00
'blob_hash' : (str) blob hash of the blob to delete
2018-02-28 09:59:35 +01:00
Returns:
(str) Success/fail message
</code></pre>
<h2 id="blob_get">blob_get</h2>
<pre><code class="text">Download and return a blob
Args:
2018-03-06 00:57:05 +01:00
'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'
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
Returns:
(list) List of blob hashes
</code></pre>
2018-03-28 21:40:01 +02:00
<h2 id="blob_reflect">blob_reflect</h2>
<pre><code class="text">Reflects specified blobs
Args:
2018-04-17 19:47:09 +02:00
'reflector_server' : (str) reflector address
2018-03-28 21:40:01 +02:00
Returns:
(list) reflected blob hashes
</code></pre>
2018-02-28 09:59:35 +01:00
<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:
2018-03-06 00:57:05 +01:00
'blockhash' (required) : (str) hash of the block to look up
'height' (required) : (int) height of the block to look up
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'claim_id' (required) : (str) Claim ID to export information about
2018-02-28 09:59:35 +01:00
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:
2018-03-28 21:40:01 +02:00
'serialized_certificate_info' (required) : (str) certificate info
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'channel_name' (required) : (str) name of the channel prefixed with '@'
'amount' (required) : (float) bid amount on the channel
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'name' (required) : (str) name of the claim to list info about
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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),
2018-02-28 09:59:35 +01:00
'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) &quot;claim&quot;, &quot;update&quot; , or &quot;support&quot;
'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
2018-02-28 09:59:35 +01:00
'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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'outpoint' (required) : (str) outpoint of the claim to renew
'height' (required) : (str) update claims expiring before or at this block height
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-08-03 19:32:57 +02:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-06-19 20:09:21 +02:00
'sort' : (str) sort by any property, like 'file_name'
or 'metadata.author'; to specify direction
append ',asc' or ',desc'
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'status' (required) : (str) one of &quot;start&quot; or &quot;stop&quot;
'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
2018-02-28 09:59:35 +01:00
Returns:
(str) Confirmation message
</code></pre>
<h2 id="get">get</h2>
<pre><code class="text">Download stream from a LBRY name.
Args:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'command' : (str) command to retrieve documentation for
2018-02-28 09:59:35 +01:00
Returns:
(str) Help message
</code></pre>
<h2 id="peer_list">peer_list</h2>
<pre><code class="text">Get peers for blob hash
Args:
2018-03-06 00:57:05 +01:00
'blob_hash' (required) : (str) find available peers for this blob hash
'timeout' : (int) peer search timeout in seconds
2018-02-28 09:59:35 +01:00
Returns:
2018-04-17 19:47:09 +02:00
(list) List of contact dictionaries {'host': &lt;peer ip&gt;, 'port': &lt;peer port&gt;, 'node_id': &lt;peer node id&gt;}
</code></pre>
<h2 id="peer_ping">peer_ping</h2>
2018-08-03 19:32:57 +02:00
<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.
2018-04-17 19:47:09 +02:00
Args:
2018-08-03 19:32:57 +02:00
'address' : (str) ip address of the peer
'port' : (int) udp port of the peer
2018-04-17 19:47:09 +02:00
Returns:
(str) pong, or {'error': &lt;error message&gt;} if an error is encountered
2018-02-28 09:59:35 +01:00
</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:
2018-06-19 20:09:21 +02:00
'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
2018-06-19 20:09:21 +02:00
'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
2018-10-18 13:40:37 +02:00
new address will automatically be created
2018-02-28 09:59:35 +01:00
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
2018-06-19 20:09:21 +02:00
'fee' : (decimal) fee paid for the claim transaction
2018-02-28 09:59:35 +01:00
'claim_id' : (str) claim ID of the resulting claim
}
</code></pre>
2018-06-19 20:09:21 +02:00
<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>
2018-02-28 09:59:35 +01:00
<h2 id="resolve">resolve</h2>
<pre><code class="text">Resolve given LBRY URIs
Args:
2018-03-06 00:57:05 +01:00
'force' : (bool) force refresh and ignore cache
'uri' (required) : (str) uri to resolve
'uris' : (list) uris to resolve
2018-02-28 09:59:35 +01:00
Returns:
Dictionary of results, keyed by uri
'&lt;uri&gt;': {
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:
2018-03-06 00:57:05 +01:00
'name' (required) : (str) the name to resolve
'force' : (bool) force refresh and do not check cache
2018-02-28 09:59:35 +01:00
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
{
&quot;buckets&quot;: {
&lt;bucket index&gt;: [
{
&quot;address&quot;: (str) peer address,
2018-06-19 20:09:21 +02:00
&quot;port&quot;: (int) peer udp port
2018-02-28 09:59:35 +01:00
&quot;node_id&quot;: (str) peer node id,
&quot;blobs&quot;: (list) blob hashes announced by peer
}
]
},
&quot;contacts&quot;: (list) contact node ids,
&quot;blob_hashes&quot;: (list) all of the blob hashes stored by peers in the list of buckets,
&quot;node_id&quot;: (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:
2018-03-06 00:57:05 +01:00
'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': &lt;currency_symbol&gt;,
'amount': &lt;amount&gt;
}.
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)
2018-02-28 09:59:35 +01:00
Returns:
(dict) Updated dictionary of daemon settings
</code></pre>
<h2 id="status">status</h2>
<pre><code class="text">Get daemon status
Args:
2018-08-03 19:32:57 +02:00
None
2018-02-28 09:59:35 +01:00
Returns:
(dict) lbrynet-daemon status
{
2018-08-03 19:32:57 +02:00
'installation_id': (str) installation id - base58,
'is_running': (bool),
2018-02-28 09:59:35 +01:00
'is_first_run': bool,
2018-08-03 19:32:57 +02:00
'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),
2018-02-28 09:59:35 +01:00
},
'connection_status': {
2018-08-03 19:32:57 +02:00
'code': (str) connection status code,
'message': (str) connection status message
2018-02-28 09:59:35 +01:00
},
2018-08-03 19:32:57 +02:00
'blockchain_headers': {
'downloading_headers': (bool),
'download_progress': (float) 0-100.0
2018-02-28 09:59:35 +01:00
},
2018-08-03 19:32:57 +02:00
'wallet': {
'blocks': (int) local blockchain height,
'blocks_behind': (int) remote_height - local_height,
'best_blockhash': (str) block hash of most recent block,
2018-08-13 22:18:31 +02:00
'is_encrypted': (bool),
'is_locked': (bool),
2018-08-03 19:32:57 +02:00
},
'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,
}
2018-02-28 09:59:35 +01:00
}
</code></pre>
<h2 id="stream_availability">stream_availability</h2>
<pre><code class="text">Get stream availability for lbry uri
Args:
2018-03-06 00:57:05 +01:00
'uri' (required) : (str) check availability for this uri
'search_timeout' : (int) how long to search for peers for the blob
in the dht
2018-03-28 21:40:01 +02:00
'blob_timeout' : (int) how long to try downloading from a peer
2018-02-28 09:59:35 +01:00
Returns:
(dict) {
'is_available': &lt;bool&gt;,
'did_decode': &lt;bool&gt;,
'did_resolve': &lt;bool&gt;,
'is_stream': &lt;bool&gt;,
'num_blobs_in_stream': &lt;int&gt;,
'sd_hash': &lt;str&gt;,
'sd_blob_availability': &lt;dict&gt; see `blob_availability`,
'head_blob_hash': &lt;str&gt;,
'head_blob_availability': &lt;dict&gt; see `blob_availability`,
'use_upnp': &lt;bool&gt;,
'upnp_redirect_is_set': &lt;bool&gt;,
'error': &lt;None&gt; | &lt;str&gt; 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:
2018-03-06 00:57:05 +01:00
'uri' (required) : (str) uri to use
'size' : (float) stream size in bytes. if provided an sd blob won't be
downloaded.
2018-02-28 09:59:35 +01:00
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
{
&quot;claim_info&quot;: (list) claim info if in txn [{
&quot;address&quot;: (str) address of claim,
&quot;balance_delta&quot;: (float) bid amount,
&quot;amount&quot;: (float) claim amount,
&quot;claim_id&quot;: (str) claim id,
&quot;claim_name&quot;: (str) claim name,
&quot;nout&quot;: (int) nout
}],
&quot;abandon_info&quot;: (list) abandon info if in txn [{
&quot;address&quot;: (str) address of abandoned claim,
&quot;balance_delta&quot;: (float) returned amount,
&quot;amount&quot;: (float) claim amount,
&quot;claim_id&quot;: (str) claim id,
&quot;claim_name&quot;: (str) claim name,
&quot;nout&quot;: (int) nout
}],
&quot;confirmations&quot;: (int) number of confirmations for the txn,
&quot;date&quot;: (str) date and time of txn,
&quot;fee&quot;: (float) txn fee,
&quot;support_info&quot;: (list) support info if in txn [{
&quot;address&quot;: (str) address of support,
&quot;balance_delta&quot;: (float) support amount,
&quot;amount&quot;: (float) support amount,
&quot;claim_id&quot;: (str) claim id,
&quot;claim_name&quot;: (str) claim name,
&quot;is_tip&quot;: (bool),
&quot;nout&quot;: (int) nout
}],
&quot;timestamp&quot;: (int) timestamp,
&quot;txid&quot;: (str) txn id,
&quot;update_info&quot;: (list) update info if in txn [{
&quot;address&quot;: (str) address of claim,
&quot;balance_delta&quot;: (float) credited/debited
&quot;amount&quot;: (float) absolute amount,
&quot;claim_id&quot;: (str) claim id,
&quot;claim_name&quot;: (str) claim name,
&quot;nout&quot;: (int) nout
}],
&quot;value&quot;: (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:
2018-03-06 00:57:05 +01:00
'txid' (required) : (str) txid of the transaction
2018-02-28 09:59:35 +01:00
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)
[
{
&quot;address&quot;: (str) the output address
&quot;amount&quot;: (float) unspent amount
&quot;height&quot;: (int) block height
&quot;is_claim&quot;: (bool) is the tx a claim
&quot;is_coinbase&quot;: (bool) is the tx a coinbase tx
&quot;is_support&quot;: (bool) is the tx a support
&quot;is_update&quot;: (bool) is the tx an update
&quot;nout&quot;: (int) nout of the output
&quot;txid&quot;: (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. &quot;dev&quot;, &quot;rc&quot;, &quot;release&quot;),
'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:
2018-03-06 00:57:05 +01:00
'address' : (str) If provided only the balance for this
address will be given
'include_unconfirmed' : (bool) Include unconfirmed
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'new_password' (required) : (str) password string to be used for encrypting wallet
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'address' (required) : (str) address to check
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'address' (required) : (str) address for which to get the public key
2018-02-28 09:59:35 +01:00
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:
2018-08-13 22:18:31 +02:00
'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
2018-02-28 09:59:35 +01:00
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:
2018-03-06 00:57:05 +01:00
'password' (required) : (str) password for unlocking wallet
2018-02-28 09:59:35 +01:00
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>
2018-03-07 11:30:16 +01:00
<script src="./assets/javascripts/application.8eb9be28.js"></script>
2018-02-28 09:59:35 +01:00
2018-03-20 15:44:17 +01:00
<script>app.initialize({version:"0.17.3",url:{base:"."}})</script>
2018-02-28 09:59:35 +01:00
<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>