You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -46,8 +46,21 @@ Go to the [AWS EC2 console](https://console.aws.amazon.com/ec2/v2/home#LaunchIns
46
46
47
47
**AMI:** Amazon Linux 2023 (recommended — has native Nitro support)
48
48
49
-
**Instance type:**`m7i.xlarge`
50
-
> Do not use `t3` or free tier instances — they do not support Nitro Enclaves.
49
+
**Instance type:** Choose from the table below. The enclave needs at least 2 dedicated vCPUs and 4 GB of RAM reserved for it, so the host must have at least 4 vCPUs and 8 GB total.
|`t3.*` / `t2.*`| any | any | ❌ **Not supported** — T-family instances have no Nitro Enclave support |
60
+
|`t3a.*` / `t4g.*`| any | any | ❌ **Not supported**|
61
+
|`m6g.*` / `c7g.*` (ARM) | any | any | ❌ **Not supported** — Nitro Enclaves require x86_64 |
62
+
63
+
> **Tip:** When in doubt, use `m5.xlarge`. It is the most widely tested instance type for Nitro Enclaves.
51
64
52
65
**Key pair:** Create a new key pair, download the `.pem` file, keep it safe.
53
66
@@ -60,12 +73,26 @@ Go to the [AWS EC2 console](https://console.aws.amazon.com/ec2/v2/home#LaunchIns
60
73
- Type: `gp3`
61
74
- Encrypted: **Yes** — select your KMS key if you have one
62
75
63
-
**Advanced details:**
64
-
- Nitro Enclave: **Enable** ← this is the critical one
76
+
**Advanced details — critical settings:**
77
+
78
+
> ⚠️ **Nitro Enclave support cannot be enabled after launch.** You must check the box before clicking "Launch Instance". There is no way to add it to a running instance — you would need to terminate and relaunch.
79
+
80
+
-**Nitro Enclave: Enable** ← scroll down in Advanced details, it is a single checkbox
65
81
- IAM instance profile: attach a role with `secretsmanager:GetSecretValue` if you plan to use AWS Secrets Manager for your wallet mnemonic (recommended)
66
82
67
83
Launch the instance.
68
84
85
+
### How to confirm Nitro Enclaves is enabled
86
+
87
+
After SSHing into the instance:
88
+
89
+
```bash
90
+
nitro-cli describe-enclaves
91
+
# Expected output: [] (empty list — no enclaves running yet, but CLI works)
92
+
```
93
+
94
+
If you see `bash: nitro-cli: command not found` or `Failed to connect to NE socket`, the instance was launched **without** Nitro Enclave support. Terminate it and relaunch with the checkbox checked.
The Nitro Enclave is required to submit verified scores on mainnet. On testnet it runs in a compatibility mode — but to be production-ready, set it up now:
225
+
The Nitro Enclave is required to submit verified scores. The enclave runs the `slcl-nautilus` binary inside the sealed hardware environment and signs every score with a key that never leaves it.
226
+
227
+
### Debug mode vs production mode
228
+
229
+
The enclave can run in two modes — **use production mode for everything except local development**:
230
+
231
+
|| Debug mode | Production mode |
232
+
|---|---|---|
233
+
| How to start |`--debug-console` flag | No extra flag |
234
+
| PCR values | All zeros in attestation | Real SHA-384 measurements |
VRAMHUB_ENCLAVE_PUBKEY=a3f9... # from the line above
219
-
VRAMHUB_ENCLAVE_OBJECT_ID=0x... # printed after register-enclave
284
+
VRAMHUB_ENCLAVE_PUBKEY=42c3adc8...
285
+
VRAMHUB_ENCLAVE_URL=http://localhost:3000
286
+
VRAMHUB_TEST_MODE=false
220
287
```
221
288
289
+
>**Note:** You must re-run `register-enclave` any time the enclave EIF is rebuilt (PCR values change when code changes). The validator UID stays the same — only the enclave registration needs to be re-done.
290
+
222
291
---
223
292
224
293
## How rewards work
@@ -242,15 +311,63 @@ Current testnet: [VRAMScan Explorer](https://suiscan.xyz/testnet/object/0x48703e
242
311
**"compile_error: must be built on Linux"**
243
312
The validator only runs on Linux. Use an EC2 instance, not your local machine.
244
313
245
-
**"Nitro Enclave not available"**
246
-
Your instance type doesn't support Nitro. Launch an `m7i.xlarge`, `c5.xlarge`, or any `m5`/`c5`/`r5` instance. `t3` instances do not support Nitro.
314
+
**"Nitro Enclave not available" or `nitro-cli: command not found`**
315
+
Your instance was launched without Nitro Enclave support enabled. This cannot be fixed on a running instance — terminate it and relaunch with **Nitro Enclave: Enable** checked in Advanced details. See the instance type table above; `t3`, `t4g`, and ARM instances do not support Nitro.
247
316
248
317
**"MissingEnvVar: VRAMHUB_WALLET_MNEMONIC"**
249
318
Your `.env` file isn't loaded. Run `source .env` before `vram-validator`, or use the systemd service which loads it automatically.
250
319
320
+
**Enclave shows `Flags: DEBUG_MODE` instead of `NONE`**
321
+
The enclave was started with `--debug-console`. Stop it and restart without that flag:
The contract requires 10 SUI stake minimum. Make sure you have SUI in your wallet (`sui client balance`) and the latest `vram-cli` binary which passes the correct stake.
342
+
343
+
**`E_ALREADY_REGISTERED` during register-validator**
344
+
Your address is already registered. Query your existing UID:
0 commit comments