35 个稳定版本
新 1.15.0 | 2024年8月23日 |
---|---|
1.13.1 | 2024年7月31日 |
1.8.0 | 2024年3月26日 |
1.4.1 | 2023年12月20日 |
1.0.1 | 2023年11月24日 |
#159 in 魔法豆
每月2,220次下载
用于 ledger_device_ui_sdk
435KB
9K SLoC
为 Rust 应用程序提供的 Ledger 钱包 SDK
允许使用默认配置在 Rust 中开发 Ledger 设备应用程序的库。
包含
- 一些常见的系统调用安全包装
- IO 抽象
- 签名抽象
- UI 库(Nano (S/SP/X) 应用程序的
ui
模块,Stax 和 Flex 应用程序的nbgl
模块)
链接
要了解更多关于使用 SDK 以及在 Ledger Live 应用程序商店发布应用程序所需的内容,请随时查看以下资源
- 📚 开发者文档
- 🗣️ Ledger 的 Discord 服务器
- 📦 功能齐全的模板应用程序
- 📦 密码管理器应用程序
支持的设备
Nano S | Nano X | Nano S Plus | Stax | Flex |
---|---|---|---|---|
✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
使用
构建需要将 rust-src
添加到您的 Rust 安装中,以及 Clang 和 arm-none-eabi-gcc。在 Ubuntu 上,可能还需要 gcc-multilib
。
使用rustc夜间构建是强制性的,因为需要一些不稳定的功能。
rustup默认夜间
rustup组件添加 rust-src
- 安装Clang。
- 安装一个ARM gcc工具链
如果您想使用您发行版的软件包安装ARM gcc工具链,以下命令应该可以工作
# On Debian and Ubuntu
sudo apt install clang gcc-arm-none-eabi gcc-multilib
# On Fedora or Red Hat Entreprise Linux
sudo dnf install clang arm-none-eabi-gcc arm-none-eabi-newlib
# On ArchLinux
sudo pacman -S clang arm-none-eabi-gcc arm-none-eabi-newlib
此SDK提供了自定义目标文件。每个支持的设备一个。
为Nano S构建
cargo build --release -Z build-std=core --target=./nanos.json
为Nano X构建
cargo build --release -Z build-std=core --target=./nanox.json
为Nano S+构建
cargo build --release -Z build-std=core --target=./nanosplus.json
为Stax构建
cargo build --release -Z build-std=core --target=./stax.json
为Flex构建
cargo build --release -Z build-std=core --target=./flex.json
使用rustc < 1.54构建
在rustc 1.54之前构建应该会失败,并显示以下错误:error[E0635]: 未知功能 const_fn_trait_bound
。
这可以通过激活一个特定的功能来解决:cargo build --features pre1_54
贡献
如果您想做出贡献,可以提交一个问题或甚至是拉取请求,我们将检查我们能做什么。
确保您已按照上述安装步骤进行。为了您的PR被接受,它必须通过CI,CI将执行以下检查
- 检查代码是否在夜间构建
- 检查
clippy
没有发出任何警告 - 检查您的代码是否符合
rustfmt
的格式(使用cargo fmt
)
依赖项
~5–7.5MB
~116K SLoC