Skip to content

Testing Milestone 2

Sean Batzel edited this page Feb 24, 2022 · 31 revisions

Verifying Features

First, run Fennel Protocol as a dev node:

$ ./scripts/setup.sh
$ ./scripts/build-run.sh

Extrinsics are available by navigating to Polkadot.js and entering the Developer > Extrinsics menu.

The following represent the features outlined as the deliverables outlined for Milestone 2:

Key Creation

Given key and location, the Key Announcement extrinsic will insert a Storage entry announcing the existence of a Key to the Issued Key's list of keys.

Public Key Transmission

Public Key Retrieval

Public Key Retrieval is implemented as a storage handler around a StorageDoubleMap, mapping accounts to key fingerprints to storage locations. You can find an example of a Rust function to call against this storage endpoint at https://github.com/fennelLabs/fennel-lib/blob/580eb02431774bde4814f0df508b1a6428b7b920/src/fennel/mod.rs#L153.

Encrypted Communication Channel Negotiation

The changes in this milestone include both a library used to integrate key management and encryption negotiation features into Rust-based applications through a new fennel-lib implementation, and a Fennel Protocol pallet used to announce both Diffie-Hellman public keys and RSA public keys to the network.

AES

Fennel is providing support for AES encryption and the generation of AES keys. A light wrapper around openssl implementation of AES is used for both key generation and encryption/decryption.

RSA

lorem ipsum.

Diffie-Hellman

lorem ipsum.

Clone this wiki locally