Skip to main content

Preliminaries

In this tutorial, you will learn how to perform privacy-preserving addition inside an enclave. This includes how to:

  • Create project components
  • Build and publish the Docker image
  • Deploy the image on the Marlin Oyster CVM
  • Verify the integrity of the enclave and interact with the server inside it

This tutorial assumes Ubuntu 20.04+. If you have an older Ubuntu or a different distro, commands might need modification before use.

Oyster CVM CLI

Install the oyster-cvm CLI tool by following the setup guide.

Install Docker

Docker is required for building enclave images.

Install Docker following the official guide.

# Verify installation
docker --version

Install Rust

Install Rust from the official website.

After installation, load the Rust environment:

source "$HOME/.cargo/env"

Verify the installation by running:

cargo --version

Install build dependencies

Install the required system packages for compiling Rust crates with C dependencies and building for the musl target:

sudo apt-get install clang pkg-config libssl-dev make musl-tools

Set up a wallet

Oyster is a production-grade decentralized network with third-party operators and requires payments to access services (similar to gas payments on a blockchain).

Set up an Ethereum wallet where you can export the private key. Deposit 0.001 ETH and 1 USDC to the wallet on the Arbitrum One network.