-
v0.30.0 Stable
released this
2018-10-23 04:27:57 +02:00 | 4838 commits to master since this release[0.30.0] - 2018-10-22
This release is the most ambitious upgrade to lbrynet yet; including a brand
new wallet implementation, switch to Python 3 of the entire code base and
many changes to the API such as pagination and a more consistent output from
most commands.Security
- upgraded
cryptography
package. - switch to
coincurve
for private / public key generation (addresses) - support for connecting to daemon via SSL
- improved workflow for encrypt/decrypt of wallet
API
- unified all command line executables into a single
lbrynet
executable. - added
use_https
configuration setting (off by default), if true the api
server will generate a self signed ssl certificate when started and only
handle api requests on the https address (default ofhttps://localhost:5279/lbryapi
) - deprecated
daemon_stop
command, usestop
instead. - deprecated
wallet_balance
command, useaccount_balance
instead. - deprecated
wallet_unlock
command, useaccount_unlock
instead. - deprecated
wallet_decrypt
command, useaccount_decrypt
instead. - deprecated
wallet_encrypt
command, useaccount_encrypt
instead. - deprecated
wallet_prefill_addresses
command, useaccount_fund
instead. - deprecated
wallet_list
command, useaddress_list
instead. - deprecated
wallet_is_address_mine
command, useaddress_is_mine
instead. - deprecated
wallet_public_key
command. - deprecated
wallet_new_address
command. - deprecated
wallet_unused_address
command, useaddress_unused
instead. - deprecated
claim_renew
command. - added
account_list
command to list accounts including their balance. - added
account_add
command to add a previously created account from seed or private key. - added
account_create
command to generate a new account. - added
account_remove
command to remove an account from wallet. - added
account_set
command to change a setting on an account. - added
account_balance
command to get just the account balance. - added
account_unlock
command to unlock an encrypted account. - added
account_lock
command to lock an encrypted account. - added
account_encrypt
command to encrypt an account. - added
account_decrypt
command to decrypt an account. - added
account_fund
command to move funds between or within an account in various ways. - added
account_max_address_gap
command to find large gaps of unused addresses. - added
address_list
command to list addresses. - added
address_is_mine
command to check if an address is one of your addresses. - added
address_unused
command to get existing or generate a new unused address. - added pagination support for
address_list
,channel_list
,claim_list_mine
,
transaction_list
andutxo_list
. - added
upnp
field tostatus
response - removed
send_amount_to_address
command previously marked as deprecated - removed
channel_list_mine
command previously marked as deprecated - removed
get_availability
command previously marked as deprecated - updated
txupnp
dependency toaioupnp
(UPnP for asyncio)
Wallet
- changed to a new wallet implementation: torba.
- changed wallet file format to support multiple accounts in one wallet.
- moved transaction data from wallet file into an sqlite database.
- changed channel certificates to be keyed by txid:nout instead of claim_id which
makes it possible to recover old certificates.
File Manager
- Extensive internal changes as a result of porting to Python 3.
DHT
- Extensive internal changes as a result of porting to Python 3.
P2P
- Extensive internal changes as a result of porting to Python 3.
Reflector
- No major changes to reflector.
Database
- No changes to existing storage module.
Known Issues
- Channel certificate import/export is currently not working.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-linux.zip
254 downloads · 23 MiB
-
lbrynet-mac.zip
203 downloads · 11 MiB
-
lbrynet-windows.zip
176 downloads · 15 MiB
- upgraded
-
v0.30.0rc10 Pre-release
released this
2018-10-19 18:28:08 +02:00 | 4845 commits to master since this release[0.30.0] - 2018-10-17
This release is the most ambitious upgrade to lbrynet yet; including a brand
new wallet implementation, switch to Python 3 of the entire code base and
many changes to the API such as pagination and a more consistent output from
most commands.Security
- upgraded
cryptography
package. - switch to
coincurve
for private / public key generation (addresses) - support for connecting to daemon via SSL
- improved workflow for encrypt/decrypt of wallet
API
- unified all command line executables into a single
lbrynet
executable. - added
use_https
configuration setting (off by default), if true the api
server will generate a self signed ssl certificate when started and only
handle api requests on the https address (default ofhttps://localhost:5279/lbryapi
) - deprecated
daemon_stop
command, usestop
instead. - deprecated
wallet_balance
command, useaccount_balance
instead. - deprecated
wallet_unlock
command, useaccount_unlock
instead. - deprecated
wallet_decrypt
command, useaccount_decrypt
instead. - deprecated
wallet_encrypt
command, useaccount_encrypt
instead. - deprecated
wallet_prefill_addresses
command, useaccount_fund
instead. - deprecated
wallet_list
command, useaddress_list
instead. - deprecated
wallet_is_address_mine
command, useaddress_is_mine
instead. - deprecated
wallet_public_key
command. - deprecated
wallet_new_address
command. - deprecated
wallet_unused_address
command, useaddress_unused
instead. - deprecated
claim_renew
command. - added
account_list
command to list accounts including their balance. - added
account_add
command to add a previously created account from seed or private key. - added
account_create
command to generate a new account. - added
account_remove
command to remove an account from wallet. - added
account_set
command to change a setting on an account. - added
account_balance
command to get just the account balance. - added
account_unlock
command to unlock an encrypted account. - added
account_lock
command to lock an encrypted account. - added
account_encrypt
command to encrypt an account. - added
account_decrypt
command to decrypt an account. - added
account_fund
command to move funds between or within an account in various ways. - added
account_max_address_gap
command to find large gaps of unused addresses. - added
address_list
command to list addresses. - added
address_is_mine
command to check if an address is one of your addresses. - added
address_unused
command to get existing or generate a new unused address. - added pagination support for
address_list
,channel_list
,claim_list_mine
,
transaction_list
andutxo_list
. - added
upnp
field tostatus
response - removed
send_amount_to_address
command previously marked as deprecated - removed
channel_list_mine
command previously marked as deprecated - removed
get_availability
command previously marked as deprecated
Wallet
- changed to a new wallet implementation: torba.
- changed wallet file format to support multiple accounts in one wallet.
- moved transaction data from wallet file into an sqlite database.
- changed channel certificates to be keyed by txid:nout instead of claim_id which
makes it possible to recover old certificates.
File Manager
- Extensive internal changes as a result of porting to Python 3.
DHT
- Extensive internal changes as a result of porting to Python 3.
P2P
- Extensive internal changes as a result of porting to Python 3.
Reflector
- No major changes to reflector.
Database
- No changes to existing storage module.
Known Issues
- Channel certificate import/export is currently not working.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-linux.zip
31 downloads · 23 MiB
-
lbrynet-mac.zip
29 downloads · 11 MiB
-
lbrynet-windows.zip
31 downloads · 15 MiB
- upgraded
-
v0.21.2 Stable
released this
2018-08-24 05:43:35 +02:00 | 5307 commits to master since this release[0.21.2] - 2018-08-23
Fixed
- issue in dht ping queue where enqueued pings that aren't yet due wouldn't be rescheduled
- blob mirror downloader not finishing streams that were partially uploaded at the time of the download attempt (https://github.com/lbryio/lbry/issues/1376)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
lbrynet-daemon-v0.21.2-linux.zip
824 downloads · 47 MiB
-
lbrynet-daemon-v0.21.2-macos.zip
647 downloads · 27 MiB
-
lbrynet-daemon-v0.21.2-windows.zip
697 downloads · 52 MiB
-
v0.21.1 Stable
released this
2018-08-13 22:20:16 +02:00 | 5323 commits to master since this release[0.21.1] - 2018-08-13
Fixed
download_progress
field inblockchain_headers
section ofstatus
not initializing correctly when resuming a download (https://github.com/lbryio/lbry/issues/1355)wallet_send
not accepting decimal amounts (https://github.com/lbryio/lbry/issues/1356 commit1098ca0494
)
Added
is_locked
towallet
instatus
response (https://github.com/lbryio/lbry/issues/1354, commit153022a1a7
)
Changed
- Bumped
lbryum
requirement to 3.2.4 see changelog
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-daemon-v0.21.1-linux.zip
231 downloads · 47 MiB
-
lbrynet-daemon-v0.21.1-macos.zip
191 downloads · 27 MiB
-
lbrynet-daemon-v0.21.1-windows.zip
202 downloads · 52 MiB
-
v0.21.0 Stable
released this
2018-08-09 19:44:28 +02:00 | 5333 commits to master since this release[0.21.0] - 2018-08-09
Fixed
- check
claim_address
andchange_address
earlier on publishing, to avoid hard to understand errors later in the process (pr https://github.com/lbryio/lbry/pull/1347) - loggly error reporting not following
share_usage_data
(pr https://github.com/lbryio/lbry/pull/1328) - improper error handling when data is not valid JSON (pr https://github.com/lbryio/lbry/pull/1326)
- blob mirroring being set in unrelated tests, making them fail (pr https://github.com/lbryio/lbry/pull/1348)
- http blob mirroring edge cases (pr https://github.com/lbryio/lbry/pull/1315)
- external ports in log messages not showing the correct external port from the upnp redirects (https://github.com/lbryio/lbry/issues/1338) (pr https://github.com/lbryio/lbry/pull/1349)
- miniupnpc fallback issues in txupnp (https://github.com/lbryio/lbry/issues/1341) (pr https://github.com/lbryio/lbry/pull/1349)
- upnp error when disabled on router and a non-gateway is found, such as chromecast (https://github.com/lbryio/lbry/issues/1352) (
dca4af942f
)
Deprecated
- automatic claim renew, this is no longer needed
Changed
- api server class to use components, and for all JSONRPC API commands to be callable so long as the required components are available. (pr https://github.com/lbryio/lbry/pull/1294)
- return error messages when required conditions on components are not met for API calls (pr https://github.com/lbryio/lbry/pull/1328)
status
to no longer return a base58 encodedlbry_id
, instead return this as the hex encodednode_id
in a newdht
field. (pr https://github.com/lbryio/lbry/pull/1328)startup_status
field in the response tostatus
to be a dict of component names to status booleans (pr https://github.com/lbryio/lbry/pull/1328)- renamed the
blockchain_status
field in the response tostatus
towallet
(pr https://github.com/lbryio/lbry/pull/1328) - moved and renamed
wallet_is_encrypted
tois_encrypted
in thewallet
field in the response tostatus
(pr https://github.com/lbryio/lbry/pull/1328) - moved wallet, upnp and dht startup code from
Session
toComponents
(pr https://github.com/lbryio/lbry/pull/1328) - attempt blob downloads from http mirror sources (by default) concurrently to p2p sources (pr https://github.com/lbryio/lbry/pull/1233)
- replace miniupnpc with txupnp. Since txupnp is still under development, it will internally fall back to miniupnpc. (pr https://github.com/lbryio/lbry/pull/1328)
- simplified test_misc.py in the functional tests (pr https://github.com/lbryio/lbry/pull/1328)
- update
cryptography
requirement to 2.3 (pr https://github.com/lbryio/lbry/pull/1333)
Added
skipped_components
list to the response fromstatus
(pr https://github.com/lbryio/lbry/pull/1328)- component statuses (
blockchain_headers
,dht
,wallet
,blob_manager
hash_announcer
, andfile_manager
) to the response tostatus
(pr https://github.com/lbryio/lbry/pull/1328) skipped_components
config setting, accepts a list of names of components to not run (pr https://github.com/lbryio/lbry/pull/1294)ComponentManager
for managing the life-cycles of dependencies (pr https://github.com/lbryio/lbry/pull/1294)requires
decorator to register the components required by ajsonrpc_
command, to facilitate commands registering asynchronously (pr https://github.com/lbryio/lbry/pull/1294)- unit tests for
ComponentManager
(pr https://github.com/lbryio/lbry/pull/1294) - script to generate docs/api.json file (https://github.com/lbryio/lbry.tech/issues/42)
- additional information to the balance error message when editing a claim (pr https://github.com/lbryio/lbry/pull/1309)
address
andport
arguments topeer_ping
(https://github.com/lbryio/lbry/issues/1313) (pr https://github.com/lbryio/lbry/pull/1299)- ability to download from HTTP mirrors by setting
download_mirrors
(prs https://github.com/lbryio/lbry/pull/1233 and https://github.com/lbryio/lbry/pull/1315) - ability to filter peers from an iterative find value operation (finding peers for a blob). This is used to filter peers we've already found for a blob when accumulating the list of peers. (pr https://github.com/lbryio/lbry/pull/1287)
Removed
session_status
argument and response field fromstatus
(pr https://github.com/lbryio/lbry/pull/1328)- most of the internal attributes from
Daemon
(pr https://github.com/lbryio/lbry/pull/1294)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-daemon-v0.21.0-linux.zip
41 downloads · 47 MiB
-
lbrynet-daemon-v0.21.0-macos.zip
27 downloads · 27 MiB
-
lbrynet-daemon-v0.21.0-windows.zip
39 downloads · 52 MiB
- check
-
v0.20.4 Stable
released this
2018-07-18 21:36:21 +02:00 | 5446 commits to master since this release[0.20.4] - 2018-07-18
Fixed
- spelling errors in messages printed by
lbrynet-cli
- high CPU usage when a stream is incomplete and the peers we're requesting from have no more blobs to send us (https://github.com/lbryio/lbry/pull/1301)
Changed
- keep track of failures for DHT peers for up to ten minutes instead of indefinitely (https://github.com/lbryio/lbry/pull/1300)
- skip ignored peers from iterative lookups instead of blocking the peer who returned them to us too (https://github.com/lbryio/lbry/pull/1300)
- if a node becomes ignored during an iterative find cycle remove it from the shortlist so that we can't return it as a result nor try to probe it anyway (https://github.com/lbryio/lbry/pull/1303)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-daemon-v0.20.4-linux.zip
635 downloads · 47 MiB
-
lbrynet-daemon-v0.20.4-macos.zip
432 downloads · 27 MiB
-
lbrynet-daemon-v0.20.4-windows.zip
439 downloads · 52 MiB
- spelling errors in messages printed by
-
v0.20.3 Stable
released this
2018-07-03 20:32:38 +02:00 | 5475 commits to master since this release[0.20.3] - 2018-07-03
Fixed
blob_list
raising an error when blobs in a stream haven't yet been created (8a0d0b44dd
)- stopping a download potentially raising an attribute error (https://github.com/lbryio/lbry/pull/1269)
- file manager startup locking up when there are many files for some channels (https://github.com/lbryio/lbry/pull/1281)
- improper sorting when getting the closest peers to a hash (https://github.com/lbryio/lbry/pull/1282)
Changed
- raised the default
peer_search_timeout
setting from 3 to 30 and added logging for when it happens (https://github.com/lbryio/lbry/pull/1283) - change iterative find stop condition on find value to allow it to continue until a value is found or it times out (https://github.com/lbryio/lbry/pull/1283)
- include all of our own blobs in the local dht datastore (as if we had announced them to ourselves) (https://github.com/lbryio/lbry/pull/1280)
- ignore dht
store
token validation errors for the first expiration-time after startup (fixes failedstore
requests after a restart) (https://github.com/lbryio/lbry/pull/1280)
Removed
jsonrpclib
as a requirement for the project (https://github.com/lbryio/lbry/pull/1274)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-daemon-v0.20.3-linux.zip
915 downloads · 47 MiB
-
lbrynet-daemon-v0.20.3-macos.zip
491 downloads · 27 MiB
-
lbrynet-daemon-v0.20.3-windows.zip
553 downloads · 52 MiB
-
v0.20.2 Stable
released this
2018-06-23 17:53:24 +02:00 | 5500 commits to master since this release[0.20.2] - 2018-06-23
Changed
- Bumped
lbryschema
requirement to 0.0.16 see changelog - Bumped
lbryum
requirement to 3.2.3 see changelog - save claims to sqlite in batches to speed up
resolve
queries for many uris
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-daemon-v0.20.2-linux.zip
543 downloads · 47 MiB
-
lbrynet-daemon-v0.20.2-macos.zip
272 downloads · 27 MiB
-
lbrynet-daemon-v0.20.2-windows.zip
286 downloads · 52 MiB
- Bumped
-
v0.20.1 Stable
released this
2018-06-19 20:05:16 +02:00 | 5509 commits to master since this release[0.20.1] - 2018-06-19
Fixed
- fixed token validation error when the dht node has just been started (https://github.com/lbryio/lbry/issues/1248)
- fixed a race condition when inserting a blob into the database (https://github.com/lbryio/lbry/issues/1129)
- reflector server incorrectly responding as if it has all the blobs for a stream that was only partially uploaded to it
publish
raising a database error when updating a claim that we don't have a file for (https://github.com/lbryio/lbry/issues/1165)- blob client protocol not tearing itself down properly after a failure (https://github.com/lbryio/lbry/issues/950)
- lockup in wallet startup when one or more lbryumx servers are unavailable (https://github.com/lbryio/lbry/issues/1245)
- download being stopped if the sd blob downloaded and data did not start within the timeout (https://github.com/lbryio/lbry/issues/1172)
Changed
- Bumped
lbryum
requirement to 3.2.2 see changelog publish
to accept bid as a decimal string
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-daemon-v0.20.1-linux.zip
532 downloads · 47 MiB
-
lbrynet-daemon-v0.20.1-macos.zip
269 downloads · 27 MiB
-
lbrynet-daemon-v0.20.1-windows.zip
266 downloads · 52 MiB
-
v0.20.0 Stable
released this
2018-06-13 21:36:49 +02:00 | 5537 commits to master since this release[0.20.0] - 2018-06-13
TL;DR
This milestone release includes a large number of bug fixes, changes and additions covering all aspects of the daemon. Notable improvements include:
- Faster and more reliable downloading and uploading of content resulting from substantial work done on the Distributed Hash Table algorithms and protocol.
- Faster blockchain synchronization (headers) by downloading them from Amazon S3 under certain conditions.
- Faster overall app startup due to better optimized SQL queries.
- Power users of the
lbrynet-cli
will benefit from many bug fixes to commonly used commands and improvements in sorting of output. - Please review the full change log for more details on specific fixes, changes and additions.
Fixed
- fix payment rate manager typo (1236)
- handling error from dht clients with old
ping
method - blobs not being re-announced if no peers successfully stored, now failed announcements are re-queued
- issue where an
AuthAPIClient
(used bylbrynet-cli
) would fail to update its session secret and keep making new auth sessions, with every other request failing use_auth_http
in a config file being overridden by the default command line argument tolbrynet-daemon
, now the command line value will only override the config file value if it is providedlbrynet-cli
not automatically switching to the authenticated client if the server is detected to be using authentication. This resulted inlbrynet-cli
failing to run whenlbrynet-daemon
was run with the--http-auth
flag- fixed error when using
claim_show
withtxid
andnout
arguments - fixed error when saving server list to conf file (1209)
Changed
- if the
use_authentication
setting is configured, use authentication for all api methods instead of only those with theauth_required
decorator - regenerate api keys on startup if the using authentication
- support both positional and keyword args for api calls
blob_announce
to queue the blob announcement but not block on itpeer_list
to return a list of dictionaries instead of a list of lists, added peer node ids to the results- predictable result sorting for
claim_list
andclaim_list_mine
(1216 and 1208) - increase the default
auto_re_reflect_interval
setting to a day and the defaultconcurrent_announcers
setting to 10 - download blockchain headers from s3 before starting the wallet when the local height is more than
s3_headers_depth
(a config setting) blocks behind (1177) - check headers file integrity on startup, removing/truncating the file to force re-download when necessary
- support partial headers file download from S3 (1189)
- refactor
add_completed_blobs
on storage.py, simplifying into less queries (1226) - full verification of streams only during database migration instead of every startup (1195)
- database batching functions for starting up the file manager
- added
single_announce
andlast_announced_time
columns to theblob
table in sqlite - track successful reflector uploads in sqlite to minimize how many streams are attempted by auto re-reflect (1194)
- pass the sd hash to reflector ClientFactory instead of looking it up from the database
- dht logging to be more verbose with errors and warnings
store
kademlia rpc method to block on the call finishing and to return storing peer information- kademlia protocol to minimally delay writes to the UDP socket
- several internal dht functions to use inlineCallbacks
DHTHashAnnouncer
andNode
manage functions to useLoopingCall
s instead of scheduling withcallLater
.- refactored
DHTHashAnnouncer
to no longer use locks, use aDeferredSemaphore
to limit concurrent announcers - decoupled
DiskBlobManager
fromDHTHashAnnouncer
, get blob hashes to announce fromSQLiteStorage
. The blob manager no longer announces blobs after they are completed, the hash announcer takes care of this now. - changed the bucket splitting condition in the dht routing table to be more aggressive
- ping dht nodes who have stored to us periodically to determine whether we should include them as an active peer for the hash when we are queried. Nodes that are known to be not reachable by the node storing the record are no longer returned as peers by the storing node.
- changed dht bootstrap join process to better populate the routing table initially
- cache dht node tokens used during announcement to minimize the number of requests that are needed
- implement BEP0005 dht rules to classify nodes as good, bad, or unknown and for when to add them to the routing table (http://www.bittorrent.org/beps/bep_0005.html)
- refactored internal dht contact class to track failure counts/times, the time the contact last replied to us, and the time the node last requested something fom us (1211)
- refactored dht iterativeFind
- sort dht contacts returned by
findCloseNodes
in the routing table reactor
andcallLater
,listenUDP
, andresolve
functions to be configurable (to allow easier testing)- calls to get the current time to use
reactor.seconds
(to control callLater and LoopingCall timing in tests) - temporarily disabled data price negotiation, treat all data as free
- disabled Cryptonator price feed
- use
treq
instead oftxrequests
(1191) - updated
cryptography
version to 2.2.2 - removed
pycrypto
dependency, replacing all calls tocryptography
Added
peer_ping
command--sort
option infile_list
(1174)port
field to contacts returned byrouting_table_get
- configurable
concurrent_announcers
ands3_headers_depth
settings - virtual kademlia network and mock udp transport for dht integration tests
- functional tests for bootstrapping the dht, announcing and expiring hashes, finding and pinging nodes, protocol version 0/1 backwards/forwards compatibility, and rejoining the network
- linux distro and desktop name added to analytics (1218)
- certifi module for Twisted SSL verification on Windows (1213)
- protocol version to dht requests and to the response from
findValue
Removed
announce_all
argument fromblob_announce
- old
blob_announce_all
command - unused
--wallet
argument tolbrynet-daemon
, which used to be to supportPTCWallet
. AuthJSONRPCServer.auth_required
decorator (1161)OptimizedTreeRoutingTable
class used by the dht node for the time being
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
lbrynet-daemon-v0.20.0-linux.zip
686 downloads · 47 MiB
-
lbrynet-daemon-v0.20.0-macos.zip
349 downloads · 27 MiB
-
lbrynet-daemon-v0.20.0-windows.zip
376 downloads · 52 MiB