Exercises
The
examples/rust/exercises of
the Wasefire repository contains exercises to implement an applet that behaves like a security key
over UART.
The part-<n> directories contain the successive parts towards the final applet. You will need to
modify those applets by fixing the different TODO comments. The exercise description is at the top
of the src/lib.rs file.
The part-<n>-sol directories contain the solution for each part. You don’t need to modify those
applets. You can look at them for hints while working part-<n>.
The client directory contains a binary to communicate with the applet. You don’t need to modify
this binary. You can build it with cargo run --release from the client directory, then execute
it from the host platform directory with $WASEFIRE_REPO/target/release/client. You can also copy
the executable to the host platform directory and use ./client. You need to run it from the host
platform directory because it assumes the UART socket to be at wasefire/host/uart0 (which is the
default for the host platform).
The interface directory contains a library defining the interface between the applet and the
client. You don’t need to modify this library but you need to read its documentation. You will use
it from the applet.