Skip to content

taraxacum45e9a/EnclaveRaft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

#pragma once

#define intel_api_primary "{{ Primary key }}"
#define intel_api_secondary "{{ Secondary key }}"
#define intel_api_spid "{{ SPID }}"

If the sgx-sdk is not installed in /opt/intel/sgxsdk, specify the path using

set(SGX_DIR <sgxsdk-path>)

If the sgx-sdk is not installed in /opt/intel/sgxssl, specify the path using

set(SGXSSL_SDK <sgxssl-path>)

Build & Run

$ mkdir build
$ cd build
$ cmake ..
$ make

Run the Server

$ ./App_raft <server-id>

Run the Client

$ ./client <client-id> <request interval (ms)> <payload size (bytes)>

Note: The default client routine in client/client.cxx assumes that there have been 5 servers with ID 1-5 running.

About

Implement Raft in an Intel SGX Enclave

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages