Build the server from source
If you're building the client because you want to change it, you should first go to the setting up your dev environment guide and then build without docker.
Make sure to set up a dev environment to easily install the build dependencies.
Before building the project, some dependencies and service must be up and running, and the hardware requirements must be installed (hardware-requirements).
The installation of the Intel SDK can be found by following this link.
The fortanix EDP dependencies must also be installed. You can check the official fortanix documentation here.
The SGX configuration and services can be viewed using the command :
Before running the BlindAi project, some other packages must be installed:
You will need the SGX Default Quote Provider Library as well. This can be installed with this command:
sudo apt-get install -y software-properties-common curl -fsSL https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add - sudo add-apt-repository "deb https://download.01.org/intel-sgx/sgx_repo/ubuntu $(lsb_release -cs) main" sudo apt-get install -y libsgx-dcap-ql-dev libsgx-dcap-default-qpl-dev libsgx-uae-service libsgx-dcap-default-qpl
We can clone the BlindAi repo on Github then build the server using the following steps:
Make sure to have the DCs v3 quote provision library:
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04/prod sudo apt-get update sudo apt-get install az-dcap-client ln -s /usr/lib/libdcap_quoteprov.so /usr/lib/x86_64-linux-gnu/libdcap_quoteprov.so.1
The manifest will be generated at the build process and will serve as essential to the remote attestation process:
manifest.toml: the enclave security manifest that defines which enclave is trusted.
More informations about them on this page and in the remote attestation implementation.
Once you are sure to have everything ready, you can run BlindAI.
If you have trouble building and installing from source, don't hesitate to open an issue on our github.