Skip to content

Commit 0efd2da

Browse files
committed
feat: add 'Deal' section to sidebar and create corresponding guide; update links in multiple guides
1 parent 78cc482 commit 0efd2da

File tree

9 files changed

+87
-96
lines changed

9 files changed

+87
-96
lines changed

.vitepress/sidebar.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ export function getSidebar() {
6767
text: 'Privacy iApp',
6868
link: '/get-started/overview/privacy-iapp',
6969
},
70+
{
71+
text: 'Deal',
72+
link: '/get-started/overview/deal',
73+
},
7074
{
7175
text: 'Workerpool',
7276
link: '/get-started/overview/workerpool',
@@ -188,10 +192,6 @@ export function getSidebar() {
188192
{
189193
text: 'USE AN iAPP',
190194
items: [
191-
{
192-
text: 'Introduction',
193-
link: '/guides/use-iapp/introduction',
194-
},
195195
{
196196
text: 'How to Pay the Executions',
197197
link: '/guides/use-iapp/how-to-pay-executions',

src/get-started/overview/deal.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: Deal
3+
description:
4+
Understand how deals coordinate the iExec network actors to execute
5+
computations securely and distribute payments
6+
---
7+
8+
# Deal
9+
10+
A **deal** is the core coordination mechanism in the iExec network. It brings
11+
together all the necessary components—requesters, applications, data, and
12+
computational resources to execute secure computations in TEE environments.
13+
14+
## What is a Deal?
15+
16+
When you want to run a computation on iExec, you don't directly interact with
17+
workers or applications. Instead, the **PoCo (Proof of Contribution)**
18+
decentralized smart contract automatically creates a deal that:
19+
20+
- Matches your request with compatible resources
21+
- Coordinates all network actors (requester, app provider, data provider,
22+
workerpool)
23+
- Ensures secure execution in TEE environments
24+
- Handles result delivery
25+
- Manages payment distribution
26+
27+
## Deal Execution Flow
28+
29+
When a deal is triggered, the following sequence occurs:
30+
31+
1. **Request Creation**: Requester submits a computation request with parameters
32+
2. **Resource Matching**: PoCo system matches the request with available
33+
applications, data, and computational resources
34+
3. **Deal Creation**: When the system finds compatible resources, it creates a
35+
deal containing multiple tasks
36+
4. **Task Distribution**: Selected workerpool manager distributes tasks to their
37+
workers
38+
5. **Secure Execution**: Workers download the iApp and execute it in TEE
39+
environments
40+
6. **Data Processing**: iApp processes protected data without accessing raw
41+
content
42+
7. **Result Generation**: Computation results are generated
43+
8. **Result Delivery**: Results are returned to the requester through the
44+
network
45+
9. **Payment Settlement**: RLC tokens are distributed to all participants
46+
47+
## Network Architecture
48+
49+
The diagram below illustrates how different actors interact in the iExec
50+
network:
51+
52+
![iExec Network Actors](/assets/use-iapp/iexec-actors-diagram.svg)
53+
54+
## Detailed Interaction Flow
55+
56+
1. **Request Submission**: Requester creates a request specifying the iApp,
57+
Protected Data, and other parameters
58+
2. **PoCo Processing**: PoCo system validates the request and matches available
59+
resources
60+
3. **Deal Creation**: When resources are matched, PoCo creates a deal containing
61+
tasks
62+
4. **Secure Environment Setup**: Workers initialize TEE environments and
63+
download the iApp
64+
5. **Data Access**: iApp requests access to protected data through secure
65+
channels
66+
6. **Computation**: iApp processes data within the TEE, maintaining privacy
67+
7. **Payment Distribution**: RLC tokens are distributed to all participants
68+
based on completed tasks
69+
70+
This decentralized architecture ensures that no single entity has control over
71+
the entire process, while the use of TEEs guarantees that sensitive data remains
72+
protected throughout the computation.

src/guides/build-iapp/build-&-test.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ iApp Generator handles all the low-level complexity for you.
2929

3030
## Prerequisites
3131

32-
First, install iApp Generator in your project (for more details see [iApp Generator Getting Started](/references/iapp-generator/getting-started)):
32+
First, install iApp Generator in your project (for more details see
33+
[iApp Generator Getting Started](/references/iapp-generator/getting-started)):
3334

3435
::: code-group
3536

src/guides/build-iapp/inputs.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ within the TEE environment.
2727
::: tip
2828

2929
You can also execute iApp outside of DataProtector using other methods. See the
30-
[Use an iApp guide](/guides/use-iapp/introduction) for more information.
30+
[Run iApp without ProtectedData](/guides/use-iapp/run-iapp-without-ProtectedData)
31+
guide for more information.
3132

3233
:::
3334

src/guides/manage-data/manage-access.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ only accessible in secure enclaves (TEEs) by authorized users and iApp.
1515

1616
## Prerequisites
1717

18-
First, install DataProtector in your project (for more details see [DataProtector Getting Started](/references/dataProtector/getting-started)):
18+
First, install DataProtector in your project (for more details see
19+
[DataProtector Getting Started](/references/dataProtector/getting-started)):
1920

2021
::: code-group
2122

src/guides/use-iapp/introduction.md

Lines changed: 0 additions & 86 deletions
This file was deleted.

src/guides/use-iapp/run-iapp-with-ProtectedData.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ perfect for customizing the iApp's behavior for each specific run.
1616

1717
## Prerequisites
1818

19-
First, install DataProtector in your project (for more details see [DataProtector Getting Started](/references/dataProtector/getting-started)):
19+
First, install DataProtector in your project (for more details see
20+
[DataProtector Getting Started](/references/dataProtector/getting-started)):
2021

2122
::: code-group
2223

src/guides/use-iapp/run-iapp-without-ProtectedData.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ configuration to enable processing and customize functionality.
1616

1717
## Prerequisites
1818

19-
First, install iExec SDK in your project (for more details see [iExec SDK documentation](/references/sdk)):
19+
First, install iExec SDK in your project (for more details see
20+
[iExec SDK documentation](/references/sdk)):
2021

2122
::: code-group
2223

src/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ features:
134134
details:
135135
Execute privacy-preserving apps like Web3Mail and Web3Telegram. Use what
136136
others built, extend what you need.
137-
link: /guides/use-iapp/introduction
137+
link: /guides/use-iapp/run-iapp-with-ProtectedData
138138
- icon:
139139
<svg class="_fill" width="37" height="36" viewBox="0 0 37 36" fill="none"
140140
xmlns="http://www.w3.org/2000/svg"> <path d="M35.2516 10.9932C34.345

0 commit comments

Comments
 (0)