Clone Applications
Use this guide to create and publish a clone (variant) of an existing Bitcoin or Ethereum device application. It focuses on the minimal steps required to complete the task.
Prerequisites
- Understanding of the device app development framework (learn more here)
- Ledger VS Code extension installed and configured (learn more here)
- Icons templates here
- Signed commits enabled:
git commit -S -m "message"
Bitcoin
If you are adding a new Bitcoin clone with no new features or your clone was previously included in the Bitcoin app and you need to update it :
Fork the Bitcoin app boilerplate
Fork the app-bitcoin-clone-boilerplate.
Customize it
- Add your icon
- Update the Makefile and README
- Override APDU handlers as needed (defined
WEAKby default)
Build and test
- Build with the Ledger VS Code extension
- Add tests and ensure CI is green
Ethereum clones
Make your changes to the develop branch only.
For security reasons, the repository is set up to accept only pull requests with signed commits. To sign your commits, use the -S flag : $ git commit -S -m your commit message
Fork the Ethereum application
Fork the Ethereum app.
Modify app-ethereum/src_common/network.c
Add your chain ID, chain name and Ticker to network.c following this example:
{.chain_id = 592, .name = "Astar", .ticker = "ASTR"},Add an icon for Ledger Stax
Add your 64x64px gif icon in the glyphs folder following this naming convention: chain_yourchainid_64px.gif.
Use the template provided here.
Add your Network to Chainlist.org
Click “Add Your Network +” on the Chainlist homepage and follow the ReadMe to add your Network.
Open a pull request
When your application is ready, open a pull request on the Ethereum application repository.
Troubleshooting
- Build fails in VS Code:
- Verify Ledger toolchain installation and environment variables
- CI not green:
- Run tests locally and update failing cases
- Ensure icon filenames and paths match conventions
- Signed commits rejected:
- Configure GPG and Git signing:
git config —global commit.gpgsign true - Use
git commit -Sand ensure your GPG key is trusted on GitHub
- Configure GPG and Git signing:
Publishing the application
When your application or PR is ready, follow the process in Publishing an application.