The blockchain that provides the digital content namespace for the LBRY protocol
Find a file
Brannon King fd6e26608d removed duplicate trie in RAM, other norm fixes
also includes code to validate incoming utf8
moved normalization from claimTrie; all in cache now

also fixed a few post-merge issues
added handling for support normalization

fixed failure to handle unnormalized items reinserted on rollback

fixing ICU deps for Travis build

get more info on Travis build failure

Travis experiment 2: ICU fPIC

add independent tests to check string normalization only

move comment to proper location, and note what excpetion is thrown

add RPC call checknormalization so user can see what normalization does

made expiration at norm time smarter

also rearranged unit test code to avoid some spurious errors
made ICU compile statically

also fixed early exit in reproducible_build script
changed to keep original name

removed ability to return just-added supports

it was impossible to get the normalized names correct there
apparently the -s is no longer appreciated

moved normalization code to separate file

also fixed bug on effective amount
fixed performance problem on trie upgrade

fixed issue with valid height on rollback

fixed issue with post-normalization name q data

fixed failure to remove normalized claims on rollback

post-merge fixes

post-merge fixes
2019-02-09 12:02:59 -07:00
.tx qt: translation update prior to opening 0.12 translations 2015-11-01 16:11:50 +01:00
build-aux/m4 Implement a hard fork to normalize claim names 2019-02-09 12:02:59 -07:00
contrib Remove unnecessary height field in removeClaim method 2018-11-08 15:29:28 -07:00
depends Implement a hard fork to normalize claim names 2019-02-09 12:02:59 -07:00
doc NOT FOR UPSTREAM MERGE Update .clang-format to latest in Bitcoin Core. Update doc/developer-notes to latest in Bitcoin Core, but use C++03 2018-06-27 22:09:35 -04:00
packaging removed duplicate trie in RAM, other norm fixes 2019-02-09 12:02:59 -07:00
qa Merge branch 'master' of https://github.com/bitcoin/bitcoin into realusmerge 2016-05-15 22:16:56 -04:00
share Branding 2017-09-13 09:09:30 -04:00
src removed duplicate trie in RAM, other norm fixes 2019-02-09 12:02:59 -07:00
.bumpversion.cfg Bump version: 0.3.15 → 0.3.16 2016-10-13 16:07:25 -04:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore Added cmake support for CLion intellisense 2018-08-03 14:35:37 -06:00
.travis.yml removed duplicate trie in RAM, other norm fixes 2019-02-09 12:02:59 -07:00
autogen.sh autogen.sh: warn about needing autoconf if autoreconf is not found 2016-02-13 04:44:42 +08:00
CMakeLists.txt fixed incompatibility with newer lbssl 2018-10-19 11:30:48 -06:00
configure.ac removed duplicate trie in RAM, other norm fixes 2019-02-09 12:02:59 -07:00
CONTRIBUTING.md Note that reviewers should mention the commit hash of the commits they reviewed. 2015-12-10 22:44:09 -08:00
COPYING Update license year range to 2016 2016-01-17 23:38:11 +05:30
lbrycrdd_daemon_screenshot.png update README 2018-04-18 17:04:43 -04:00
libbitcoinconsensus.pc.in Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00:00
LICENSE update LICENSE to 2018 2018-02-16 12:51:15 -05:00
Makefile.am build: define base filenames for use elsewhere in the buildsystem 2016-04-11 04:01:23 +00:00
README.md removed kay from contact request for testnet credits. 2019-02-05 20:02:47 -07:00
reproducible_build.sh removed duplicate trie in RAM, other norm fixes 2019-02-09 12:02:59 -07:00

LBRYcrd - The LBRY blockchain

alt text

LBRYcrd uses a blockchain similar to bitcoin's to implement an index and payment system for content on the LBRY network. It is a fork of bitcoin core.

Installation

Latest binaries are available from https://github.com/lbryio/lbrycrd/releases. There is no installation procedure, the binaries will be run as-is.

Usage

The lbrycrdd executable will start a LBRYcrd node and connect you to the LBRYcrd network. Use the lbrycrd-cli executable to interact with lbrycrdd through the command line. Help pages for both executable are available through the "--help" flag (e.g. lbrycrd-cli --help).

Example Usage

Run ./lbrycrdd -server -daemon to start lbrycrdd in the background.

Run ./lbrycrd-cli getinfo to check for some basic information about your LBRYcrd node.

Run ./lbrycrd-cli help to get a list of all commands that you can run. To get help on specific commands run ./lbrycrd-cli [command_name] help

Data directory

Lbrycrdd will use the below default data directories:

Windows < Vista: C:\Documents and Settings\Username\Application Data\lbrycrd

Windows >= Vista: C:\Users\Username\AppData\Roaming\lbrycrd

Mac: ~/Library/Application Support/lbrycrd

Unix: ~/.lbrycrd

The data directory contains various things such as your default wallet (wallet.dat), debug logs (debug.log), and blockchain data. You can optionally create a configuration file lbrycrd.conf in the default data directory which will be used by default when running lbrycrdd.

For a list of configuration parameters, run ./lbrycrdd --help. Below is a sample lbrycrd.conf to enable JSON RPC server on lbrycrdd.

rpcpassword=xyz123456790
daemon=1
server=1
txindex=1

Running from Source

Run ./reproducible_build.sh -c -t. This will build the binaries and put them into the ./src directory.

If you encounter any errors, please check doc/build-*.md for further instructions. If you're still stuck, create an issue with the output of that command, your system info, and any other information you think might be helpful.

Contributing

Contributions to this project are welcome, encouraged, and compensated. For more details, see lbry.io/faq/contributing

The codebase is in C++03. C++11 is currently not supported but we will be migrating to it in the near future. Recommended GCC version is 4.8 or greater. We follow the same coding guidelines as documented by Bitcoin Core, see here. To run an automated code formatting check, try: git diff -U0 master -- '*.h' '*.cpp' | ./contrib/devtools/clang-format-diff.py -p1. This will check any commits not on master for proper code formatting. We try to avoid altering parts of the code that is inherited from Bitcoin Core unless absolutely necessary. This will make it easier to merge changes from Bitcoin Core. If commits are expected not to be merged upstream (i.e. we broke up a commit from Bitcoin Core in order to use a single feature in it), the commit message must contain the string "NOT FOR UPSTREAM MERGE".

The master branch is regularly built and tested, but is not guaranteed to be completely stable. Releases are created regularly to indicate new official, stable release versions.

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money. Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check

The Travis CI system makes sure that every pull request is built, and that unit and sanity tests are automatically run.

Testnet

Testnet is maintained for testing purposes and can be accessed using the command ./lbrycrdd -testnet. If you would like to obtain testnet credits, please contact brannon@lbry.io or grin@lbry.io.

License

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

Security

We take security seriously. Please contact security@lbry.io regarding any security issues. Our PGP key is here if you need it.

Contact

The primary contact for this project is @BrannonKing (brannon@lbry.io)