Skip to content
/ enarx Public
forked from enarx/enarx

Tools for deploying WebAssembly into Enarx Keeps. https://enarx.dev/

License

Notifications You must be signed in to change notification settings

orangeng/enarx

 
 

Repository files navigation

lint enarxbot Workflow Status Average time to resolve an issue Percentage of issues still open Maintenance

enarx

This crate provides the enarx executable, which is a tool for running code inside an Enarx Keep - that is a hardware isolated environment using technologies such as Intel SGX or AMD SEV.

For more information about the project and the technology used visit the Enarx Project home page.

SGX and SEV machine setup

Please see this wiki page for instructions.

Building and Testing Enarx

Please see BUILD.md for instructions.

Installing Enarx

Please see this wiki page for instructions.

Build and run a WebAssembly module

Install the Webassembly rust toolchain:

$ rustup target install wasm32-wasi

Create simple rust program:

$ cargo init --bin hello-world
$ cd hello-world
$ echo 'fn main() { println!("Hello, Enarx!"); }' > src/main.rs
$ cargo build --release --target=wasm32-wasi

Assuming you did install the enarx binary and have it in your $PATH, you can now run the Webassembly program in an Enarx keep.

$ enarx run target/wasm32-wasi/release/hello-world.wasm
[…]
Hello, Enarx!

If you want to suppress the debug output, add 2>/dev/null.

Select a Different Backend

enarx will probe the machine it is running on in an attempt to deduce an appropriate deployment backend. To see what backends are supported on your system, run:

$ enarx info

You can manually select a backend with the --backend option, or by setting the ENARX_BACKEND environment variable:

$ enarx run --backend=sgx target/wasm32-wasi/release/hello-world.wasm
$ ENARX_BACKEND=sgx enarx run target/wasm32-wasi/release/hello-world.wasm

License: Apache-2.0

About

Tools for deploying WebAssembly into Enarx Keeps. https://enarx.dev/

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 95.6%
  • C 2.7%
  • Other 1.7%