Giter VIP home page Giter VIP logo

lbry-sdk's Introduction

LBRY LBRY SDK build coverage

LBRY is a decentralized peer-to-peer protocol for publishing and accessing digital content. It utilizes the LBRY blockchain as a global namespace and database of digital content. Blockchain entries contain searchable content metadata, identities, rights and access rules. LBRY also provides a data network that consists of peers (seeders) uploading and downloading data from other peers, possibly in exchange for payments, as well as a distributed hash table used by peers to discover other peers.

LBRY SDK for Python is currently the most fully featured implementation of the LBRY Network protocols and includes many useful components and tools for building decentralized applications. Primary features and components include:

  • Built on Python 3.7 and asyncio.
  • Kademlia DHT (Distributed Hash Table) implementation for finding peers to download from and announcing to peers what we have to host (lbry.dht).
  • Blob exchange protocol for transferring encrypted blobs of content and negotiating payments (lbry.blob_exchange).
  • Protobuf schema for encoding and decoding metadata stored on the blockchain (lbry.schema).
  • Wallet implementation for the LBRY blockchain (lbry.wallet).
  • Daemon with a JSON-RPC API to ease building end user applications in any language and for automating various tasks (lbry.extras.daemon).

Installation

Our releases page contains pre-built binaries of the latest release, pre-releases, and past releases for macOS, Debian-based Linux, and Windows. Automated travis builds are also available for testing.

Usage

Run lbrynet start to launch the API server.

By default, lbrynet will provide a JSON-RPC server at http://localhost:5279. It is easy to interact with via cURL or sane programming languages.

Our quickstart guide provides a simple walkthrough and examples for learning.

With the daemon running, lbrynet commands will show you a list of commands.

The full API is documented here.

Running from source

Installing from source is also relatively painless. Full instructions are in INSTALL.md

Contributing

Contributions to this project are welcome, encouraged, and compensated. For more details, please check this link.

License

This project is MIT licensed. For the full license, see LICENSE.

Security

We take security seriously. Please contact [email protected] regarding any security issues. Our PGP key is here if you need it.

Contact

The primary contact for this project is @eukreign.

Additional information and links

The documentation for the API can be found here.

Daemon defaults, ports, and other settings are documented here.

Settings can be configured using a daemon-settings.yml file. An example can be found here.

lbry-sdk's People

Contributors

akinwale avatar alexliebowitz avatar alyssaoc avatar belikor avatar brannonking avatar davea50 avatar eggplantbren avatar eukreign avatar hackrush01 avatar hugovk avatar jackrobison avatar jeffreypicard avatar jessopb avatar jimmykiselak avatar jleute avatar jobevers avatar kafene avatar kauffj avatar kaykurokawa avatar lyoshenka avatar matwaller avatar mirgee avatar moodyjon avatar ordex avatar osilkin98 avatar shyba avatar tau3 avatar tzarebczan avatar withshubh avatar zedeus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lbry-sdk's Issues

exceptions.ValueError: invalid literal for int() with base 10

This error was reported while lbrynet-console b4c528f was idle:

Unhandled Error
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 84, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/usr/lib64/python2.7/site-packages/twisted/internet/posixbase.py", line 611, in _doReadOrWrite
    why = selectable.doRead()
--- <exception caught here> ---
  File "/usr/lib64/python2.7/site-packages/twisted/internet/udp.py", line 248, in doRead
    self.protocol.datagramReceived(data, addr)
  File "/usr/lib64/python2.7/site-packages/lbrynet/dht/protocol.py", line 109, in datagramReceived
    msgPrimitive = self._encoder.decode(datagram)
  File "/usr/lib64/python2.7/site-packages/lbrynet/dht/encoding.py", line 102, in decode
    return self._decodeRecursive(data)[0]
  File "/usr/lib64/python2.7/site-packages/lbrynet/dht/encoding.py", line 112, in _decodeRecursive
    return (int(data[startIndex+1:endPos]), endPos+1)
exceptions.ValueError: invalid literal for int() with base 10: "\xdb\xf6d\xb8.\xce\x90 Nhb\xab?\xc2\xab\xae'=\xf6\r\x92\x9d?\xc1b\xdc"

exceptions.ValueError: could not convert string to float

This occurred while lbrynet-console was idle. (I think Python's logging infrastructure failed to spit out the exception cleanly due to some embedded rubbish, but you can probably still make sense of it if you squint.)

Unable to format event {'log_namespace': u'log_legacy', 'log_time': 1457076355.002242, 'log_system': 'KademliaProtocol (UDP)', 'log_level': <LogLevel=critical>, 'system': 'KademliaProtocol (UDP)', 'isError': 1, 'failure': <twisted.python.failure.Failure <type 'exceptions.ValueError'>>, 'time': 1457076355.002242, 'log_text': 'Unhandled Error\nTraceback (most recent call last):\n File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 84, in callWithContext\n return context.call({ILogContext: newCtx}, func, *args, **kw)\n File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext\n return self.currentContext().callWithContext(ctx, func, *args, **kw)\n File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext\n return func(*args,**kw)\n File "/usr/lib64/python2.7/site-packages/twisted/internet/posixbase.py", line 611, in _doReadOrWrite\n why = selectable.doRead()\n--- <exception caught here> ---\n File "/usr/lib64/python2.7/site-packages/twisted/internet/udp.py", line 248, in doRead\n self.protocol.datagramReceived(data, addr)\n File "/usr/lib64/python2.7/site-packages/lbrynet/dht/protocol.py", line 109, in datagramReceived\n msgPrimitive = self._encoder.decode(datagram)\n File "/usr/lib64/python2.7/site-packages/lbrynet/dht/encoding.py", line 102, in decode\n return self._decodeRecursive(data)[0]\n File "/usr/lib64/python2.7/site-packages/lbrynet/dht/encoding.py", line 131, in _decodeRecursive\n return (float(data[startIndex+1:endPos]), endPos+1)\nexceptions.ValueError: could not convert string to float: \xea\xed\xa5dm\x01x\xd4M\x9d\xd5\x86\x8c\xa0w#\x10\x89\x97\x9f\xe7^^\x1dwt\n', 'log_format': u'{log_text}', 'message': (), 'why': None}: 'ascii' codec can't decode byte 0xea in position 1306: ordinal not in range(128)

This was commit f5b556c.

Content not viewable on Mac with v0.4.2

Mac OS X 15.6.0

0.4.2 installs and runs ok but no content will stream or download. Tried lbry://what and a number of other videos and images. Have 100 credits available. Tried rebooting but problem persists.

estimated fees for content

Currently, the estimated fees don't look like they take into account media size when potential downloaders attempt to access files on LBRY. I recently uploaded something 1.5GB in size and charged 5LBC, but when a friend downloaded it, it ended up charging him ~12LBC because of the .005 LBC per MB fee. The content creator, when uploading, should see what these fees will be before hand, so they can possibly adjust their initial price, and the downloader should also see what the content fee is, in addition to the bandwidth fees.

LBRY Wallets not encrypted - !!!

After doing some investigation, I figured out that the LBRY GUI uses LBRYUM to generate its initial wallet (lbryio/lbryum), which is a kind of a clone of Electrum. In addition, LBRY maintains three Electrum-LBRY-servers (lbryum1.lbry.io, lbryum2.lbry.io, lbryum3.lbry.io) to provide quick responses to newcomers in the LBRY ecosphere - all is good there!

Where it is not good, is to create those Electrum type wallets without any type of encryption (back to 2010 again....).

If LBRY had no value and was on TESNET, no problems here... this is not the case in October 2016 - people are putting real money in this experience ($1.6M market cap today?)... let's act like professionals here and put some basic protection in place !

On publish page, fee can be unselected

When my mouse is in the Fee area of Publish tab, if I click FEE, and input my amount, if i click away out of that box in a line parallel to the No Fee radio button, far to the right, it will select No Fee again

lbrycrd-cli Info still says "BTC"

error message:
getwalletinfo
Returns an object containing various wallet state info.

Result:
{
"walletversion": xxxxx, (numeric) the wallet version
"balance": xxxxxxx, (numeric) the total confirmed balance of the wallet in BTC
"unconfirmed_balance": xxx, (numeric) the total unconfirmed balance of the wallet in BTC
"immature_balance": xxxxxx, (numeric) the total immature balance of the wallet in BTC
"txcount": xxxxxxx, (numeric) the total number of transactions in the wallet
"keypoololdest": xxxxxx, (numeric) the timestamp (seconds since GMT epoch) of the oldest pre-generated key in the key pool
"keypoolsize": xxxx, (numeric) how many new keys are pre-generated
"unlocked_until": ttt, (numeric) the timestamp in seconds since epoch (midnight Jan 1 1970 GMT) that the wallet is unlocked for transfers, or 0 if the wallet is locked
"paytxfee": x.xxxx, (numeric) the transaction fee configuration, set in BTC/kB
}

lbrynet.core.Error.ConnectionClosedBeforeResponseError during file download

Rarely, you can get the above error after starting to download a stream. Below is the output from lbrynet-daemon:

[2016-02-18 18:07:02.204730] Search for lbry_file didn't return anything

[2016-02-18 18:07:02.208180] Start stream: f832cc8acd62c3155af751673d9dfa952c4116dbd42c4a3dbca4b56d65641123ad8852851ecf77bfe78f5d5a1662ec5f

Downloading f832cc8acd62c3155af751673d9dfa952c4116dbd42c4a3dbca4b56d65641123ad8852851ecf77bfe78f5d5a1662ec5f --> /root/lbry/test.jpg

[2016-02-18 18:07:03.225925] Search for lbry_file, returning: f832cc8acd62c3155af751673d9dfa952c4116dbd42c4a3dbca4b56d65641123ad8852851ecf77bfe78f5d5a1662ec5f

[2016-02-18 18:07:03.230873] Search for lbry_file, returning: f832cc8acd62c3155af751673d9dfa952c4116dbd42c4a3dbca4b56d65641123ad8852851ecf77bfe78f5d5a1662ec5f

[2016-02-18 18:07:03.232683] Get LBRY files

Unhandled error in Deferred:

Traceback (most recent call last): Failure: lbrynet.core.Error.ConnectionClosedBeforeResponseError:

After deleting the lbry_file and restarting the download it worked fine.

Lbry CLI: Deletion unsuccessful but looks like succeeded.

Here is what I did and what happened. Note that first time adding wonderfullife I set download compensation at 0.1 LBC/MB, but second time left default 0.5 LBC/MB.

And I also suspect that here we see another bug that by deleting one duplicate progress is lost from all duplicates. Or, the first download at 0.1 LBC/MB didn't started at all but showed wrong progress. IMO it would be better than instead of making a duplicate the first copy would be updated.

> status
[0] MyFile.txt - 3232 bytes -  -  - 100.00% - completed
[1] MyFile.txt - 3232 bytes -  -  - 100.00% - completed
[2] ItsaWonderfulLife.mp4 - 1531735536 bytes -  - wonderfullife - 2.19% - running
[3] ItsaWonderfulLife.mp4 - 1531735536 bytes -  - wonderfullife - 2.19% - running


To alter the status of any file shown above, type the number next to it and then hit 'enter'. Otherwise, just hit 'enter'.
Choice: 3

ItsaWonderfulLife.mp4 - 16 chunks downloaded out of 731 - running

To delete this file, type 'd'. To toggle its running status, type 't'. Then hit enter. To do nothing, just hit enter.
Choice: d
Also delete data? (y/n): n
Are you sure? (y/n): y
Successfully deleted ItsaWonderfulLife.mp4
> status
[0] MyFile.txt - 3232 bytes -  -  - 100.00% - completed
[1] MyFile.txt - 3232 bytes -  -  - 100.00% - completed
[2] ItsaWonderfulLife.mp4 - 0 bytes -  -  - 0% - running


To alter the status of any file shown above, type the number next to it and then hit 'enter'. Otherwise, just hit 'enter'.
Choice: 1

MyFile.txt - 1 chunks downloaded out of 1 - completed

To delete this file, type 'd'. To toggle its running status, type 't'. Then hit enter. To do nothing, just hit enter.
Choice: d
Also delete data? (y/n): n
Are you sure? (y/n): y
Successfully deleted MyFile.txt
> status
[0] MyFile.txt - 3232 bytes -  -  - 100.00% - completed
[1] ItsaWonderfulLife.mp4 - 0 bytes -  -  - 0% - running


To alter the status of any file shown above, type the number next to it and then hit 'enter'. Otherwise, just hit 'enter'.
Choice: 1

ItsaWonderfulLife.mp4 - 0 chunks downloaded out of 0 - running

To delete this file, type 'd'. To toggle its running status, type 't'. Then hit enter. To do nothing, just hit enter.
Choice: d
Also delete data? (y/n): y
Are you sure? (y/n): y
Deletion unsuccessful. Reason: 5a11dd45f89a5cfdcc1c7f4b3d691dc30d9ca7cac63c49be6b34e0fb7d2f293e3fa71b64db3609012542909de4942457
> status
[0] MyFile.txt - 3232 bytes -  -  - 100.00% - completed


To alter the status of any file shown above, type the number next to it and then hit 'enter'. Otherwise, just hit 'enter'.

Download links do absolutely nothing

This is the JS console log. Ubuntu 14.04.4 LTS.

"Download the React DevTools for a better development experience: https://fb.me/react-devtools" react.js:6146:9
Warning: Icon: prop type `fixed` is invalid; it must be a function, usually from React.PropTypes. react.js:18788:9

Warning: MenuItem: prop type `onClick` is invalid; it must be a function, usually from React.PropTypes. react.js:18788:9

Warning: Failed propType: Icon: prop type `fixed` is invalid; it must be a function, usually from React.PropTypes. Check the render method of `SplashScreen`. react.js:18788:9

Prefixed Fullscreen API is deprecated. Please use unprefixed API for fullscreen. For more help https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API mediaelement-and-player.min.js:15:6828
Object { title: "LBRY Menu", icon: "icon-bars" } common.js:22:5
Warning: Failed propType: MenuItem: prop type `onClick` is invalid; it must be a function, usually from React.PropTypes. Check the render method of `MainMenu`. react.js:18788:9

Object { results: Array[0], searching: false, query: "" } home.js:343:5
Object { button: undefined, hidden: undefined, style: undefined, href: "lbry://what", label: "Watch", icon: "icon-play", onClick: undefined } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, disabled: false, label: "Download", icon: "icon-download", onClick: bound startDownload() } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, href: "lbry://keynesvhayek", label: "Watch", icon: "icon-play", onClick: undefined } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, disabled: false, label: "Download", icon: "icon-download", onClick: bound startDownload() } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, href: "lbry://itsadisaster", label: "Watch", icon: "icon-play", onClick: undefined } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, disabled: false, label: "Download", icon: "icon-download", onClick: bound startDownload() } common.js:22:5
Object { title: "LBRY Menu", icon: "icon-bars" } common.js:22:5
TypeError: results[0] is undefined
 home.js:203:9
Object { button: undefined, hidden: undefined, style: undefined, href: "lbry://keynesvhayek", label: "Watch", icon: "icon-play", onClick: undefined } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, disabled: false, label: "Download", icon: "icon-download", onClick: bound startDownload() } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, href: "lbry://what", label: "Watch", icon: "icon-play", onClick: undefined } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, disabled: false, label: "Download", icon: "icon-download", onClick: bound startDownload() } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, href: "lbry://itsadisaster", label: "Watch", icon: "icon-play", onClick: undefined } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, disabled: false, label: "Download", icon: "icon-download", onClick: bound startDownload() } common.js:22:5
Object { button: undefined, hidden: undefined, style: undefined, disabled: true, label: "Downloading...", icon: "icon-download", onClick: bound startDownload() }

Firefox 47.0
Ubuntu 14.04.4 LTS

LBRY Keeps Asking For A Claim Code

Everytime I launch LBRY or go to settings then return back, it is always asking for my claim code. I entered a code to get the new download link, then when it popped up asking to enter the code again, it said the code has already been used. So now it keeps asking for the claim code and always opens to localhost:5279/?claim .

Ubuntu 14.04.4 LTS

lbrynet-console fails to start

Ubuntu 14, LBRY 0.3.1

joe@joe-inspiron-1520:~/Downloads$ lbrynet-console
/usr/local/lib/python2.7/dist-packages/setuptools-4.0.1-py2.7.egg/pkg_resources.py:1045: UserWarning: /home/joe/.python-eggs is writable by group/others and vulnerable to attack when used with get_resource_filename. Consider a more secure location (set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable).
:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'.  Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.  Without the service_identity module and a recent enough pyOpenSSL to support it, Twisted can perform only rudimentary TLS client hostname verification.  Many valid certificate/hostname mappings may be rejected.
Loading databases...
Databases loaded.
Loading the wallet...
Traceback (most recent call last):
Failure: exceptions.ValueError: Failed to connect to network.

exceptions.TypeError: 'NoneType' object has no attribute '__getitem__'

This occurred while leaving the lbrynet-console idle.

Unhandled Error
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 84, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/usr/lib64/python2.7/site-packages/twisted/internet/posixbase.py", line 611, in _doReadOrWrite
    why = selectable.doRead()
--- <exception caught here> ---
  File "/usr/lib64/python2.7/site-packages/twisted/internet/udp.py", line 248, in doRead
    self.protocol.datagramReceived(data, addr)
  File "/usr/lib64/python2.7/site-packages/lbrynet/dht/protocol.py", line 114, in datagramReceived
    message = self._translator.fromPrimitive(msgPrimitive)
  File "/usr/lib64/python2.7/site-packages/lbrynet/dht/msgformat.py", line 46, in fromPrimitive
    msgType = msgPrimitive[self.headerType]
exceptions.TypeError: 'NoneType' object has no attribute '__getitem__'

This is commit f5b556c.

lbrynet-gui doesn't work on Ubuntu 14

This is the error it gives in the console. It was installed by double clicking the lbrynet_0.3.1_amd64.deb file.

$ cat lbrynet-gui-error.txt
Traceback (most recent call last):
  File "/usr/local/bin/lbrynet-gui", line 9, in <module>
    load_entry_point('lbrynet==0.2.5', 'console_scripts', 'lbrynet-gui')()
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 356, in load_entry_point

  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2439, in load_entry_point
    )
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2155, in load
    for group, lines in data:
  File "/usr/local/lib/python2.7/dist-packages/lbrynet-0.2.5-py2.7.egg/lbrynet/lbrynet_gui/gui.py", line 4, in <module>
    from lbrynet.lbrynet_gui.GuiApp import DownloaderApp
  File "/usr/local/lib/python2.7/dist-packages/lbrynet-0.2.5-py2.7.egg/lbrynet/lbrynet_gui/GuiApp.py", line 1, in <module>
    import Tkinter as tk
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
    raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package

Prefer virtualenv over system install

Instructions for installing LBRY from source should include how to setup a virtualenv and suggest doing that instead of mucking around with system level packages.

After OS X installation of lbry.app, error message "IOError: [Errno 2] No such file or directory: '/Users/[username]/Library/Application Support/lbrycrd/lbrycrd.conf'"

The problem is fixed by:

  1. Creating the directory lbrycrd
  2. Creating the file lbrycrd.conf by running "echo -e "rpcuser=lbryrpc\nrpcpassword=$(env LC_CTYPE=C LC_ALL=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 16 | xargs)" > ~/Library/Application\ Support/lbrycrd/lbrycrd.conf"

This should be part of the initial run of the app after installation.

Issue Streaming and Downloading Movie that I Published

I published a video earlier (quite large around 960 MB) and I have been trying to watch it from my files. It said that it successfully published and shows up under my files. However when I click on "Watch" I get a black screen that says Download. After I click on that, Firefox stops responding for several minutes. It will then bring me to a blank screen with millions of lines of random text, I assume it is printing the video in text format. Sometimes the text will not appear and the screen will stay grayed out and non responsive. I am running Ubuntu 15.10 running the latest release of the .deb file. I have screenshots of the issue attached.
screenshot from 2016-08-07 16-14-27
screenshot from 2016-08-07 16-11-01
screenshot from 2016-08-07 16-14-27
screenshot from 2016-08-07 16-11-01
img_20160807_122338

Movies can be re-downloaded

Multiple users are reporting that they end up with duplicate downloaded files.

 <filename>.ext
 <filename>-1.ext
 <filename>-2.ext

etc...

Build error on FreeBSD

  CXX      test/test_test_lbrycrd-rpc_wallet_tests.o
  AR       libbitcoin_util.a
  CXXLD    lbrycrdd
libbitcoin_server.a(libbitcoin_server_a-init.o): In function `CleanupBlockRevFiles()':
/usr/local/include/boost/filesystem/path.hpp:139: undefined reference to `boost::filesystem::path_tra
libbitcoin_util.a(libbitcoin_util_a-util.o): In function `SetupEnvironment()':
/home/null1/lbrycrd/src/util.cpp:743: undefined reference to `boost::filesystem::path::imbue(std::loc
/home/null1/lbrycrd/src/util.cpp:744: undefined reference to `boost::filesystem::path::imbue(std::loc
libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_confi
/usr/local/include/boost/program_options/detail/config_file.hpp:161: undefined reference to `boost::p
libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_confi<std::string> > const&, bool)':
/usr/local/include/boost/program_options/detail/config_file.hpp:145: undefined reference to `boost::p, std::allocator<std::string> > const&, bool)'
libbitcoin_wallet.a(libbitcoin_wallet_a-db.o): In function `CDBEnv::Verify(std::string const&, bool (
/home/null1/lbrycrd/src/wallet/db.cpp:157: undefined reference to `Db::verify(char const*, char const
libbitcoin_wallet.a(libbitcoin_wallet_a-db.o): In function `CDBEnv::Salvage(std::string const&, bool,unsigned char> > >, std::allocator<std::pair<std::vector<unsigned char, std::allocator<unsigned char>
/home/null1/lbrycrd/src/wallet/db.cpp:180: undefined reference to `Db::verify(char const*, char const
collect2: error: ld returned 1 exit status
Makefile:2605: recipe for target 'lbrycrdd' failed
gmake[2]: *** [lbrycrdd] Error 1

I think I've had that with and without --with-incompatible-bdb. I am running two jobs as well, but not sure if that's causing the problem.

publish fails in an un-obvious way when given an invalid file

    functionName: jsonrpc_publish
    asciTime: 2016-10-17 18:06:28,026
    fileName: Daemon.py
    levelNo: 20
    lineNo: 2008
    message: {u'file_path': None, u'bid': 50, u'name': u'football', u'metadata': {u'description': u'Enjoy!', u'license': u'Creative Commons Attribution 4.0 International', u'author': u'Cataclysmic Gaming', u'title': u'Epic Football Challenges!', u'language': u'en', u'license_url': u'https://creativecommons.org/licenses/by/4.0/legalcode', u'nsfw': False, u'thumbnail': u'http://www.thefa.com/~/media/images/thefaportal/pillars/governance/nike-ball-wembley-netherlan.ashx'}}
    loggerName: lbrynet.lbrynet_daemon.Daemon
    levelName: INFO

    functionName: start
    asciTime: 2016-10-17 18:06:28,295
    fileName: Publisher.py
    levelNo: 20
    lineNo: 50
    message: Starting publish for football
    loggerName: lbrynet.lbrynet_daemon.Publisher
    levelName: INFO

    functionName: _show_publish_error
    asciTime: 2016-10-17 18:06:28,296
    fileName: Publisher.py
    levelNo: 40
    lineNo: 157
    message: coercing to Unicode: need string or buffer, NoneType found
    loggerName: lbrynet.lbrynet_daemon.Publisher
    levelName: ERROR

    functionName: _ebRender
    asciTime: 2016-10-17 18:06:28,296
    fileName: Daemon.py
    levelNo: 40
    lineNo: 490
    message: 
[Failure instance: Traceback (failure with no frames): <type 'exceptions.Exception'>: Publish failed
]
    loggerName: lbrynet.lbrynet_daemon.Daemon
    levelName: ERROR

Purchase not deducted on locked wallets - but media allowed to be downloaded

OS: Linux Ubuntu 16.04 LTS

If the wallet is encrypted and locked, provided a high enough balance in the wallet, requesting a media within LBRY will download its content, but the fees are not deducted. If LBRY is stopped after the download - there is no memory of the outstanding transaction(s). If the wallet is eventually unlocked (for mining, for example), again, the outstanding transaction is not processed.

Invalid Invitation code from a correct code

Looks like there is a problem happening to a lot of people in the last 2 days that they are receiving an invitation code on the email and when trying to activate it shows this error message: "You've entered an invalid code, or one that's already been claimed. Please check your code and try again".
I have no idea why this is happening.. If anyone can explain a little bit about the invitation system and why this problem is occurring?

conf_settings['last_version'] can be None

File "/usr/share/python/lbrynet/local/lib/python2.7/site-packages/lbrynet/lbrynet_daemon/Daemon.py", line 296, in __init__
  if utils.version_is_greater_than(lbrynet_version, conf_settings['last_version']['lbrynet']):
TypeError: 'NoneType' object has no attribute '__getitem__'

lbrynet-daemon imports lbryum unnecessarily

Using lbrynet-daemon at all requires that lbryum be available, even for commands like lbrynet-daemon --wallet=lbrycrd or lbrynet-daemon --help. This is annoying and counterintuitive.

lbrynet_0.3.1_amd64.deb does not install (Ubuntu 16.04)

Double clicking does not launch lbry installer. Ubuntu software launches with white screen only.

Using terminal: dpkg -i lbrynet_0.3.1_amd64.deb //fails with "dpkg: error: requested operation requires superuser privilege"

sudo dpkg -i lbrynet_0.3.1_amd64.deb installs but localhost:5279 hangs with "There was a problem checking for updates on github..." in chrome and ff.

Guessing deb should not install with sudo and when that is tried there is an owner/permission conflict?

"Catching up to the blockchain" stalls after first progress report

At commit 2670279.

$ lbrynet-console
Loading databases...
Databases loaded.
Loading the wallet...
Catching up to the blockchain...showing blocks left...
1464...
1110...
1110...
1110...
1110...
1110...
1111...
1111...
1111...
1111...
1111...
^C

$ lbrynet-console
Loading databases...
Databases loaded.
Loading the wallet...
Catching up to the blockchain...showing blocks left...
1111...
391...
391...
391...
391...
391...
391...
391...
391...
391...
391...
^C

$ lbrynet-console
Loading databases...
Databases loaded.
Loading the wallet...
Catching up to the blockchain...showing blocks left...
392...
All caught up. Wallet loaded.

You should have received 1000 LBC the first time you ran
this program. If you did not, let us know! But first give
them a moment to show up. The block time is currently 30
seconds so they should show up within a couple of minutes.

Welcome to lbrynet-console!

Enter a command. Try 'get wonderfullife' or 'help' to see more options.
> 

Installing on Arch Linux

Are there any directions to install on arch linux? I tried following command line instructions for ubuntu, but I just kinda hoped i had the correct dependencies installed and I ended up getting this.

Install instructions should be added for arch linux if anyone figures it out.

'Network' object has no attribute 'get_catchup_progress'

Might just be I have a borked copy of the code...

Unhandled error in Deferred:
Traceback (most recent call last):
  File "~/virtualenvs/lbry/lib/python2.7/site-packages/twisted/internet/defer.py", line 588, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "~/projects/lbryio/lbry/lbrynet/core/LBRYWallet.py", line 1039, in <lambda>
    d.addCallback(lambda _: self._catch_up_check.start(.1))
  File ".virtualenvs/lbry/lib/python2.7/site-packages/twisted/internet/task.py", line 194, in start
    self()
  File "~/.virtualenvs/lbry/lib/python2.7/site-packages/twisted/internet/task.py", line 239, in __call__
    d = defer.maybeDeferred(self.f, *self.a, **self.kw)
--- <exception caught here> ---
  File "~/.virtualenvs/lbry/lib/python2.7/site-packages/twisted/internet/defer.py", line 150, in maybeDeferred
    result = f(*args, **kw)
  File "~/projects/lbryio/lbry/lbrynet/core/LBRYWallet.py", line 999, in check_caught_up
    local_height = self.network.get_catchup_progress()
exceptions.AttributeError: 'Network' object has no attribute 'get_catchup_progress'

lbrycrd directory needs to exist before making lbrycrd.conf

User on slack reported:

$ lbrynet-daemon --log-to-console
INFO:lbrynet.lbrynet_daemon.LBRYDaemonControl:Starting lbrynet-daemon from command line
INFO:lbrynet.lbrynet_daemon.LBRYDaemon:Loaded lbrynet-daemon configuration
INFO:lbrynet.lbrynet_daemon.LBRYDaemon:Using the default wallet type lbrycrd
INFO:lbrynet.lbrynet_daemon.LBRYDaemon:No lbrycrd.conf found at /home/john/.lbrycrd/lbrycrd.conf. Generating now...
Traceback (most recent call last):
  File "/usr/local/bin/lbrynet-daemon", line 9, in <module>
    load_entry_point('lbrynet==0.3.7', 'console_scripts', 'lbrynet-daemon')()
  File "/usr/local/lib/python2.7/dist-packages/lbrynet-0.3.7-py2.7.egg/lbrynet/lbrynet_daemon/LBRYDaemonControl.py", line 108, in start
    branch_specified=True if args.branch else False)
  File "/usr/local/lib/python2.7/dist-packages/lbrynet-0.3.7-py2.7.egg/lbrynet/lbrynet_daemon/LBRYDaemonServer.py", line 192, in start
    d = self._setup_server(wallet)
  File "/usr/local/lib/python2.7/dist-packages/lbrynet-0.3.7-py2.7.egg/lbrynet/lbrynet_daemon/LBRYDaemonServer.py", line 186, in _setup_server
    self._api = LBRYDaemon(self.root, wallet_type=wallet)
  File "/usr/local/lib/python2.7/dist-packages/lbrynet-0.3.7-py2.7.egg/lbrynet/lbrynet_daemon/LBRYDaemon.py", line 374, in __init__
    with open(self.lbrycrd_conf, 'w') as f:
IOError: [Errno 2] No such file or directory: '/home/john/.lbrycrd/lbrycrd.conf'

weird issue on localhost:5279 (No Such Resource File not found)

Hello.
I am experiencing a weird issue on a lot of computers while running lbry.
There is a massage displayed on the screen saying ("No Such Resource
File not found").
I have tried everything to fix this problem, and nothing is working. I am probably missing something.

Txid alone is not sufficient to resolve claims

Txid and nOut is required to actually resolve claims. Mutiple claimtrie transactions can share the same txid so the software will fail.

This is not causing problems now because there are no transactions with multiple claimtrie txs in it. However, they are easy enough to create, and there are good reasons for doing so.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.