Skip to content

Commit dceb9c1

Browse files
committed
polish readme.md
1 parent 2a4a8ef commit dceb9c1

File tree

1 file changed

+54
-28
lines changed

1 file changed

+54
-28
lines changed

README.md

Lines changed: 54 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,63 @@
1-
# Teaclave SGX SDK v2.0 preview
1+
# Teaclave SGX SDK
22

3-
Teaclave SGX SDK v2.0 is a revamped version. It is much more developer friendly
4-
compared to v1.1.
3+
[![License](https://img.shields.io/badge/license-Apache-green.svg)](LICENSE)
4+
[![Homepage](https://img.shields.io/badge/site-homepage-blue)](https://teaclave.apache.org/)
55

6-
- supports `cargo build` + `no_std`, `xargo build` and `cargo-std-aware` mode.
7-
- Tokio and Tonic is directly available to enclave programming without any change.
8-
- Refactored Intel's SDK using Rust. Only a small portion of Intel's SDK is required.
9-
- Improved testing framework. `sgx_tstd` is well tested now.
10-
- No need to maintain 100+ 3rd party dependencies. Most dependencies are `use`-able without any change.
6+
**Apache Teaclave SGX SDK** is a Rust SDK for developing Intel SGX applications. It enables developers to write secure, privacy-preserving applications using Intel Software Guard Extensions (SGX) technology with the safety and performance benefits of the Rust programming language.
117

12-
## Build system
8+
## Overview
139

14-
We still maintain the legacy `no_std` cargo build support, and `xargo build` with a customized sysroot. v2.0 supports `cargo-std-aware` as well.
10+
The Apache Teaclave SGX SDK provides a comprehensive development environment for building Intel SGX enclaves in Rust. The current version (v2.0) offers significant improvements over the [legacy v1.1](https://github.com/apache/incubator-teaclave-sgx-sdk/tree/master) , including:
1511

16-
To switch from these build modes, please specify
17-
- `BUILD_STD=no` to use traditional `no_std` cargo build
18-
- `BUILD_STD=cargo` (default setting) to use the new std aware cargo build
19-
- `BUILD_STD=xargo` to use xargo build
12+
- **Modern Build System**: Supports `cargo build` with `no_std`, `xargo build`, and `cargo-std-aware` modes
13+
- **Rich Ecosystem**: Direct support for Tokio and Tonic in enclave programming without modifications
14+
- **Lightweight Architecture**: Refactored Intel's SGX SDK using Rust, requiring only a minimal portion of Intel's original SDK
15+
- **Robust Testing**: Comprehensive testing framework with well-tested `sgx_tstd` standard library
16+
- **Simplified Dependencies**: Eliminates the need to maintain 100+ third-party dependencies; most Rust crates work without modifications
2017

18+
## Build System
2119

22-
## Samples
20+
The SDK supports multiple build modes to accommodate different development preferences:
2321

24-
We are still working on porting all v1.1 samples to v2.0. Current available samples include:
22+
- **`BUILD_STD=cargo`** (default): Uses the new std-aware cargo build system
23+
- **`BUILD_STD=no`**: Traditional `no_std` cargo build for minimal footprint
24+
- **`BUILD_STD=xargo`**: Uses xargo build with customized sysroot
2525

26-
- backtrace
27-
- cov
28-
- crypto
29-
- hellworld
30-
- httpreq
31-
- hyper-rustls-https-server
32-
- logger
33-
- regex
34-
- rpc (Tonic + Tokio)
35-
- seal
36-
- switchless
37-
- zlib-lazy-static-sample
26+
## Sample Applications
27+
28+
The following sample applications demonstrate various SGX SDK capabilities:
29+
30+
- **backtrace**: Stack trace functionality in SGX enclaves
31+
- **cov**: Code coverage analysis tools
32+
- **crypto**: Cryptographic operations within enclaves
33+
- **helloworld**: Basic SGX enclave example
34+
- **httpreq**: HTTP client functionality
35+
- **hyper-rustls-https-server**: HTTPS server using Hyper and Rustls
36+
- **logger**: Logging capabilities for SGX applications
37+
- **regex**: Regular expression processing
38+
- **rpc**: Remote procedure calls using Tonic and Tokio
39+
- **seal**: Data sealing and unsealing operations
40+
- **switchless**: Switchless call optimization
41+
- **zlib-lazy-static-sample**: Compression with lazy static initialization
42+
43+
*Note: Migration of additional v1.1 samples to v2.0 is ongoing.*
44+
45+
## Getting Started
46+
47+
For detailed installation instructions, development guides, and API documentation, please visit:
48+
49+
- **Project Website**: [https://teaclave.apache.org/](https://teaclave.apache.org/)
50+
- **Documentation**: [Teaclave SGX SDK Documentation](https://teaclave.apache.org/sgx-sdk-docs/)
51+
- **API Reference**: [Teaclave SGX SDK API Reference](https://teaclave.apache.org/api-docs/sgx-sdk/)
52+
53+
## Contributing
54+
55+
Teaclave is developed in the open following [The Apache Way](https://www.apache.org/theapacheway/). We strive to maintain a project that is community-driven and inclusive.
56+
57+
We welcome all forms of contributions. Please refer to our [Contributing Guide](https://teaclave.apache.org/contributing) for more information. A big thank-you to all our [contributors](https://teaclave.apache.org/contributors/)!
58+
59+
## Community
60+
61+
- 📬 Join our [mailing list](https://lists.apache.org/[email protected])
62+
- 🐦 Follow us on [Twitter @ApacheTeaclave](https://twitter.com/ApacheTeaclave)
63+
- 🌐 Learn more at [teaclave.apache.org/community](https://teaclave.apache.org/community/)

0 commit comments

Comments
 (0)