βš™οΈInstallation

Setup SGX:

wget https://download.01.org/intel-sgx/sgx-linux/2.22/distro/ubuntu22.04-server/sgx_linux_x64_driver_2.11.54c9c4c.bin 
chmod +x sgx_linux_x64_driver_2.11.54c9c4c.bin
sudo ./sgx_linux_x64_driver_2.11.54c9c4c.bin

Install Intel AESM service:

echo "deb https://download.01.org/intel-sgx/sgx_repo/ubuntu $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/intel-sgx.list >/dev/null
curl -sSL "https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key" | sudo -E apt-key add -
sudo apt update
sudo apt install sgx-aesm-service libsgx-aesm-launch-plugin libsgx-aesm-epid-plugin

Install all required libraries:

echo "deb https://download.01.org/intel-sgx/sgx_repo/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/intel-sgx.list >/dev/null
curl -sSL "https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key" | sudo -E apt-key add -
sudo apt update
sudo apt install libsgx-launch libsgx-urts libsgx-epid libsgx-quote-ex sgx-aesm-service libsgx-aesm-launch-plugin libsgx-aesm-epid-plugin libsgx-quote-ex libsgx-dcap-ql libsnappy1v5

Install RUST:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Build & Install SGX tool:

cargo install sgxs-tools
sudo $(which sgx-detect)

Detecting SGX, this may take a minute...
βœ”  SGX instruction set
  βœ”  CPU support
  βœ”  CPU configuration
  βœ”  Enclave attributes
  βœ”  Enclave Page Cache
  SGX features
    βœ”  SGX2  βœ”  EXINFO  βœ”  ENCLV  βœ”  OVERSUB  βœ”  KSS  
    Total EPC size: 92.2MiB
βœ”  Flexible launch control
  βœ”  CPU support
  βœ”  CPU configuration
  βœ”  Able to launch production mode enclave
βœ”  SGX system software
  βœ”  SGX kernel device (/dev/sgx_enclave)
  βœ”  libsgx_enclave_common
  βœ”  AESM service
  βœ”  Able to launch enclaves
    βœ”  Debug mode
    βœ”  Production mode
    βœ”  Production mode (Intel whitelisted)

You're all set to start running SGX programs!

Install dependencies:

Install GO: (amd64 - x86)

Download binary Swisstroni:

Set chain and Name Swisstroni:: Change <Change-Name>

Custom Port: (Option)

Set Pruning: (Option)

Set indexing: (Option)

Download Genesis & addressbook:

Peers:

Create Service:

Download cli v6:

The command above will output a list of accessible commands and flags:

Next

Check sync: (False -> Done)

Create Validator:

Edit Validator:

Last updated