Skip to content

Testing Milestone 3

Isaac Adams edited this page Apr 4, 2022 · 8 revisions

Verifying Features

First, run Fennel Protocol as a dev node:

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

Then, within the fennel-server repo, run:

$ cargo run

In the fennel-cli repo, run

$ cargo run

to produce a readout of available commands.

Create Identity via Fennel Protocol API & Save to Fennel Server Database

The CLI supports account creation. When executing the create-identity command, a Fennel Server Packet is generated and passed to the Fennel Protocol API, and creates a new identity. Upon return of the event, the CLI then inserts the returned index into the Fennel Server database, and associates the index with the account which created the identity.

Whiteflag Minimum Implementation

The specification document for the Whiteflag Protocol V1 is outlined here and a full implementation of version 1 exists in java here. For milestone 3, the goal was to deliver the minimum implementation of the Whiteflag Protocol V1 in rust. According to section 2.5 in the specification document, there are two components necessary for a minimum implementation:

  • the A message with at least one authentication option;
  • the possibility to Recall, Update and Discontinue (Reference Codes 1, 2 and 4) any implemented sign or signal, if such Reference Type is valid i.a.w. Reference options.

Authentication Message

Whiteflag is a message based system with different kinds of messages and each kind of message has its own fields. The authentication message is a kind of message and its fields are outlined in section 4.3.4.1 of the specification document.

Authentication messages are used in whiteflag to establish a reference to the identity of the user. For every session, the creation of an authentication message is the first message a user must send in order to interact with whiteflag. The discontinue authentication message is the last message a user sends to signal the end of that interaction.

In the fennel-lib repository, underneath src\whiteflag\wf_core\message_tests.rs, there are two authentication message tests: encode_auth_message() and decode_auth_message(). These tests demonstrate a successful implementation of a whiteflag authentication message that uses the authentication option, which is the VerificationMethod field, of code 1 (section 4.3.4.2 of specification document).

Reference Codes 1, 2, and 4

Clone this wiki locally