tkhq/rust-sdk
GitHub: tkhq/rust-sdk
一个 Rust 语言的工具集,用于安全地与 Turnkey API 进行交互,解决 API 集成和加密通信的需求。
Stars: 32 | Forks: 23
# Turnkey Rust SDK [![构建状态]][actions]
本仓库包含用于通过 Rust 与 Turnkey API 交互的工具集,并组织为一系列 Rust crate。
| Crate | 描述 | crates.io | 文档 | 变更日志 | 源码 |
| ----- | ---- | --------- | ---- | -------- | ---- |
| `turnkey_api_key_stamper` | 用于使用 Turnkey API 密钥的实用工具 | [](https://crates.io/crates/turnkey_api_key_stamper) | [](https://docs.rs/turnkey_api_key_stamper) | [变更日志](./api_key_stamper/CHANGELOG.md) | [`api_key_stamper`](./api_key_stamper/) |
| `turnkey_client` | 用于与 Turnkey API 交互的 Rust 客户端 | [](https://crates.io/crates/turnkey_client) | [](https://docs.rs/turnkey_client) | [变更日志](./client/CHANGELOG.md) | [`client`](./client/) |
| `turnkey_enclave_encrypt` | 用于从 Turnkey 安全飞地解密数据和向其加密数据的实用工具 | [](https://crates.io/crates/turnkey_enclave_encrypt) | [](https://docs.rs/turnkey_enclave_encrypt) | [变更日志](./enclave_encrypt/CHANGELOG.md) | [`enclave_encrypt`](./enclave_encrypt/) |
| `turnkey_proofs` | 用于验证 Turnkey 安全飞地证明的实用工具 | [](https://crates.io/crates/turnkey_proofs) | [](https://docs.rs/turnkey_proofs) | [变更日志](./proofs/CHANGELOG.md) | [`proofs`](./proofs/) |
| `tvc` | 用于 Turnkey Verifiable Cloud 的命令行界面 | [](https://crates.io/crates/tvc) | [](https://docs.rs/tvc) | [变更日志](./tvc/CHANGELOG.md) | [`tvc`](./tvc/) |
## 示例
有关完整可运行的代码示例,请参见我们的 [`示例文件夹`](./examples/README.md)。
## 开发
本项目使用 `make` 来封装常见任务:
* `make lint` 将运行 rust fmt 和 clippy
* `make test` 运行单元测试
* `make examples` 运行[示例](./examples/)(需要一个本地的 `.env` 文件,请参见[说明](./examples/README.md))
* `make generate` 从 [`proto`](./proto/) 文件夹重新生成 `client::generated`。代码生成逻辑位于 [`codegen`](./codegen/) 中。
## 发布
本项目使用 [`release-plz`](https://github.com/release-plz/release-plz)。请使用以下命令安装它:
```
cargo install --locked release-plz
```
安装后,您可以在本地尝试一次发布,以查看发布 PR 将会是什么样子:
```
release-plz update
```
### 发布流程
当 PR 合并到 main 分支时,如果尚不存在发布 PR,release-plz 会自动打开一个;如果已存在,则会更新它。
该 PR 由 release-plz 机器人打开并标记为 `release`。需要由**人工**仔细检查此 PR,并在必要时手动将任何修复推送到发布 PR(通常是:对 CHANGELOGs 进行美化修改)。
一旦 PR 被合并,release-plz `release` 工作流将被触发,并且 crate 会自动发布。
**请勿**在标准 PR 中手动升级 crate,让 release-plz 为您处理此事!
### 手动重新触发发布
如果在发布过程中出现问题并且您想重试,您可以打开一个标记为 `release` 且分支名为 `release-plz-****` 的 PR,以再次启动发布工作流(`release` 标签是触发工作流所必需的,而分支名前缀是 release-plz 用来确定该 PR 是否为发布 PR 的方式 -- 参见[此处](https://release-plz.dev/docs/config#the-release_always-field))。
标签:API客户端, API集成, CLI, Rust, Rust SDK, SOC Prime, Turnkey API, WiFi技术, 云服务, 加密技术, 可观测性, 可视化界面, 安全飞地, 开发工具, 数据加密, 网络流量审计, 证明验证, 通知系统