You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

3.5 KiB

Ledger Live - Desktop

CircleCI Crowdin

⚠️ Disclaimer: this project is under active development. Use at your own risks.

Ledger Live Desktop is a new generation Ledger Wallet application build with React, Redux and Electron to run natively on the web. The main goal of the app is to provide our users with a single wallet for all crypto currencies supported by our devices. To learn more check out Ledger

Architecture

From one side Ledger Desktop app connected to the Blockchain via the in-house written C++ library - LibCore and from the other it communicates to the Ledger Hardware Device to securely sign all transactions.

Setup

Requirements

Optional

  • In the application we use Museo Sans font. To include it in the app, you need to have a zip file museosans.zip which you should extract and place inside the static/fonts/museosans directory

Install

  1. Clone or fork the repo
git clone git@github.com:LedgerHQ/ledger-live-desktop.git
  1. Install dependencies
yarn

Run

Launch the app

yarn start

Build

# Build & package the whole app
# Creates a .dmg for Mac, .exe installer for Windows, or .AppImage for Linux
# Output files will be created in dist/ folder
yarn dist

Note: Use yarn dist:dir to speed up the process: it will skip the packaging step. Handy for debugging builds. You can also use BUNDLE_ANALYZER=1 yarn dist:dir to generate webpack-bundle-analyzer report.


Config (optional helpers)

Create a .env file

SENTRY_URL=...        # Edit this line if you want to send errors to your sentry account

API_BASE_URL=http://...      # API base url, fallback to our API if not set

DEBUG_DEVICE=0       # Setup device debug mode

DEV_TOOLS_MODE=bottom     # Developer tools position (used only in dev). Options: right, bottom, undocked, detach

DEBUG=lwd*,-lwd:syncb  # Filter debug output

HIDE_DEV_WINDOW=0    # hide the dev window

SKIP_ONBOARDING=1    # To skip the onboarding

Launch storybook

yarn storybook

Run code quality checks

yarn lint                # launch eslint
yarn prettier            # launch prettier
yarn flow                # launch flow
yarn test                # launch unit tests

Programmaically reset hard the app

Stop the app and to clean accounts, settings, etc, run

rm -rf ~/Library/Application\ Support/Electron/

Additional Info on tools used in the app

  • Sentry - error-tracking software, learn more
  • Storybook - UI development environment, learn more
  • U2F - We use a custom transport encapsulation to pass instructions to the hardware device with U2F protocol. Learn more about U2F