Skip to content

Commit e0fefd1

Browse files
committed
refactor: update build and deploy guide for clarity and consistency
1 parent ec3726b commit e0fefd1

File tree

2 files changed

+75
-118
lines changed

2 files changed

+75
-118
lines changed
Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
---
2-
title: Build and Deploy an iApp
2+
title: Create and Deploy an iApp
33
description:
4-
How to build a confidential iExec application and deploy it on iExec protocol
4+
How to create a confidential iExec application and deploy it on iExec protocol
55
---
66

7-
# Build And Deploy your iApp
8-
9-
## iApp Generator: Your Development Tool
7+
# Create and Deploy an iApp
108

119
Bootstrap TEE-compatible applications in minutes without any hardcoding skills,
1210
iApp Generator handles all the low-level complexity for you.
1311

14-
- **Access to TEEs easily** - No need to dive into low-level requirements, build
15-
iApps that connect to TEEs in minutes.
16-
- **Check and deploy iApps quickly** - iApp Generator checks that your iApp
17-
complies with the iExec Framework and streamlines its deployment.
1812
- **Select your project mode & language** - Get started with either a basic or
1913
advanced setup, depending on your experience with the iExec framework. You can
2014
use Python or JavaScript—whichever you prefer!
15+
- **Develop your iApp effortlessly** - Write your application logic using
16+
familiar programming languages while the generator handles all TEE-specific
17+
configurations.
18+
- **Access to TEEs easily** - No need to dive into low-level requirements,
19+
create iApps that connect to TEEs in minutes.
20+
- **Check and deploy iApps quickly** - iApp Generator checks that your iApp
21+
complies with the iExec Framework and streamlines its deployment.
2122

2223
```bash
2324
# Create your iApp (Python or Node.js supported)
@@ -39,21 +40,13 @@ iapp deploy
3940
Here are some real-world examples of iApps to help you understand how they work
4041
in practice.
4142

42-
**Email Notification iApp**
43+
### Email Notification iApp
4344

4445
This iApp lets you send updates to your contacts without ever seeing their email
4546
addresses, privacy is preserved by design.
4647

4748
::: code-group
4849

49-
```python [Python]
50-
# User runs: "Send updates to my contacts about my project"
51-
contacts = load_protecteddata() # User's protected contact list
52-
for contact in contacts:
53-
send_email(contact, project_update_message)
54-
# → Emails sent directly, you never see the addresses
55-
```
56-
5750
```js [Node.js]
5851
/* User runs: "Send updates to my contacts about my project" */
5952
const contacts = loadProtectedData(); // User's protected contact list
@@ -63,15 +56,31 @@ contacts.forEach((contact) => {
6356
// → Emails sent directly, you never see the addresses
6457
```
6558

59+
```python [Python]
60+
# User runs: "Send updates to my contacts about my project"
61+
contacts = load_protecteddata() # User's protected contact list
62+
for contact in contacts:
63+
send_email(contact, project_update_message)
64+
# → Emails sent directly, you never see the addresses
65+
```
66+
6667
:::
6768

68-
**Oracle Update iApp**
69+
### Oracle Update iApp
6970

7071
This iApp securely updates a price oracle using private trading data, ensuring
7172
sensitive information stays confidential.
7273

7374
::: code-group
7475

76+
```js [Node.js]
77+
// User runs: "Update price oracle with my private trading data"
78+
const tradingData = loadProtectedData(); // User's protected trading history
79+
const averagePrice = calculateWeightedAverage(tradingData);
80+
updateOracleContract(averagePrice);
81+
// → Oracle updated with real data, trading history stays private
82+
```
83+
7584
```python [Python]
7685
# User runs: "Update price oracle with my private trading data"
7786
trading_data = load_protecteddata() # User's protected trading history
@@ -80,14 +89,6 @@ update_oracle_contract(average_price)
8089
# → Oracle updated with real data, trading history stays private
8190
```
8291

83-
```js [Node.js]
84-
/* User runs: "Update price oracle with my private trading data" */
85-
const tradingData = loadProtectedData(); // User's protected trading history
86-
const averagePrice = calculateWeightedAverage(tradingData);
87-
updateOracleContract(averagePrice);
88-
// → Oracle updated with real data, trading history stays private
89-
```
90-
9192
:::
9293

9394
**Automated Transactions iApp**
@@ -97,21 +98,21 @@ financial information remains private.
9798

9899
::: code-group
99100

100-
```python [Python]
101-
# User runs: "Automate payments every month"
102-
payment_info = load_protecteddata() # User's payment details
103-
for month in range(12):
104-
process_payment(payment_info)
105-
# → Payments processed, payment details stay private
106-
```
107-
108101
```js [Node.js]
109-
/* User runs: "Automate payments every month" */
102+
// User runs: "Automate payments every month"
110103
const paymentInfo = loadProtectedData(); // User's payment details
111104
for (let month = 0; month < 12; month++) {
112105
processPayment(paymentInfo);
113106
}
114107
// → Payments processed, payment details stay private
115108
```
116109

110+
```python [Python]
111+
# User runs: "Automate payments every month"
112+
payment_info = load_protecteddata() # User's payment details
113+
for month in range(12):
114+
process_payment(payment_info)
115+
# → Payments processed, payment details stay private
116+
```
117+
117118
:::

src/build-iapp/guides/manage-access.md

Lines changed: 38 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,44 @@ iexec order publish --app
176176

177177
Your iApp is now accessible according to the conditions you defined!
178178

179+
## Managing Orders
180+
181+
### View Published Orders
182+
183+
Check active orders for your app:
184+
185+
```bash
186+
iexec orderbook app <your-app-address>
187+
```
188+
189+
### Modify an Order
190+
191+
To change conditions, create a new order with new parameters.
192+
193+
### Cancel an Order
194+
195+
Remove an order from the marketplace:
196+
197+
```bash
198+
iexec order unpublish --app <orderHash>
199+
```
200+
201+
Completely invalidate an order:
202+
203+
```bash
204+
iexec order cancel --app <orderHash>
205+
```
206+
207+
### 🛡️ **Confidential App (TEE required)**
208+
209+
```json
210+
{
211+
"appprice": "2000000000",
212+
"volume": "500",
213+
"tag": "0x0000000000000000000000000000000000000000000000000000000000000003"
214+
}
215+
```
216+
179217
## App Order Parameters
180218

181219
Here's the detailed description of each parameter:
@@ -247,76 +285,6 @@ restriction)
247285

248286
**Typical usage:** `"0x0000000000000000000000000000000000000000"` (open to all)
249287

250-
## Managing Orders
251-
252-
### View Published Orders
253-
254-
Check active orders for your app:
255-
256-
```bash
257-
iexec orderbook app <your-app-address>
258-
```
259-
260-
### Modify an Order
261-
262-
To change conditions, create a new order with new parameters.
263-
264-
### Cancel an Order
265-
266-
Remove an order from the marketplace:
267-
268-
```bash
269-
iexec order unpublish --app <orderHash>
270-
```
271-
272-
Completely invalidate an order:
273-
274-
```bash
275-
iexec order cancel --app <orderHash>
276-
```
277-
278-
## Common Use Cases
279-
280-
### 🆓 **Free and Open App**
281-
282-
```json
283-
{
284-
"appprice": "0",
285-
"volume": "10000",
286-
"tag": "0x0000000000000000000000000000000000000000000000000000000000000000"
287-
}
288-
```
289-
290-
### 💰 **Paid App (1 RLC per use)**
291-
292-
```json
293-
{
294-
"appprice": "1000000000",
295-
"volume": "1000",
296-
"tag": "0x0000000000000000000000000000000000000000000000000000000000000003"
297-
}
298-
```
299-
300-
### 🔒 **Private App (specific user only)**
301-
302-
```json
303-
{
304-
"appprice": "0",
305-
"volume": "50",
306-
"requesterrestrict": "0xSpecificUserAddress"
307-
}
308-
```
309-
310-
### 🛡️ **Confidential App (TEE required)**
311-
312-
```json
313-
{
314-
"appprice": "2000000000",
315-
"volume": "500",
316-
"tag": "0x0000000000000000000000000000000000000000000000000000000000000003"
317-
}
318-
```
319-
320288
## What's Next?
321289

322290
**Your iApp is now accessible with custom conditions!**
@@ -327,20 +295,8 @@ Next steps:
327295
- **Adjust pricing**: Create new orders based on demand
328296
- **Manage revenue**: Check your earnings with `iexec account show`
329297

330-
### Explore More iExec Guides
331-
332-
- **[Input and Outputs](/build_iapp/guides/inputs-and-outputs)** - Handle data
333-
in your iApps
334-
- **[Getting and Decrypting Results](/build_iapp/guides/how-to-get-and-decrypt-results)** -
335-
Process execution results
336-
- **[Debugging Your iApp](/build_iapp/guides/debugging-your-iapp)** -
337-
Troubleshoot your applications
338-
- **[Using TDX (Experimental)](/build_iapp/guides/using-tdx-experimental)** -
339-
Advanced TEE features
340-
341298
### Technical Deep Dive
342299

343-
- **[SDK Deep Dive](/deep_dive/sdk)** - Advanced SDK concepts and usage
344300
- **[iExec SDK Documentation](https://github.com/iExecBlockchainComputing/iexec-sdk)** -
345301
Complete CLI reference
346302
- **[Official Orders Documentation](https://protocol.docs.iex.ec/for-developers/advanced/manage-your-apporders)** -

0 commit comments

Comments
 (0)