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.