Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LuminousXLB/EnclaveRaft
Implement Raft in an Intel SGX Enclave
https://github.com/LuminousXLB/EnclaveRaft
Last synced: about 23 hours ago
JSON representation
Implement Raft in an Intel SGX Enclave
- Host: GitHub
- URL: https://github.com/LuminousXLB/EnclaveRaft
- Owner: LuminousXLB
- License: gpl-3.0
- Created: 2019-10-07T04:10:24.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-05-29T03:28:49.000Z (about 4 years ago)
- Last Synced: 2024-02-29T02:35:58.495Z (4 months ago)
- Language: C++
- Homepage:
- Size: 3.11 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- Awesome-SGX-Open-Source - https://github.com/LuminousXLB/EnclaveRaft
README
# EnclaveRaft
Implement Raft in an Enclave## Prerequisites
- EPID
Head to https://api.portal.trustedservices.intel.com/EPID-attestation to apply for an SGX Attestation Service subscription.
Create `EnclaveRaft\common\secret.h`
```cpp
#pragma once#define intel_api_primary "{{ Primary key }}"
#define intel_api_secondary "{{ Secondary key }}"
#define intel_api_spid "{{ SPID }}"```
- SGX-SDK 2.9.1
- SGX-SSL
If the sgx-sdk is not installed in `/opt/intel/sgxsdk`, specify the path using
```cmake
set(SGX_DIR )
```If the sgx-sdk is not installed in `/opt/intel/sgxssl`, specify the path using
```cmake
set(SGXSSL_SDK )
```## Build & Run
```console
$ mkdir build
$ cd build
$ cmake ..
$ make
```#### Run the Server
```console
$ ./App_raft
```#### Run the Client
```console
$ ./client
```Note: The default client routine in `client/client.cxx` assumes that there have been 5 servers with ID 1-5 running.