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.
Valentin D. Pinkman 06ac017f25
Merge pull request #2937 from valpinkman/firmware-update-screenshots
1 hour ago
.dependabot Merge LLD V2 work 3 months ago
.github use actions/checkout@v2 1 day ago
build [Windows] Remove MSVC++ redist auto-install 1 month ago
docs better screenshot.png 1 year ago
flow-defs Merge LLD V2 work 3 months ago
flow-typed/npm Merge LLD V2 work 3 months ago
scripts LL-2326 Remove unused wording and components 1 month ago
src add screenshots testing to firmware update flow 21 hours ago
static/i18n LL-2512 LL-2511 (#2926) 1 week ago
tests add screenshots testing to firmware update flow 21 hours ago
tools add version to export logs 1 month ago
.eslintignore Merge LLD V2 work 3 months ago
.eslintrc.js Merge LLD V2 work 3 months ago
.flowconfig LL-2512 LL-2511 (#2926) 1 week ago
.gitattributes Merge LLD V2 work 3 months ago
.gitignore regression test with jest image snapshots 2 days ago
.prettierignore update device connect imports 2 months ago
.prettierrc Merge LLD V2 work 3 months ago
LICENSE Add LICENSE 2 years ago
MOCK.md Update MOCK.md 1 month ago
README.md Update README.md 2 weeks ago
SECURITY.md Create SECURITY.md 2 weeks ago
TERMS.md Fixes Terms 5 months ago
babel.config.js dynamic electron version in babel.config.js 3 months ago
babel.plugins.js Merge LLD V2 work 3 months ago
crowdin.yml crowdin config 2 years ago
electron-builder-nightly.yml [Windows] Remove MSVC++ redist auto-install 1 month ago
electron-builder.yml [Windows] Remove MSVC++ redist auto-install 1 month ago
jest.config.js Merge LLD V2 work 3 months ago
jsconfig.json Merge LLD V2 work 3 months ago
main.webpack.config.js [Linux] Fix app having no icon 3 months ago
package.json regression test with jest image snapshots 2 days ago
preloader.webpack.config.js Merge LLD V2 work 3 months ago
renderer.webpack.config.js Merge LLD V2 work 3 months ago
yarn.lock add screenshots testing to firmware update flow 21 hours ago

README.md

Ledger Live (desktop) Crowdin

Ledger Live is a new generation wallet desktop application providing a unique interface to maintain multiple cryptocurrencies for your Ledger Nano S / Blue. Manage your device, create accounts, receive and send cryptoassets, …and many more.

<img src="/docs/screenshot.png" width="550"/>

Architecture

Ledger Live is an hybrid desktop application built with Electron, React, Redux, RxJS,.. and highly optimized with ledger-core C++ library to deal with blockchains (sync, broadcast,..) via ledger-core-node-bindings. It communicates to Ledger hardware wallet devices (Nano S / Blue) to verify address and sign transactions with ledgerjs. Some logic is shared with live-common.

Download

The latest stable release is available on ledger.com/ledger-live.

Previous versions and pre-releases can be downloaded on here from the Releases section.

Compatibility

  • macOS 10.10+
  • Windows 8+ (x64)
  • Linux (x64)

Development

Setup

Requirements

Install

# 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

Config (optional helpers)

Environment variables

(you can use a .env or export environment variables)

NO_DEBUG_COMMANDS=1
NO_DEBUG_DB=1
NO_DEBUG_ACTION=1
NO_DEBUG_TAB_KEY=1
NO_DEBUG_NETWORK=1
NO_DEBUG_ANALYTICS=1
NO_DEBUG_WS=1
NO_DEBUG_DEVICE=1
NO_DEBUG_COUNTERVALUES=1

other envs can be seen in live-common:src/env.js

Run code quality checks

yarn ci

File structure

src
├── main : the main process is the mother of all process. it boots internal and renderer process and starts the window.
├── internal : related to internal thread that runs commands, device logic, libcore,..
├── renderer : everything related to the UI.
│   ├── screens
│   ├── modals
│   ├── components : all components that are not screens or modals, flattened.
│   ├── animations
│   ├── icons
│   ├── images
│   ├── styles
│   ├── bridge : logic related to interacting with accounts and currencies.
│   ├── families : per currency specific logic and components
│   ├── actions : redux actions
│   ├── reducers : redux reducers
│   ├── middlewares
│   ├── analytics
│   ├── fonts
│   ├── hooks
│   ├── i18n : all translation files
│   ├── index.html : html point point
│   ├── index.js : js entry point
│   ├── init.js : initialize the rendering
│   ├── live-common-setup.js : set up live-common for renderer specific parts
│   └── ... other files related to renderer
├── config : constants files. DEPRECATED. will be moved to live-common.
├── helpers : helpers. DEPRECATED. will be moved to live-common or in relevant places.
├── live-common-set-supported-currencies.js : generic set up of supported coins
├── live-common-setup.js : generic set up of live-common
├── logger : internal logging library. used by all thread. produces the "export logs".
├── network.js : network implementation. will eventually move back to live-common.
└── sentry : related to bug report API