21 个版本 (10 个破坏性版本)
0.12.0 | 2024年7月27日 |
---|---|
0.10.1 | 2024年2月1日 |
0.9.2 | 2023年12月2日 |
0.9.1 |
|
0.1.0 | 2021年1月4日 |
#997 在 魔法豆
每月下载量 22,779
用于 8 个 crate(直接使用 4 个)
73KB
797 行
coins-ledger
Rust 和 Ledger Nano S/X 设备之间的通信库
构建
目前不支持 Windows。
本地
- 安装依赖项
- macOS
- TODO
- 如果您知道,请提交问题。我没有 macbook :)
- macOS
- 使用本地传输构建
cargobuild
WASM
- 安装 wasm-pack
- 必须通过
--disable-default-features
- 必须选择最多一个
browser
和node
特性 - 使用 node WASM 绑定构建到
@ledgerhq/hw-transport-node-hid
wasm-pack build--作用域 summa-tx--目标 nodejs-- --特性=node--no-default-特性
- 运行环境必须能够导入
@ledgerhq/hw-transport-node-hid
- 使用浏览器 WASM 绑定构建到
@ledgerhq/hw-transport-u2f
wasm-pack build--作用域 summa-tx--目标 bundler-- --特性=browser--no-default-特性
- 运行环境必须能够导入
@ledgerhq/hw-transport-u2f
特性
node
和 browser
功能是互斥的。您必须指定其中一个,以及 --no-default-features
标志。
当为非 wasm 架构构建时,会编译本机 HID 传输。当通过 wasm-pack
构建 wasm 时,您必须指定您想要 node 还是 browser wasm 传输。
测试
- 运行单元测试
$cargo test ----lib
- 运行集成测试
- 连接 Ledger Nano S 或 X 设备
- 解锁设备
- 在设备上打开以太坊应用
- 如果您没有应用,请安装 Ledger Live 并按照这些说明
$cargo test
许可证说明
此存储库是从Zondax 的存储库在提交 7d40af96
处分叉的。他们的代码在此以 Apache 2 许可证条款复制。包含他们代码的文件在文件底部保留其原始 Apache 2 许可证说明。
Summa 的进一步工作可在 GNU LGPLv3 许可证下获得。
以下更改如下
- 删除 bip44 软件包
- 对所有其他软件包进行重大重构
- 将软件包移动到单个软件包的模块
- 重构 APDUErrorCodes
- 重构 APDUCommand 以朝向 no_std 支持。它们现在持有 &'a [u8] 而不是向量
- 重构 APDUAnswer 以朝向 no_std 支持并避免不必要的复制。现在它是一个围绕 &[u8] 的薄包装器
- 将交换函数更改为接受可变缓冲区。调用者必须为响应包分配空间
wasm_bindgen
用于 JS ledger 传输的绑定- 基于传输类型的条件编译抽象
- 如果不是 wasm32,则使用本机 HID
- 如果为 wasm32,则使用浏览器或 node 功能标志
- 分离集成测试
- 删除打印日志
依赖关系
~0.4–4MB
~76K SLoC