Development status
There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with.
This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet.
It will also be coupled with the documentation of the SDK on crates.io (opens in a new tab).
The SDK is still somewhat a work in progress: interfaces are fairly stable but still may change in subsequent releases.
In the future the SDK will be made up of several modules, each of which will allow developers to interact with different parts of Nym infrastructure.
Module | Functionality | Released |
---|---|---|
Mixnet | Create / load clients & keypairs, subscribe to Mixnet events, send & receive messages | ✔️ |
TcpProxy | Utilise the TcpProxyClient and TcpProxyServer abstractions for streaming | ✔️ |
ClientPool | Create a pool of quickly useable Mixnet clients | ✔️ |
Ecash | Create & verify Ecash credentials | ❌ |
Validator | Sign & broadcast Nyx blockchain transactions, query the blockchain | ❌ |
The Mixnet
module currently exposes the logic of two clients: the websocket client, and the socks client.
The TcpProxy
module exposes functionality to set up client/server instances that expose a localhost TcpSocket to read/write to.
The ClientPool
is a configurable pool of ephemeral clients which can be created as a background process and quickly grabbed.