This app adds support for the Solana native token to Ledger Nano S hardware wallet.
Current Features:
- Pubkey queries
- Parse, display and sign all Solana CLI generated transaction formats
- Blind sign arbitrary transactions (Enabled via settings)
- Install Docker
- For Linux hosts, install the Ledger Nano udev rules
- Pull Ledger Development Tools image
$ docker pull ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
Build the app in the container. The BOLOS_SDK variable is used to specify the target SDK, allowing to compile the application for each Ledger device. See Ledger Application Builder for more details.
# E.g. for Nano S
$ sudo docker run --rm -ti -v "$(realpath .):/app" --user $(id -u $USER):$(id -g $USER) ghcr.io/ledgerhq/ledger-app-builder//ledger-app-dev-tools:latest
bash$ BOLOS_SDK=$NANOS_SDK make
Within the running development container
bash$ BOLOS_SDK=$NANOS_SDK make clean
See Ledger Application Builder for more details.
$ sudo docker run --rm -ti -v "$(realpath .):/app" --privileged -v "/dev/bus/usb:/dev/bus/usb" --user $(id -u $USER):$(id -g $USER) ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
bash$ BOLOS_SDK=$NANOS_SDK make load
Within the running development container
bash$ BOLOS_SDK=$NANOS_SDK make delete
Run C tests:
bash$ make -C libsol
Make sure that you have already built the application for the specific device.
Run Ragger tests:
# Install python test suite dependencies
bash$ pip install -r "tests/python/requirements.txt"
# Run test suite for the specific device, e.g. nanos
bash$ pytest tests/python/ --tb=short -v --device nanos -k ""
To regenerate golden snapshots, use --golden_run
option.
First enable blind-signing
in the App settings
bash$ cargo run --manifest-path tests/Cargo.toml