This repository contains tooling to interact with the Turnkey API using Rust, and is organized as a collection of Rust crates.
Crate | Description | crates.io | Docs | Changelog | Source |
---|---|---|---|---|---|
turnkey_api_key_stamper |
Utilities to use Turnkey API keys | CHANGELOG | api_key_stamper |
||
turnkey_client |
Rust client to interact with the Turnkey API | CHANGELOG | client |
||
turnkey_enclave_encrypt |
Utilities to decrypt and encrypt data from and to Turnkey secure enclaves | CHANGELOG | enclave_encrypt |
||
turnkey_proofs |
Utilities to verify Turnkey secure enclave proofs | CHANGELOG | proofs |
For fully working code examples, see our examples folder
.
This project uses make
to encapsulate common tasks:
make lint
will run rust fmt and clippymake test
runs the unit testsmake examples
runs the examples (requires a local.env
file, see instructions)make generate
re-generatesclient::generated
from theproto
folder. Code generation logic lives incodegen
This project uses cargo-release
. Install it with:
cargo install cargo-release
There is another Rust client available, maintained by @Eliascm17: Eliascm17/turnkey. This client offers some structure around API requests/responses on top of bare request signing.
If you are working on a project in Rust and would benefit from improvements to this SDK, please open an issue or get in touch with us ([email protected]) and we can discuss prioritizing this.