One of the interesting side effects of the number of developers coming into the blockchain space is that as more engineers come to understand & play with cryptographic tools, they are more likely to come up with solutions to new user experience issues by creatively applying these cryptographic primitives. At AirSwap we wanted to enable conversational, messaged-based trading for users, and support dependable message delivery, without compromising their privacy. Since we knew that all dApp users have access to a persisted public-private key-pair through their wallet, we built a system that allowed them to derive secondary PGP keys which were deterministically tied to their address, and allowed for encryption & decryption of messages, and also signatures and signature verifications (more detail here:

In this workshop, I’ll help participants walk through the creation of their KeySpace key pairs using their Ethereum wallet of choice (Trust, Coinbase Wallet, Ledger, Trezor, etc) via the functionality provided in the AirSwap.js library ( Afterwards they will be able to validate identities in decentralized messaging systems, encrypt & decrypt messages sent over IPFS (via OrbitDB), and build the foundation for permissioned, off-chain applications.

Participants will need a laptop, understanding of git, and basic javascript development skills (installing from NPM, writing code in an IDE of choice).