11---
2- title : Build and Deploy an iApp
2+ title : Create and Deploy an iApp
33description :
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
119Bootstrap TEE-compatible applications in minutes without any hardcoding skills,
1210iApp 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
3940Here are some real-world examples of iApps to help you understand how they work
4041in practice.
4142
42- ** Email Notification iApp**
43+ ### Email Notification iApp
4344
4445This iApp lets you send updates to your contacts without ever seeing their email
4546addresses, 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" */
5952const 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
7071This iApp securely updates a price oracle using private trading data, ensuring
7172sensitive 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"
7786trading_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"
110103const paymentInfo = loadProtectedData (); // User's payment details
111104for (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:::
0 commit comments