{"id":39171498,"url":"https://github.com/lightsail-network/app-stellar-rust","last_synced_at":"2026-01-17T22:23:24.286Z","repository":{"id":321149472,"uuid":"1084666065","full_name":"lightsail-network/app-stellar-rust","owner":"lightsail-network","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-13T10:30:04.000Z","size":34676,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-11-13T12:12:24.611Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lightsail-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-28T01:51:16.000Z","updated_at":"2025-11-13T10:30:07.000Z","dependencies_parsed_at":"2025-10-28T04:20:30.278Z","dependency_job_id":null,"html_url":"https://github.com/lightsail-network/app-stellar-rust","commit_stats":null,"previous_names":["lightsail-network/app-stellar-rust"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lightsail-network/app-stellar-rust","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsail-network%2Fapp-stellar-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsail-network%2Fapp-stellar-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsail-network%2Fapp-stellar-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsail-network%2Fapp-stellar-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightsail-network","download_url":"https://codeload.github.com/lightsail-network/app-stellar-rust/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightsail-network%2Fapp-stellar-rust/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28520231,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T22:11:28.393Z","status":"ssl_error","status_checked_at":"2026-01-17T22:11:27.841Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T22:23:23.646Z","updated_at":"2026-01-17T22:23:24.278Z","avatar_url":"https://github.com/lightsail-network.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ledger Stellar Application\n\nA Ledger hardware wallet application for Stellar. This application enables transaction signing for Stellar on Ledger Nano X, Nano S+, Nano Gen5, Stax and Flex devices. \n\n* Implements standard features (display address, transaction signature...),\n* Has functional tests using [Ragger](https://github.com/LedgerHQ/ragger),\n* Has CI workflows mandatory for app deployment in the Ledger store.\n\n### Links\n\n* 🌟 [Stellar's developer documentation](https://developers.stellar.org/)\n* 📚 [Developer's documentation](https://developers.ledger.com/)\n* 🗣️ [Ledger's Discord server](https://discord.gg/Ledger)\n\n## Quick start guide\n\n### With VS Code\n\nYou can quickly setup a development environment on any platform (macOS, Linux or Windows) to build and test your application with [Ledger's VS Code extension](https://marketplace.visualstudio.com/items?itemName=LedgerHQ.ledger-dev-tools).\n\nBy using Ledger's own developer tools [Docker image](https://github.com/LedgerHQ/ledger-app-builder/pkgs/container/ledger-app-builder%2Fledger-app-dev-tools), the extension allows you to **build** your apps with the latest SDK, **test** them on **Speculos** and **load** them on any supported device.\n\n* Install and run [Docker](https://www.docker.com/products/docker-desktop/).\n* Make sure you have an X11 server running :\n  * On Ubuntu Linux, it should be running by default.\n  * On macOS, install and launch [XQuartz](https://www.xquartz.org/) (make sure to go to XQuartz \u003e Preferences \u003e Security and check \"Allow client connections\").\n  * On Windows, install and launch [VcXsrv](https://sourceforge.net/projects/vcxsrv/) (make sure to configure it to disable access control).\n* Install [VScode](https://code.visualstudio.com/download) and add [Ledger's extension](https://marketplace.visualstudio.com/items?itemName=LedgerHQ.ledger-dev-tools).\n* Open a terminal and clone `app-stellar-rust` with `git clone git@github.com:LedgerHQ/app-stellar-rust.git`.\n* Open the `app-stellar-rust` folder with VSCode.\n* Use Ledger extension's sidebar menu or open the tasks menu with `ctrl + shift + b` (`command + shift + b` on a Mac) to conveniently execute actions :\n  * **Build** the app for the device model of your choice with `Build`.\n  * **Test** your binary on the [Speculos emulator](https://github.com/LedgerHQ/speculos) with `Run with emulator`.\n  * You can also **run functional tests**, load the app on a physical device, and more.\n\nℹ️ The terminal tab of VSCode will show you what commands the extension runs behind the scene.\n\n## With a terminal\n\n### Prerequisites\n\nIf you do not wish to use the [VS Code extension](#with-vs-code), you can follow the following steps to setup a development environment on Linux, Windows or MacOS.\n\n* The [ledger-app-dev-tools](https://github.com/LedgerHQ/ledger-app-builder/pkgs/container/ledger-app-builder%2Fledger-app-dev-tools) Docker image contains all the required tools and libraries to build, test and load an application on a device. You can download it from the ghcr.io docker repository:\n```shell\nsudo docker pull ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest\n```\n* Make sure you have an X11 server running :\n  * On Ubuntu Linux, it should be running by default.\n  * On macOS, install and launch [XQuartz](https://www.xquartz.org/) (make sure to go to XQuartz \u003e Preferences \u003e Security and check \"Allow client connections\").\n  * On Windows, install and launch [VcXsrv](https://sourceforge.net/projects/vcxsrv/) (make sure to configure it to disable access control).\n* You can then enter into this development environment by executing the following command from the directory of the application (`git` repository):\n  * Linux (Ubuntu): \n  ```shell\n  sudo docker run --rm -ti --privileged -v \"/dev/bus/usb:/dev/bus/usb\" -v \"$(realpath .):/app\" --publish 5001:5001 --publish 9999:9999 -e DISPLAY=$DISPLAY -v '/tmp/.X11-unix:/tmp/.X11-unix' ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest\n  ```\n  * macOS:\n  ```shell\n  sudo docker run  --rm -ti --privileged -v \"$(pwd -P):/app\" --publish 5001:5001 --publish 9999:9999 -e DISPLAY='host.docker.internal:0' -v '/tmp/.X11-unix:/tmp/.X11-unix' ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest\n  ```\n  * Windows (with PowerShell):\n  ```shell\n  docker run --rm -ti --privileged -v \"$(Get-Location):/app\" -e DISPLAY='host.docker.internal:0' --publish 5001:5001 --publish 9999:9999 ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest\n  ```\n\nThe application's code will be available from inside the docker container, you can proceed to the following compilation steps to build your app.\n\n### Building\n\nYou can build the Stellar app with the following command executed in the root directory of the app.\n```bash\ncargo ledger build nanox\n```\nThis command will build the app for the Nano X, but you can use any supported device (`nanox`, `nanosplus`, `stax`, `flex`, `apex_p`)\n\nIf you encounter issues like `fatal error: 'glyphs.h' file not found`, you may need to install some dependencies first. You can try the following command:\n\n```bash\npip install -r requirements.txt\n```\n\n### Testing\n#### Ragger functional tests\nThis Stellar app comes with functional tests implemented with Ledger's [Ragger](https://github.com/LedgerHQ/ragger) test framework.\n\n* Install the tests requirements\n```bash\npip install -r tests/requirements.txt \n```\n* Run the functional tests :\n\n```shell\npytest tests/ --tb=short -v --device {nanosp | nanox | stax | flex | apex_p}\n```\n#### Emulator\nYou can also run the app directly on the [Speculos emulator](https://github.com/LedgerHQ/speculos) from the Docker container\n#### Nano S+ or X\n```bash\nspeculos --apdu-port 9999 --api-port 5001 --display headless --model nanosp target/nanosplus/release/app-stellar-rust\n```\n:warning: UI is displayed on `localhost:5001`\n#### Stax or Flex\n```bash\nspeculos --apdu-port 9999 --api-port 5001 --model stax target/stax/release/app-stellar-rust\n```\n:warning: UI is displayed by your X server\n\nYou can then send APDU using `ledgercomm` (`pip install ledgercomm`):\n```\nledgercomm-send file test.apdu\n```\n### Loading on device\n:warning: Loading the built application on a device shall be performed out of the Docker container, by using [ledgerctl](https://github.com/LedgerHQ/ledgerctl):\n```shell\npip3 install ledgerwallet\n````\nℹ️ Your device must be connected, unlocked and the screen showing the dashboard (not inside an application). \n\nFor instance, for Flex:\n```bash\nledgerctl install -f target/flex/release/app_flex.json\n```\n\n## Continuous Integration\nThe following workflows are executed in [GitHub Actions](https://github.com/features/actions) :\n\n* Ledger guidelines enforcer which verifies that an app is compliant with Ledger guidelines. The successful completion of this reusable workflow is a mandatory step for an app to be available on the Ledger application store. More information on the guidelines can be found in the repository [ledger-app-workflow](https://github.com/LedgerHQ/ledger-app-workflows)\n* Compilation of the application for all supported devices in the [ledger-app-builder](https://github.com/LedgerHQ/ledger-app-builder) docker image\n* End-to-end tests with the [Speculos](https://github.com/LedgerHQ/speculos) emulator and [ragger](https://github.com/LedgerHQ/ragger) (see [tests/](tests/))\n* Various lint checks :\n  * Source code lint checks with `cargo fmt`\n  * Python functional test code lint checks with `pylint` and `mypy`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightsail-network%2Fapp-stellar-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightsail-network%2Fapp-stellar-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightsail-network%2Fapp-stellar-rust/lists"}