- Related: ledger-live-mobile
- Backed by: ledger-live-common
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.
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.
- NodeJS lts/erbium (Node 12.x)
- Yarn lts
- Python v2.7.10 (used by node-gyp to build native addons)
- You will also need a C++ compiler
# install dependencies
yarn
# launch the app
yarn start
# 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
(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)[https://github.com/LedgerHQ/ledger-live-common/blob/master/src/env.js)
yarn ci
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