ledger-live-desktop

Ledger Live (Desktop)

Github星跟蹤圖

Ledger Live (desktop) CircleCI 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.

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.

Setup

Requirements

  • 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

# 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

主要指標

概覽
名稱與所有者LedgerHQ/ledger-live-desktop
主編程語言JavaScript
編程語言JavaScript (語言數: 8)
平台
許可證MIT License
所有者活动
創建於2017-02-21 12:52:13
推送於2022-06-12 23:00:32
最后一次提交2022-05-03 11:07:48
發布數336
最新版本名稱v2.42.0 (發布於 )
第一版名稱v0.1.0 (發布於 )
用户参与
星數1k
關注者數84
派生數299
提交數7.8k
已啟用問題?
問題數1124
打開的問題數274
拉請求數3123
打開的拉請求數38
關閉的拉請求數570
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?