Skip to main content

Quickstart

Deploy and verify your first CVM in minutes!

Install oyster-cvm

# for linux, amd64
sudo wget https://artifacts.marlin.org/oyster/binaries/oyster-cvm_latest_linux_amd64 -O /usr/local/bin/oyster-cvm && sudo chmod +x /usr/local/bin/oyster-cvm

# for linux, arm64
sudo wget https://artifacts.marlin.org/oyster/binaries/oyster-cvm_latest_linux_arm64 -O /usr/local/bin/oyster-cvm && sudo chmod +x /usr/local/bin/oyster-cvm

# for darwin, arm64 (M series Macs)
sudo wget https://artifacts.marlin.org/oyster/binaries/oyster-cvm_latest_darwin_arm64 -O /usr/local/bin/oyster-cvm && sudo chmod +x /usr/local/bin/oyster-cvm

Define the applications

# Create a docker compose file, replace with your own applications as needed
cat > docker-compose.yml <<EOF
services:
echo-server:
image: marlinorg/oyster-cvm-tutorials-echo-server:latest
init: true
network_mode: host
restart: unless-stopped
EOF

Deploy on Oyster

# Deploy, wallet needs 1 USDC and 0.001 ETH on Arbitrum One
oyster-cvm deploy --wallet-private-key <key> --duration-in-minutes 15 --docker-compose docker-compose.yml

# Note the enclave IP
# Note the computed image id

Verify remote attestation

oyster-cvm verify --enclave-ip <ip> --image-id <image_id>

Next steps

The above quickstart is very brief to give you a taste of how easy it is to deploy on Oyster. If any of the steps are confusing or you want to further explore what Oyster CVMs have to offer, check out the tutorials: