-
Notifications
You must be signed in to change notification settings - Fork 327
LLC:ci intro
Ledger Live Common is designed to have very generic models (for currencies, accounts) but to also facilitate new coin integrations.
The way this is structured is the folder src/families
would contain the only specific bits a coin family will have and the rest is factorized and generic.
The goal is to minimize the amount of effort to implement while guaranteeing the general library integrity.
For each new coin integration, define a family for it (potentially one family of coin can contain many coins, for instance Bitcoin Cash is in bitcoin
family, Ethereum Classic is in ethereum
family). A family is a ledger specific technical grouping that puts together the similar coins, typically those issued by a fork.
The
family
is defined in the CryptoCurrency field.
For a new family, create a new folder in src/families
.
The folder will have this kind of structure:
.
├── bridge
│ ├── js.ts
│ └── mock.ts
├── cli-transaction.ts
├── hw-getAddress.ts
├── hw-signMessage.ts # if possible
├── transaction.ts # transaction specific fields
└── types.ts # family specific types
Most of these files are optional and you will typically see when a file implementation is missing when testing.
A coin would typically also have custom files to share code or expose families specific features.
- Ledger Live Desktop
- Ledger Live Mobile
-
Ledger Live Common
- Introduction
- Currency Models
- Currency Bridge
- Account
- Account Bridge
- apps
- appsCheckAllAppVersions
- ledger-live bot
- Canonical Ways to Investigate Bugs
- Coin Integration Introduction
- Countervalues
- Packages Duplicates
- Derivation
- Developing with CLI
- Developing
- Gist Firmware Update
- Gist Transaction
- Hardware Wallet Logic
- Socket
- Assorted tips
- Integration Tests
- Process
- Monorepository Migration Guide
- Issues, Workaround and Tricks
- Common CI Troubleshooting
- Create staging builds using the CI
- Deprecated