Onboarding (Intel)
Registering an Intel server on the DeTEE network will allow you to collect rewards by running Apps for the DeTEE users. In order to register, the server must fulfill a few simple requirements:
- The CPU must support SGX 2
- The node must be accessible under a public IPv4 address
- The OS should be Ubuntu 22.04 (if you test other distros, please let us know)
- Docker must be runnig (easy installation:
curl https://get.docker.com/ | sh
)
DeTEE CLI
You will need the DeTEE CLI to create your operator wallet. The wallet is required to receive rewards.
The server has a key, but that is used only for authentication, and not to receive rewards.
Enabling SGX
You can check if SGX is enabled by running the command cpuid | grep -i sgx
. If it is not, check if the server supports SGX and try to enable SGX in the BIOS.
(optional) try the Hacker Challenge
You can test if SGX is running properly by trying out the Hacker Challenge. Note that the Hacker Challenge also needs symbolic links for the SGX devices:
# These command must run as root
mkdir -p /dev/sgx
ln -sf ../sgx_enclave /dev/sgx/enclave
ln -sf ../sgx_provision /dev/sgx/provision
DeTEE SGX Daemon
TL/DR: To download the installation script, run:
wget https://registry.detee.ltd/sgx/daemon/install_daemon.sh
The script will guide you through the rest of the steps, that are also detailed below.
The actual script:
#!/bin/bash
set -e
if ! lscpu | grep -qi "sgx"; then
echo "SGX is not enabled. Please enable it in the BIOS."
exit 1
fi
if ! command -v docker &> /dev/null; then
echo "Error: Docker is not installed."
echo "Please install Docker by following the instructions at https://docs.docker.com/get-docker/"
exit 1
fi
echo "Creating folders..."
mkdir -p /usr/local/bin/detee/
mkdir -p /etc/detee/app_daemon/
echo "Downloading detee-sgx-daemon, systemd unit file and config..."
wget -q --show-progress -O /usr/local/bin/detee-sgx-daemon https://registry.detee.ltd/sgx/daemon/detee-sgx-daemon
wget -q --show-progress -O /etc/systemd/system/detee-sgx-daemon.service https://registry.detee.ltd/sgx/daemon/detee-sgx-daemon.service
wget -q --show-progress -O /etc/detee/app_daemon/sample_config.yaml https://registry.detee.ltd/sgx/daemon/sample_config.yaml
chmod +x /usr/local/bin/detee-sgx-daemon
wget -O /etc/detee/root_ca.pem https://registry.detee.ltd/root_ca.pem
echo "Take a look at /etc/detee/app_daemon/sample_config.yaml"
echo "Modify config based on your setup and save it to /etc/detee/app_daemon/config.yaml"
echo "Press enter when done (this will attempt to start the daemon)"
read my_var
echo "Starting detee-sgx-daemon..."
systemctl daemon-reload
systemctl start detee-sgx-daemon.service
You can also copy-paste this to your server and run it. The script pulls the daemon, the systemd unit file and the config.
DeTEE SGX Daemon Config
You will need to configure the daemon by modifying /etc/detee/app_daemon/sample_config.yaml
and save it as config.yaml
.
The sample configuration offers by default 16 vCPUs, 16 GB of Memory and 200GB of storage.
Modify these values depending on how many resources you want to rent to the network.
Here is a sample configuration that includes public IPv4 and IPv6 IPs:
# Get the CLI from https://hub.docker.com/r/detee/detee-cli
# And use `detee-cli account` to find your operator wallet
operator_wallet: "7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB"
network: "testnet"
# overwrite IP address for apps
# host_ip_address: 212.95.45.139
max_cores_per_app: 4
max_memory_mb_per_app: 4000
max_vcpu_reservation: 16
max_mem_reservation_mb: 16000
max_disk_reservation_mb: 200000
max_ports_per_app: 9
# This is the multiplier we recommend during the testnet phase
price: 20000
# delete enclave archive after launching (for debuging)
delete_archive: true
public_port_range:
start: 30000
end: 50000
Easy way to get free LP
- tell your friends about DeTEE
- convince them to write about us on social media so that they get an airdrop
- ask them to use their airdrop to create a VM on your server