GithubHelp home page GithubHelp logo

clete2 / lbry-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lbryio/lbry-desktop

0.0 3.0 0.0 12.48 MB

A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.

Home Page: https://lbry.io

License: MIT License

Ruby 0.06% JavaScript 84.20% Shell 1.26% PowerShell 0.32% Python 3.14% CSS 10.95% Batchfile 0.07%

lbry-app's Introduction

LBRY App

This is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with a UI using Electron.

App Screenshot

Installing

We provide installers for Windows, macOS, and Debian-based Linux.

Windows macOS Linux
Latest Stable Release Download Download Download
Latest Prerelease Download Download Download

Our releases page also contains the latest release, pre-releases, and past builds.

To install from source or make changes to the application, continue reading below.

Development

One-time Setup

  1. Install npm and node (v6 and above required, use nvm if having trouble)
  2. Install keytar and libsecret (see keytar repository )
  3. Install yarn by running: npm install -g yarn (may require elevated permissions)
  4. Check out this repo.
  5. Set up a Python virtual environment, or live on the wild side.
  6. Run ./build.sh. This builds the UI assets and puts them into app/dist. It also downloads lbry daemon.

Running

Run ./node_modules/.bin/electron app

Ongoing Development

  1. cd ui
  2. ./watch.sh

This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the ui folder. This allows you to make changes and see them immediately by reloading the app.

Packaging

We use electron-builder to create distributable packages, which is run by calling:

node_modules/.bin/build -p never

Development on Windows

Windows Dependency

  1. Download and install git from github.io (configure to use command prompt integration)
  2. Download and install npm and node from nodejs.org
  3. Download and install python 2.7 from python.org
  4. Download and Install Microsoft Visual C++ Compiler for Python 2.7 from Microsoft
  5. Download and install .NET Framework 2.0 Software Development Kit (SDK) (x64) from Microsoft (may need to extract setup.exe and install manually by running install.exe as Administrator)

One-time Setup

  1. Open command prompt as adminstrator and run the following:
npm install --global --production windows-build-tools
exit
  1. Open command prompt in the root of the project and run the following:
python -m pip install -r build\requirements.txt
python build\set_version.py
npm install -g yarn
yarn install
  1. Change directory to app and run the following;
yarn install
node_modules\.bin\electron-rebuild
node_modules\.bin\electron-rebuild
cd ..
  1. Change directory to ui and run the following:
yarn install
npm rebuild node-sass
node node_modules\node-sass\bin\node-sass --output dist\css --sourcemap=none scss\
node_modules\.bin\webpack --config webpack.dev.config.js
xcopy /E dist ..\app\dist
cd ..
  1. Download the lbry daemon and cli binaries and place them in app\dist\

Building lbry-app

  1. run node_modules\.bin\build -p never from the root of the project.

Running the electron app

  1. Run node_modules\.bin\electron app

Ongoing Development

  1. cd ui
  2. watch.bat

This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the ui folder. This allows you to make changes and see them immediately by reloading the app.

Internationalization

If you want to help translating the lbry-app, you can copy the en.json file in /app/locales and modify the values while leaving the keys as their original English strings. An example for this would be: "Skip": "Überspringen", Translations should automatically show up in options.

lbry-app's People

Watchers

 avatar  avatar  avatar

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.