BlindAI Project Structure
Let us introduce you to the project directory structure for BlindAI.
Below, we outline all the folders in the root directory and some key sub folders to be aware of.
client
: Home of our BlindAI client Python library/ PyPi packageblindai
: Source files for the BlindAI client librarydev-container-azure
: Configuration files for our Azure dev container (our recommended environment for contributing on an Azure VM)docs
: Home of all things related to documentationdocs
: Contains all our documentation files within relevant subdirectories
src
: Source files for the BlindAI inference serverrunner
: The modified runner enclave, used to launch the enclave code. It also contains the operations done during remote attestationremote_attestation_sgx
: DCAP's quote generation & quote verification collateral library
tests
: End-to-end tests
We also have the following submodules which are libraries used by our server that we have patched, largely for compatibility with the limited range of allowed operations when using Intel SGX:
ring-fortanix
rouille
tract
tar-rs-sgx
tiny-http
These submodules are used for the x86_64-fortanix-unknown-sgx
target which compiles all the libraries we will have access to within the enclave.