Ockam protocols can be implemented in various languages. Our current focus is Rust and
Elixir but over time we will support many languages.
Below is the maturity status of various Ockam features in Rust and Elixir.
Implementation |
Feature |
Maturity |
Description |
Rust |
Node - Standard |
|
Run workers |
Rust |
Node - No Standard |
|
Run workers in embedded environments |
Rust |
Workers |
|
Concurrent actors with addresses |
Rust |
Routing |
|
Multi-hop application layer routing |
Rust |
Transports |
|
Pluggable transports |
Rust |
Transport - TCP |
|
Add-on for Ockam routing over TCP |
Rust |
Secure Channels |
|
Encrypted channels over Ockam routing |
Rust |
Key Agreement - XX |
|
A mutually authenticated key agreement |
Rust |
Key Agreement - X3DH |
|
An asynchronous key agreement |
Rust |
Vaults |
|
Pluggable cryptographic hardware |
Rust |
Vault - Software |
|
Add-on for a pure software vault |
Rust |
Vault - ATECC608 |
|
Add-on for a Microchip ATECC608 vault |
Rust |
Entities |
|
Simple API and encapsulation |
Rust |
Profiles |
|
Identity profiles for entities |
Rust |
Credentials |
|
Credentials with selective disclosure |
Rust |
Credentials - BBS+ |
|
BBS+ signatures for Credentials |
Rust |
Credentials - PS |
|
PS signatures for Credentials |
Elixir |
Node |
|
Run workers |
Elixir |
Workers |
|
Concurrent actors with addresses |
Elixir |
Routing |
|
Multi-hop application layer routing |
Elixir |
Transports |
|
Pluggable transports |
Elixir |
Transport - TCP |
|
Add-on for Ockam routing over TCP |
Elixir |
Secure Channels |
|
Encrypted channels over Ockam routing |
Elixir |
Key Agreement - XX |
|
A mutually authenticated key agreement |
Elixir |
Key Agreement - X3DH |
|
An asynchronous key agreement |
Elixir |
Vaults |
|
Pluggable cryptographic hardware |
Elixir |
Vault - Software |
|
Add-on for a pure software vault |
Elixir |
Entities |
|
Simple API and encapsulation |
Elixir |
Profiles |
|
Identity profiles for entities |
Elixir |
Credentials |
|
Credentials with selective disclosure |
Elixir |
Credentials - BBS+ |
|
BBS+ signatures for Credentials |
Elixir |
Credentials - PS |
|
PS signatures for Credentials |