Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions .vitepress/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,6 @@ export function getSidebar() {
text: 'Quick Start',
link: '/guides/build-iapp/advanced/quick-start',
},
{
text: 'Build your first SGX app',
link: '/guides/build-iapp/advanced/build-your-first-sgx-iapp',
},
{
text: 'End-to-end Encryption',
link: '/guides/build-iapp/advanced/protect-the-result',
Expand Down Expand Up @@ -425,16 +421,12 @@ export function getSidebar() {
text: 'Introduction to TEE Technologies',
link: '/protocol/tee/introduction',
},
{
text: 'Intel SGX Technology',
link: '/protocol/tee/intel-sgx',
},
{
text: 'Intel TDX Technology',
link: '/protocol/tee/intel-tdx',
},
{
text: 'SGX vs TDX Comparison',
text: 'Why Intel TDX?',
link: '/protocol/tee/sgx-vs-tdx',
},
],
Expand Down
2 changes: 1 addition & 1 deletion src/get-started/helloWorld/2-protectData.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
</div>
<div class="flex items-center gap-3">
<span class="bg-gray-950 text-sm text-white w-6 h-6 rounded-full flex items-center justify-center font-medium">4</span>
<span>iExec's protocol stores the symmetric key in a secure enclave (TEE) in the Secret Management Service</span>
<span>iExec's protocol stores the symmetric key in a [TDX](/protocol/tee/intel-tdx) Trust Domain (TEE) in the Secret Management Service</span>

Check failure on line 113 in src/get-started/helloWorld/2-protectData.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/helloWorld/2-protectData.md#L113

[Vale.Terms] Use 'TEE' instead of 'tee'.
Raw output
{"message": "[Vale.Terms] Use 'TEE' instead of 'tee'.", "location": {"path": "src/get-started/helloWorld/2-protectData.md", "range": {"start": {"line": 113, "column": 74}}}, "severity": "ERROR"}

Check failure on line 113 in src/get-started/helloWorld/2-protectData.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/helloWorld/2-protectData.md#L113

[Vale.Terms] Use 'TDX' instead of 'tdx'.
Raw output
{"message": "[Vale.Terms] Use 'TDX' instead of 'tdx'.", "location": {"path": "src/get-started/helloWorld/2-protectData.md", "range": {"start": {"line": 113, "column": 84}}}, "severity": "ERROR"}
</div>
<div class="flex items-center gap-3">
<span class="bg-gray-950 text-sm text-white w-6 h-6 rounded-full flex items-center justify-center font-medium">5</span>
Expand Down
95 changes: 4 additions & 91 deletions src/get-started/helloWorld/3-buildIApp.md
Original file line number Diff line number Diff line change
Expand Up @@ -364,19 +364,6 @@ Once you have your token, you can deploy your iApp.
/>
</template>

<template v-else>
<CLIDemo
initialCommand="iapp deploy"
asciiText="Deploy"
:steps="bellecourSteps"
:completionStep="14"
:completionMessage="'Deployment of your iApp completed successfully:'"
:completionItems="bellecourCompletionItems"
:successMessage="'Run iapp run 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923 to execute your iApp on an iExec TEE worker'"
:autoRestart="true"
/>
</template>

::: tip <i></i>

📝 Make sure to save your **iApp address** after deployment - you'll need it
Expand Down Expand Up @@ -533,7 +520,7 @@ const arbitrumSteps = [
},
{
showAt: 13,
question: 'Pushed TEE image bob/hello-world:0.0.1-tee-scone-5.9.1-v16-ce3a01d9c5d7 on dockerhub',
question: 'Pushed TEE image bob/hello-world:0.0.1-tdx-a53fc4c480f4 on dockerhub',
answer: '',
showTyping: false,
isComplete: true
Expand All @@ -547,82 +534,8 @@ const arbitrumSteps = [
}
];

const bellecourSteps = [
{
showAt: 2,
question: 'Using chain bellecour',
answer: '',
showTyping: false,
isComplete: true
},
{
showAt: 3,
question: 'Using saved walletPrivateKey (from iapp.config.json)',
answer: '',
showTyping: false,
isComplete: true
},
{
showAt: 4,
completeAt: 6,
question: 'What is your username on DockerHub? (It will be used to properly tag the Docker image)',
answer: 'bob',
showTyping: true,
isComplete: false
},
{
showAt: 6,
completeAt: 8,
question: 'What is your DockerHub access token?',
answer: '**********************',
showTyping: true,
isComplete: false
},
{
showAt: 8,
completeAt: 10,
question: 'What is the version of your iApp?',
answer: '0.0.1',
showTyping: true,
isComplete: false
},
{
showAt: 10,
question: 'Docker image built (sha256:a53fc4c480f482c384a13266ea2cb6cc5572733c866c44a5f604f4bfab3a744a) and tagged bob/hello-world:0.0.1',
answer: '',
showTyping: false,
isComplete: true
},
{
showAt: 11,
question: 'Pushed image bob/hello-world:0.0.1 on dockerhub',
answer: '',
showTyping: false,
isComplete: true
},
{
showAt: 12,
question: 'Pushed TEE image bob/hello-world:0.0.1-tee-scone-5.9.1-v16-ce3a01d9c5d7 on dockerhub',
answer: '',
showTyping: false,
isComplete: true
},
{
showAt: 13,
question: 'TEE app deployed',
answer: '',
showTyping: false,
isComplete: true
}
];

const arbitrumCompletionItems = [
'└ Docker image: bob/hello-world:0.0.1-tee-scone-5.9.1-v16-ce3a01d9c5d7',
'└ iApp address: 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923'
];

const bellecourCompletionItems = [
'└ Docker image: bob/hello-world:0.0.1-tee-scone-5.9.1-v16-ce3a01d9c5d7',
'└ Docker image: bob/hello-world:0.0.1-tdx-a53fc4c480f4',
'└ iApp address: 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923'
];

Expand Down Expand Up @@ -693,7 +606,7 @@ const arbitrumSepoliaSteps = [
},
{
showAt: 13,
question: 'Pushed TEE image bob/hello-world:0.0.1-tee-scone-5.9.1-v16-ce3a01d9c5d7 on dockerhub',
question: 'Pushed TEE image bob/hello-world:0.0.1-tdx-a53fc4c480f4 on dockerhub',
answer: '',
showTyping: false,
isComplete: true
Expand All @@ -708,7 +621,7 @@ const arbitrumSepoliaSteps = [
];

const arbitrumSepoliaCompletionItems = [
'└ Docker image: bob/hello-world:0.0.1-tee-scone-5.9.1-v16-ce3a01d9c5d7',
'└ Docker image: bob/hello-world:0.0.1-tdx-a53fc4c480f4',
'└ iApp address: 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923'
];
</script>
14 changes: 8 additions & 6 deletions src/get-started/overview/privacy-iapp.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
<CardWithBorder>

✅ **True Privacy:** Users never expose their raw data. Your app processes it
privately inside secure enclaves.
privately inside hardware-isolated Trust Domains.

✅ **Trusted Execution:** iExec ensures your code runs inside a Trusted
Execution Environment (TEE), guaranteeing only the specified Docker image
Expand All @@ -64,10 +64,12 @@

## How it Works

Your code runs in a Trusted Execution Environment (TEE). This secure area exists
inside specific processors (Intel Software Guard Extensions (SGX) or Trust
Domain Extensions (TDX) chipsets). Everything stays private and protected there,
even from the operating system.
Your code runs in a Trusted Execution Environment (TEE) powered by **Intel Trust

Check failure on line 67 in src/get-started/overview/privacy-iapp.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/privacy-iapp.md#L67

[Vale.Terms] Use 'intel' instead of 'Intel'.
Raw output
{"message": "[Vale.Terms] Use 'intel' instead of 'Intel'.", "location": {"path": "src/get-started/overview/privacy-iapp.md", "range": {"start": {"line": 67, "column": 70}}}, "severity": "ERROR"}
Domain Extensions ([TDX](/protocol/tee/intel-tdx))**. TDX is a hardware-based
confidential computing technology built into Intel processors. It isolates

Check failure on line 69 in src/get-started/overview/privacy-iapp.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/privacy-iapp.md#L69

[Vale.Terms] Use 'intel' instead of 'Intel'.
Raw output
{"message": "[Vale.Terms] Use 'intel' instead of 'Intel'.", "location": {"path": "src/get-started/overview/privacy-iapp.md", "range": {"start": {"line": 69, "column": 46}}}, "severity": "ERROR"}
entire virtual machines — called **Trust Domains** — from the host hypervisor,

Check failure on line 70 in src/get-started/overview/privacy-iapp.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/privacy-iapp.md#L70

[Google.EmDash] Don't put a space before or after a dash.
Raw output
{"message": "[Google.EmDash] Don't put a space before or after a dash.", "location": {"path": "src/get-started/overview/privacy-iapp.md", "range": {"start": {"line": 70, "column": 24}}}, "severity": "ERROR"}

Check failure on line 70 in src/get-started/overview/privacy-iapp.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/privacy-iapp.md#L70

[Google.EmDash] Don't put a space before or after a dash.
Raw output
{"message": "[Google.EmDash] Don't put a space before or after a dash.", "location": {"path": "src/get-started/overview/privacy-iapp.md", "range": {"start": {"line": 70, "column": 51}}}, "severity": "ERROR"}
the cloud provider, and the operating system itself. Everything inside a Trust
Domain stays private and protected, even from infrastructure administrators.

Authorized users trigger an iApp that processes protected data inside this
private environment. Your iApp uses the data but never exposes it, not even to
Expand Down Expand Up @@ -163,7 +165,7 @@

- **Docker**: Your application must be containerized
- **Input/Output**: Define clear input and output schemas
- **TEE Compatibility**: Ensure your code runs in secure enclaves
- **TEE Compatibility**: Ensure your code runs inside a TDX Trust Domain
- **Network Access**: Configure any external API calls or dependencies

## Next Steps
Expand Down
1 change: 0 additions & 1 deletion src/get-started/overview/rlc.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,6 @@ You can acquire RLC tokens through several methods:
<FeatureCard
title="Cross-Chain Bridging"
:features="[
{ text: 'Bellecour Bridge', link: 'https://bridge-bellecour.iex.ec/' },
{ text: 'Stargate Bridge (Arbitrum)', link: 'https://stargate.finance/bridge' }
]"
/>
Expand Down
27 changes: 16 additions & 11 deletions src/get-started/overview/what-is-iexec.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,10 @@

### Step 2: Create a Deal

**Requester** submits a computation request. The **PoCo smart contract**
automatically matches and brings together all required resources: the iApp,
protected data, and available workerpool.
**Requester** submits a computation request. The
**[PoCo](/protocol/proof-of-contribution) (Proof of Contribution) smart

Check notice on line 28 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L28

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 28, "column": 43}}}, "severity": "INFO"}
contract** automatically matches and brings together all required resources: the
iApp, protected data, and available workerpool.

Check failure on line 30 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L30

[Vale.Terms] Use 'Workerpool' instead of 'workerpool'.
Raw output
{"message": "[Vale.Terms] Use 'Workerpool' instead of 'workerpool'.", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 30, "column": 37}}}, "severity": "ERROR"}

→ **Guides**:
[Run iApp with ProtectedData](/guides/use-iapp/run-iapp-with-ProtectedData),
Expand All @@ -35,12 +36,15 @@
### Step 3: Execute in TEE

**Workers** from the selected workerpool download the iApp and execute it inside
**secure enclaves** (TEEs). Your data is processed confidentially - workers can
run computations but never access raw data outside the TEE.
**[TDX](/protocol/tee/intel-tdx) Trust Domains** — hardware-isolated

Check failure on line 39 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L39

[Google.EmDash] Don't put a space before or after a dash.
Raw output
{"message": "[Google.EmDash] Don't put a space before or after a dash.", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 39, "column": 49}}}, "severity": "ERROR"}
[TEEs](/protocol/tee/introduction) (Trusted Execution Environments). Your data

Check notice on line 40 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L40

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 40, "column": 36}}}, "severity": "INFO"}
is processed confidentially: workers can run computations but never access raw

Check notice on line 41 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L41

[Google.Passive] In general, use active voice instead of passive voice ('is processed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is processed').", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 41, "column": 1}}}, "severity": "INFO"}
data outside the Trust Domain.

### Step 4: Deliver Results & Pay

Results are encrypted and delivered back to the requester. **RLC tokens** are
Results are encrypted and delivered back to the requester.

Check notice on line 46 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L46

[Google.Passive] In general, use active voice instead of passive voice ('are encrypted').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are encrypted').", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 46, "column": 9}}}, "severity": "INFO"}
**[RLC](/get-started/overview/rlc) tokens** (the protocol's native currency) are

Check notice on line 47 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L47

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 47, "column": 45}}}, "severity": "INFO"}
automatically distributed to all participants (app provider, data provider,
workerpool) based on their contribution.

Expand All @@ -56,11 +60,12 @@
Your code, packaged to run on workers. Can be AI models, data processing
scripts, any computation.

### **Workers (Secure Enclaves)**
### **Workers ([TDX](/protocol/tee/intel-tdx) Trust Domains)**

Check warning on line 63 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L63

[Google.Headings] 'Workers ( TDX Trust Domains)' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Workers ( TDX Trust Domains)' should use sentence-style capitalization.", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 63, "column": 1}}}, "severity": "WARNING"}

Computers that process your data inside privacy-safe TEE environments. They can
access your data to work with it, but the TEE ensures it stays confidential and
tamper-proof.
Computers that process your data inside hardware-isolated
[TEE](/protocol/tee/introduction) environments (Trusted Execution Environments).

Check notice on line 66 in src/get-started/overview/what-is-iexec.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/overview/what-is-iexec.md#L66

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "src/get-started/overview/what-is-iexec.md", "range": {"start": {"line": 66, "column": 48}}}, "severity": "INFO"}
They can access your data to work with it, but the TEE ensures it stays
confidential and tamper-proof.

### **Deals**

Expand All @@ -76,7 +81,7 @@
2. **Deploy**: AI company packages their model → becomes iApp
3. **Execute**: Someone submits Task → "Train model on this data"
4. **Result**: Model gets trained, researcher gets insights, raw data never
leaves enclave
leaves the Trust Domain

**Web3 Email**

Expand Down
15 changes: 2 additions & 13 deletions src/get-started/tooling-and-explorers/blockchain-explorer.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Blockchain Explorers
description:
Explore iExec smart contracts on verified blockchain explorers for both
Arbitrum mainnet and Bellecour network.
Explore iExec smart contracts on verified blockchain explorers for Arbitrum
mainnet and Arbitrum Sepolia testnet.
---

# Blockchain Explorers
Expand Down Expand Up @@ -36,16 +36,6 @@ publicly auditable.
demo-label="Visit Arbiscan"
/>

<UseCaseCard
title="⚡ Bellecour"
description="iExec's dedicated sidechain for optimized performance with native integration and enhanced protocol analytics."
:image-url="bellecourExplorerImage"
image-alt="Bellecour Explorer"
:features="['Verified Contracts', 'Transaction History', 'Token Tracking', 'Contract Interactions']"
demo-url="https://blockscout-bellecour.iex.ec/"
demo-icon="mdi:eye"
demo-label="Visit Blockscout"
/>
</div>

::: tip 💡 Dev Tip
Expand All @@ -60,5 +50,4 @@ import UseCaseCard from '@/components/UseCaseCard.vue';

// Assets
import arbitrumExplorerImage from '@/assets/tooling-&-explorers/blockchain-explorer/arbitrum-explorer.png';
import bellecourExplorerImage from '@/assets/tooling-&-explorers/blockchain-explorer/bellecour-explorer.png';
</script>
56 changes: 3 additions & 53 deletions src/get-started/tooling-and-explorers/bridge.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: iExec RLC Bridge
description:
Bridge RLC tokens between networks to interact with the iExec protocol.
Transfer RLC to Bellecour (xRLC) and Arbitrum networks using dedicated bridges
Transfer RLC to Arbitrum networks using the Stargate Bridge
---

# RLC Bridge
Expand All @@ -11,8 +11,8 @@ description:
whether you're executing tasks, accessing protected data, or participating in
the iExec confidential computing network.

This guide helps you bridge RLC tokens to **Bellecour** (becoming xRLC) and
**Arbitrum** networks using the Bellecour Bridge and Stargate Bridge.
This guide helps you bridge RLC tokens to **Arbitrum** using the Stargate
Bridge.

::: tip 🧪 Testing on Arbitrum Sepolia

Expand All @@ -30,18 +30,6 @@ iExec provides officially supported bridges for seamless token transfer across
networks:

<CardGrid>
<ProjectCard
title="Bellecour Bridge"
description="Bridge RLC tokens between Ethereum mainnet and Bellecour sidechain"
:icon-image="iexecLogoIcon"
status="available"
status-label="Live"
button-label="Access Bridge"
button-icon="mdi:bridge"
button-href="https://bridge-bellecour.iex.ec/"
button-rel="noreferrer"
/>

<ProjectCard
title="Stargate Bridge"
description="Bridge RLC tokens between Ethereum and Arbitrum using LayerZero protocol"
Expand Down Expand Up @@ -77,42 +65,6 @@ RLC tokens between Ethereum and Arbitrum mainnet in both directions.
link-url="https://stargate.finance/bridge"
/>

## Bellecour Bridge

The **Bellecour Bridge** enables seamless transfer of RLC tokens between
Ethereum mainnet and the Bellecour sidechain in both directions. When bridged to
Bellecour, RLC becomes xRLC, the native asset of the Bellecour network.

### Ethereum <> Bellecour (RLC <> xRLC)

1. **Connect Wallet**: Visit
[Bellecour Bridge UI](https://bridge-bellecour.iex.ec/) and connect your
wallet
2. **Select Source Network**: The bridge automatically detects your current
network and available tokens (RLC on Ethereum or xRLC on Bellecour)
3. **Choose Destination**: The bridge will show the opposite network as
destination automatically
4. **Select Amount**: Choose the amount of tokens you want to bridge
5. **Confirm Transaction**: Approve the bridge transaction and wait for
confirmation
6. **Receive Tokens**: Your tokens will be available on the destination network

<ImageViewer
:image-url-dark="bellecourBridgeImage"
image-alt="Bellecour Bridge Process"
link-url="https://bridge-bellecour.iex.ec/"
/>

::: tip 🔄 Bidirectional Bridge

The bridge interface automatically detects your wallet's network and available
tokens. The process is similar in both directions - simply switch to the
appropriate network (source chain) in your wallet and refresh the page to update
the bridge direction, then the bridge will handle the conversion between RLC and
xRLC seamlessly.

:::

## Security & Audits

The **Stargate Bridge** uses the **LayerZero protocol** under the hood, which
Expand Down Expand Up @@ -152,9 +104,7 @@ import CardGrid from '@/components/CardGrid.vue';
import ProjectCard from '@/components/ProjectCard.vue';

// Assets
import iexecLogoIcon from '@/assets/icons/iexec-logo.png';
import arbitrumLogoIcon from '@/assets/icons/arbitrum.svg';
import bellecourBridgeImage from '@/assets/tooling-&-explorers/bridge/bellecour-bridge.png';
import stargateBridgeImage from '@/assets/tooling-&-explorers/bridge/stargate-bridge.png';
import halbornLogoIcon from '@/assets/icons/halborn.svg';
</script>
Loading
Loading