https://github.com/trevarj/ledger-ethereum-rs
A library to communicate with the Ledger Ethereum app
https://github.com/trevarj/ledger-ethereum-rs
cryptocurrency ethereum ledger-rs ledger-wallet ledgerhq rust
Last synced: 2 months ago
JSON representation
A library to communicate with the Ledger Ethereum app
- Host: GitHub
- URL: https://github.com/trevarj/ledger-ethereum-rs
- Owner: trevarj
- License: mit
- Created: 2023-02-19T18:40:02.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-16T19:11:55.000Z (about 2 years ago)
- Last Synced: 2025-02-17T20:40:06.325Z (4 months ago)
- Topics: cryptocurrency, ethereum, ledger-rs, ledger-wallet, ledgerhq, rust
- Language: Rust
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rust client for Ledger Ethereum App
This crate provides a basic Rust client library to communicate with the Ethereum App running on a Ledger Nano S/X device.
## Supported Instructions
- [x] Get Public Key
- [x] Sign Transaction
- [x] Get App Configuration
- [ ] Sign Personal Message
- [x] Provide Erc20 Token Information
- [ ] Sign Eip 712 Message
- [ ] Get Eth2 Public Key
- [ ] Set Eth2 Withdrawal Index
- [ ] Set External Plugin
- [ ] Provide Nft Information
- [ ] Set Plugin
- [ ] Perform Privacy Operation
- [ ] Eip712 Struct Def
- [ ] Eip712 Struct Impl
- [ ] Eip712 Filtering## Testing
### Building app-ethereum
https://github.com/LedgerHQ/ledger-app-builder
```
git clone https://github.com/LedgerHQ/app-ethereum/
cd app-ethereum/
docker run --rm -ti -v "$(realpath .):/app" ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-lite:latest
# inside docker env
make clean && make -j DEBUG=1 CHAIN=goerli NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK && mv bin/app.elf tests/speculos/elfs/nanox_goerli.elf
```### Starting Speculos
After installing app-ethereum requirements, you can run speculos with the following:
```
cd app-ethereum/tests/speculos
speculos --display headless ./elfs/nanox_goerli.elf --seed "6f0cd08f62d99e62ebb1e15f46df842c02380fd9f2abf987f0b5463adae25caeb564583bd413c9b7cbf0391808308332251e47696dd13688dc96b9edbccd981b"```
Now you are ready to run the integration tests