This project is a collection of specifications for SDKs for Aptos. The main purposes of this project are:
- Define a common set of features for SDKs
- Provide a common set of tests for SDKs
- Increase consistency across SDKs
- Increase speed of feature development for SDKs
We are using Cucumber for Behavioral testing across multiple languages.
It uses Gherkin as the language for specification.
The project is broken down into the following sections:
- Required Features - These features are required to have a minimally working SDK for most use cases.
- Preferred Features - These features are required to have a fully featured SDK including all main features.
- Optional Features - These features are optional, and mostly provide quality of life improvements.
Do you have an SDK that you maintain? Please feel free to open a PR, and add your specification support here!
Note: This is currently in progress, and does not have all features specified.
Status | Emoji | Details |
---|---|---|
Supported | ✅ | Currently supported and passing specifications |
Supported, not specified | Currently supported, no specification yet | |
Limited support | 🔺 | Supported, but not fully featured |
Not Supported | ❌ | Currently not supported |
Unknown | ❓ | Unknown if SDK supports this feature |
Feature | TypeScript | Go | Python | Rust | Unity | C++ | Kaptos(Kotlin) | Alcove(Swift) |
---|---|---|---|---|---|---|---|---|
BCS Encoding | ✅ | ✅ | ✅ | ❓ | ||||
BCS Decoding | ✅ | ✅ | ✅ | ❓ | ||||
Account Address Parsing | ✅ | |||||||
Ed25519 | ||||||||
Secp256k1 | ❓ | ❓ | ❓ |