Skip to main content

Deploying an enclave image

Host the image where it can be publicly downloaded

Upload the enclave.eif to a hosting service of your choice (like GitHub Releases, Google Drive, or IPFS) and make it publicly accessible.

Test whether the file has been correctly hosted and is publicly accessible by running:

wget <eif url>

If the above command can successfully download the enclave image, you can proceed to the next step.

Visit the Marlin Hub and Connect your wallet

In Marlin Hub, navigate to the Infrastructure Providers page and select a chain of your choice in the dropdown in the top right.

Click on "Connect Wallet" to connect your wallet. The address used needs native tokens (like ETH) to pay gas fees and USDC to pay for the job.

caution

Oyster uses native USDC on Arbitrum One. If you have bridged USDC (also known as USDC.e), you need to swap it on a DEX to the native version.

Create a job

In the Infrastructure Providers page, you will see a table filled with operators and the compute resources they offer.

Once you find an operator with the required resources, click on "Deploy" to go to the next step.

The page should look something like this:

Marketplace

Configure deploy image settings

As we're deploying using a custom Enclave Image File (EIF), in the "Image Config" step, select the Custom Image URL option:

Image Config 1

In the configuration details add:

  • link to your Enclave Image File from This step.
  • Select Salmon in the Enclave Family.
  • Duration of Deployment (affects cost).
  • Bandwidth - average bandwidth needed for the enclave, this will compute the bandwidth cost field.

You can also check the Cost Breakdown on this page:

Image Config 2

Once you've filled in the details, click on Init Params to go to the next step.

Add Initialization Parameters

This is an optional step. If your application requires Init Params, add them in this step.

Init Params

Review and Deploy

Review each step by clicking on them and mark them as viewed, as these configurations can't be changed later.

After reviewing, click Approve to grant Marlin Hub permission to withdraw tokens equal to the estimated total cost.

Review Deployment

Once approved, click on Deploy to make the transaction and initiate deployment.

Wait for 3 minutes to obtain the IP of the enclave.

Successful deployment should look something like this:

Deploy Completed

Attestation Verification using UI

You can also verify the enclave's attestation using the UI by clicking on the Verify Attestation button:

Attestation Verification