Skip to content

t-nelson/ledger-app-solana

 
 

Repository files navigation

Build Status

Solana app for Ledger Wallet

Overview

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)

Prerequisites

Install Vagrant and VirtualBox.

Clone this git repo recursively, such that it includes the BOLOS SDK in a submodule:

$ git clone --recursive [email protected]:solana-labs/ledger-app-solana.git
cd ledger-app-solana

Creating the development environment

To start the Ubuntu 18.04 VM:

$ vagrant up

To enter the VM:

$ vagrant ssh

Alternative Setup, For those not using Vagrant

To build and install the app on your Ledger Nano S you must set up the Ledger Nano S build environments. Please follow the Getting Started instructions at here.

If you don't want to setup a global environnment, you can also setup one just for this app by sourcing prepare-devenv.sh with the right target (s or x).

install prerequisite and switch to a Nano X dev-env:

sudo apt install python3-venv python3-dev libudev-dev libusb-1.0-0-dev

# (x or s, depending on your device)
source prepare-devenv.sh x

Building and installing

Compile:

make

Refresh the repo (required after Makefile edits):

make clean

To load the app onto the device, from the host machine:

make -f host.mk load

Remove the app from the device:

make -f host.mk delete

Example of Ledger wallet functionality

cd tests
cargo run

Documentation

This follows the specification available in the api.md. In this project we'll create a Linux virtual machine capable of cross-compiling the Ledger Wallet boilerplate application and then loading it onto Ledger Nano S.

About

Solana app for Ledger Wallet

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 79.3%
  • Rust 13.3%
  • C++ 4.7%
  • Makefile 1.4%
  • Other 1.3%