diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..c62422a --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +
The Data Pool APIs allow you to create and manage data pools within the SGX enclave.
Creates a new data pool with the provided data, pending DRT verification.
Content-Type: application/json
{
+ "data": {
+ "Column_1": [
+ "value1",
+ "value2",
+ "value3"
+ ],
+ "Column_2": [
+ "valueA",
+ "valueB",
+ "valueC"
+ ]
+ }
+}
+
Status Code: 200 OK
Status Code: 500 Internal Server Error
Appends new data to an existing data pool, pending DRT verification.
Content-Type: application/json
{
+ "data": {
+ "Column_1": [
+ "new_value1",
+ "new_value2"
+ ],
+ "Column_2": [
+ "new_valueA",
+ "new_valueB"
+ ]
+ }
+}
+
Status Code: 200 OK
Status Code: 500 Internal Server Error
Execute Python scripts (hosted on GitHub) within the SGX enclave on the secured data pool. The script must be verified using its SHA256 hash before execution.
Content-Type: application/json
{
+ "github_url": "URL to the Python script on GitHub",
+ "expected_hash": "SHA256 hash of the Python script"
+}
+
Status Code: 200 OK
Status Code: 500 Internal Server Error
Execute WebAssembly (WASM) binaries (hosted on GitHub) within the SGX enclave on the secured data pool. The binary must be verified using its SHA256 hash before execution. The API also requires the JSON schema.
Content-Type: application/json
{
+ "github_url": "URL to the WASM binary on GitHub",
+ "expected_hash": "SHA256 hash of the WASM binary",
+ "json_schema": ...
+}
+
Status Code: 200 OK
Status Code: 500 Internal Server Error
The Nautilus MVP provides a REST API for interacting with the SGX enclave and performing secure data operations. All endpoints are served over HTTPS and support remote attestation (RA-TLS).
Currently, the API does not require authentication. However, all connections must optionally pass SGX remote attestation verification.
Responses are in JSON format, unless otherwise specified. The general structure is:
200 OK
: Request successful400 Bad Request
: Invalid request parameters500 Internal Server Error
: Server-side errorEndpoint | Method | Description |
---|---|---|
/health | GET | Health check endpoint |
/create_data_pool | POST | Create a new data pool |
/append_data | POST | Append data to existing pool |
/execute_python | POST | Execute Python script |
/execute_wasm | POST | Execute WASM binary |
A Postman collection is available for testing. See the Postman Guide for details.
This guide helps you get started with testing the Nautilus MVP APIs using Postman.
The Postman collection includes pre-configured requests for all API endpoints:
postman/collection.json
in the repository 1. Open Postman
+ 2. Click "Import" button
+ 3. Drag and drop collection.json OR
+ 4. Click "Upload Files" and select collection.json
+
1. Click "Environments" in Postman
+ 2. Click "Create Environment"
+ 3. Name it "Nautilus MVP" or another suitable name
+
GET {{BASE_URL}}/health
POST {{BASE_URL}}/create_data_pool
POST {{BASE_URL}}/append_data
POST {{BASE_URL}}/execute_python
POST {{BASE_URL}}/execute_wasm
{
+ "github_url": "https://github.com/ntls-io/WASM-Binaries-MVP/blob/master/bin/get_mean_wasm.wasm",
+ "expected_hash": "b5ee81a20256dec2bd3db6e673b11eadae4baf8fafbe68cec1f36517bb569255",
+ "json_schema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "Column_1": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "Column_2": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "Column_1",
+ "Column_2"
+ ]
+ }
+}
+