Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
Team Ledger Live 90929b2daa
v1.18.2-nightly.20191119
před 1 dnem
.circleci macos ci před 2 měsíci
.github Fix issue number getting cut před 3 měsíci
.storybook fix: yarn storybook před 10 měsíci
build [Mac] Fix USB connection před 1 týdnem
docs better screenshot.png před 1 rokem
flow-defs LL-1483 Bookmarking functionality for accounts před 3 měsíci
flow-typed/npm Bootstrap libcore ETH and ERC20 před 5 měsíci
scripts Cleanup svg id defs and add a collision check script před 2 dny
src Fixes flow and eslint před 1 dnem
static Add crypto.com description to the partners tab před 1 dnem
test-e2e migrated to styled component v4; refactored style structure před 1 měsícem
webpack Disable minimize for all bundles před 1 rokem
.babelrc Use REAL babel.config in electron-webpack před 1 rokem
.eslintignore Move src/families files to reject mobile/common approach před 1 týdnem
.eslintrc Test e2e (#2342) před 2 měsíci
.flowconfig wip rebased před 1 týdnem
.gitattributes update cache check windows před 1 měsícem
.gitignore Move src/families files to reject mobile/common approach před 1 týdnem
.npmrc \n před 1 rokem
.nvmrc Add \n to .nvmrc před 1 rokem
.prettierignore Move src/families files to reject mobile/common approach před 1 týdnem
.prettierrc export to mobile after account migration před 2 měsíci
.travis.yml update cache check windows před 1 měsícem
LICENSE Add LICENSE před 1 rokem
README.md added inter font, removed all other fonts před 1 měsícem
babel.config.js Update Babel config to prepare working cli před 1 rokem
crowdin.yml crowdin config před 1 rokem
electron-builder-nightly.yml Add hardenedRuntime to nightlies as well před 1 týdnem
electron-builder.yml LL-1931 [Mac] Notarize .app and .dmg před 1 týdnem
jest.config.js __APP_VERSION__ jest global před 1 rokem
package.json v1.18.2-nightly.20191119 před 1 dnem
yarn.lock bump live-common před 1 dnem

README.md

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.

Coins

  • supported by ledger-core (C++) implementation: BTC BCH LTC DASH QTUM ZEC BTG STRAT DOGE DGB HSR KMD PIVX ZEN VTC PPC VIA XST POSW CLUB
  • supported by JavaScript implementation: ETH, ETC, XRP

Setup

Requirements

  • NodeJS LTS/carbon (Node 8.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

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)

Environment variables

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

DEV_TOOLS_MODE=bottom # devtools position Options: right, bottom, undocked, detach
HIDE_DEV_WINDOW=0

## flags for development purpose
DEBUG_DEVICE=1
DEBUG_NETWORK=1
DEBUG_COMMANDS=1
DEBUG_DB=1
DEBUG_ACTION=1
DEBUG_TAB_KEY=1
DEBUG_LIBCORE=1
DEBUG_WS=1
SKIP_GENUINE=1
SKIP_ONBOARDING=1
SHOW_LEGACY_NEW_ACCOUNT=1
HIGHLIGHT_I18N=1
EXPERIMENTAL_WS_EXPORT=0
EXPERIMENTAL_LANGUAGES=1
EXPERIMENTAL_EXPLORERS=1

## constants
GET_CALLS_TIMEOUT=30000
GET_CALLS_RETRY=2
SYNC_MAX_CONCURRENT=6
SYNC_BOOT_DELAY=2000
SYNC_ALL_INTERVAL=60000
CHECK_APP_INTERVAL_WHEN_INVALID=600
CHECK_APP_INTERVAL_WHEN_VALID=1200
CHECK_UPDATE_DELAY=5000

Launch storybook

We use storybook for UI development.

yarn storybook

Run code quality checks

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

Programmatically reset app files

# clear the dev electron user data directory
# it remove sqlite db, accounts, settings
# useful to start from a fresh state

yarn reset-files

File structure

.
├── dist : output folder generate by the build
├── scripts : commands (for building, releasing,...)
├── src
│   ├── internals : code that run on the 'internal' thread.
│   ├── main : code that run on the 'main' thread.
│   ├── renderer : code that run on the 'renderer' thread
│   ├── components : all the React components
|       └── modals : sub levels for the modals
│   ├── api : related to HTTP APIs
│   ├── bridge : an abstraction on top of blockchains apis (libcore / js impls)
│   ├── commands : an abstraction to run code over the internal thread
│   ├── icons : all the icons of our app, as React components.
│   ├── config : contains the constants,...
│   ├── helpers : generic folder for our business logic (might be reorganized in the future)
│   ├── middlewares : redux middlewares
│   ├── actions : redux actions
│   ├── reducers : redux reducers
│   ├── sentry : for our bug tracker
│   ├── stories : for storybook
│   ├── styles : theme
│   ├── logger.js : abstraction for all our console.log s
│   └── types : global flow types
├── static
│   ├── docs
│   ├── fonts
│   ├── i18n
│   ├── images
│   └── videos
├── webpack : build configuration
└── yarn.lock

Troubleshooting

The ‘gyp==0.1’ distribution was not found and is required by the application

You will need to install the python gyp module

pip install git+https://chromium.googlesource.com/external/gyp

see stackoverflow/40025591