Skip to content

Latest commit

 

History

History
 
 

samples

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Edgeless RT samples

These samples show how to write a new application or port an existing one to Edgeless RT.

  • helloworld is a minimal example of an enclave application written in C.
  • stdc++ shows how to link against stdc++ so that you can use (most of) the C++17 STL and link against libraries that use stdc++.
  • go is a minimal example of an enclave application written in Go.
  • go_ra shows how to do remote attestation of a Go enclave.
  • vault demonstrates how to port a Go application exemplified by Hashicorp Vault.
  • rust is a minimal example of an enclave application written in Rust.

erthost

erthost is a tool that is used to run enclaves. The samples show how to use it.

During development, link your enclave against ertdeventry. Then erthost will transparently forward all commandline arguments and environment variables to the enclave application. The enclave has unlimited access to the host's filesystem.

Once your application is ready to go into production, you can either switch to MarbleRun or write a custom enclave entry function. The helloworld sample includes an example of the latter.

Marblerun

MarbleRun is the preferred way to run enclave applications in production: it seamlessly integrates with Edgeless RT and enables the creation of distributed confidential applications.