In the previous section, we got a general overview of the application flow when you’re building peaps. Now it’s time to understand a bit about how to structure your peap by choosing a Nym client.
A large proportion of the Nym mixnet’s functionality is implemented client-side, including:
In the next few sections we will discuss how to integrate Nym clients into your peaps.
At present, there are two Nym clients:
You need to choose which one you want incorporate into your peap. Which one you use will depend largely on your preferred programming style and the purpose of your peap.
Your first option is the native client. This is a compiled program that can run on Linux, Mac OS X, and Windows machines. It runs as a persistent process on a desktop or server machine. You can connect to the native client from any language that supports websockets.
This is useful for allowing existing applications to use the Nym mixnet without any code changes. All that’s necessary is that they can use the SOCKS5 proxy protocol (which many applications can - crypto wallets, browsers, chat applications etc). It’s less flexible as a way of writing custom applications than the other clients.
All Nym client packages present basically the same capabilities to the privacy application developer. They need to run as a persistent process in order to stay connected and ready to receive any incoming messages from their gateway nodes. They register and authenticate to gateways, and encrypt Sphinx packets, according to the Nym Gateway Protocol (NGP).