samples/

directory
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2026 License: MIT

README

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.

Directories

Path Synopsis
go
app command
partitioned_app_with_golib
golib command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL