-
Notifications
You must be signed in to change notification settings - Fork 0
feat: build iapp by martin #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
2b806e7
fix: clarify definition of iApp and its secure processing environment
akugone 7e06e9d
fix: enhance clarity on iApp's secure processing and its significance
akugone 6ae8832
fix: enhance iApp Generator documentation for improved usability and …
akugone 6f969c1
fix: update iApp documentation to improve workflow clarity and FAQ st…
akugone 09190eb
fix: update iApp documentation to enhance clarity on privacy and exec…
akugone d531ddf
fix: enhance iApp documentation with improved formatting and clarity
akugone 43a3433
fix: update iApp documentation to enhance clarity on user-provided pr…
akugone c644a91
fix: add clarification on dataset type mismatches in iApp documentation
akugone 240f3b8
fix: update TDX experimental guide with feature comparisons and integ…
akugone 46c65c5
fix: update TDX experimental guide with environment variable declaration
akugone 1fc56a9
fix: update iApp Generator documentation to clarify Docker requirements
akugone fbe926a
fix: update TDX experimental guide with DataProtector SDK configurati…
akugone 803c221
Co-authored-by: MartinLeclercq <akugone@users.noreply.github.com>
Le-Caignec a6e5872
fix: remove outdated guides for AI frameworks, managing iApps, orders…
Le-Caignec 7b228c6
fix: remove redundant "How It Works" section from iApp documentation
Le-Caignec 5aad044
fix: enhance iApp documentation with new trust benefits section
akugone 3f56df6
fix: remove trust benefits section from iApp documentation
akugone 0febd40
fix: improve clarity in iApp documentation
akugone 28a655e
fix: update iApp documentation for clarity and structure
akugone 6f44adf
fix: enhance iApp documentation for improved clarity and user experience
akugone 4de4349
fix: update iApp documentation for improved accuracy and clarity
akugone File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
--- | ||
title: Build and Deploy an iApp? | ||
description: | ||
How to build an confidential iexec application and deploy it on iexec protocol | ||
--- | ||
|
||
## iApp Generator: Your Development Tool | ||
|
||
Bootstrap TEE-compatible applications in minutes without any hardcoding skills, | ||
iApp Generator handles all the low-level complexity for you. | ||
|
||
- **Access to TEEs easily** - No need to dive into low-level requirements, build | ||
iApps that connect to TEEs in minutes. | ||
- **Check and deploy iApps quickly** - iApp Generator checks that your iApp | ||
complies with the iExec Framework and streamlines its deployment. | ||
- **Select your project mode & language** - Get started with either a basic or | ||
advanced setup, depending on your experience with the iExec framework. You can | ||
use Python or JavaScript—whichever you prefer! | ||
|
||
```bash | ||
# Create your iApp (Python or Node.js supported) | ||
iapp init my-privacy-app | ||
cd my-privacy-app | ||
|
||
# Develop and test locally (simulates TEE environment) | ||
iapp test | ||
# Deploy to the network | ||
iapp deploy | ||
``` | ||
|
||
<div class="bg-gradient-to-r from-blue-400/10 to-blue-400/5 rounded-[6px] p-4 border-l-4 border-blue-600 mb-6"> | ||
<p class="m-0! text-sm"><strong>Note:</strong> iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.</p> | ||
</div> | ||
|
||
## Real Examples | ||
|
||
Here are some real-world examples of iApps to help you understand how they work | ||
in practice. | ||
|
||
**Email Notification iApp** | ||
|
||
This iApp lets you send updates to your contacts without ever seeing their email | ||
addresses, privacy is preserved by design. | ||
|
||
::: code-group | ||
|
||
```python [Python] | ||
# User runs: "Send updates to my contacts about my project" | ||
contacts = load_protecteddata() # User's protected contact list | ||
for contact in contacts: | ||
send_email(contact, project_update_message) | ||
# → Emails sent directly, you never see the addresses | ||
``` | ||
|
||
```js [Node.js] | ||
/* User runs: "Send updates to my contacts about my project" */ | ||
const contacts = loadProtectedData(); // User's protected contact list | ||
contacts.forEach((contact) => { | ||
sendEmail(contact, projectUpdateMessage); | ||
}); | ||
// → Emails sent directly, you never see the addresses | ||
``` | ||
|
||
::: | ||
|
||
**Oracle Update iApp** | ||
|
||
This iApp securely updates a price oracle using private trading data, ensuring | ||
sensitive information stays confidential. | ||
|
||
::: code-group | ||
|
||
```python [Python] | ||
# User runs: "Update price oracle with my private trading data" | ||
trading_data = load_protecteddata() # User's protected trading history | ||
average_price = calculate_weighted_average(trading_data) | ||
update_oracle_contract(average_price) | ||
# → Oracle updated with real data, trading history stays private | ||
``` | ||
|
||
```js [Node.js] | ||
/* User runs: "Update price oracle with my private trading data" */ | ||
const tradingData = loadProtectedData(); // User's protected trading history | ||
const averagePrice = calculateWeightedAverage(tradingData); | ||
updateOracleContract(averagePrice); | ||
// → Oracle updated with real data, trading history stays private | ||
``` | ||
|
||
::: | ||
|
||
**Automated Transactions iApp** | ||
|
||
This iApp automates monthly payments using protected payment details, so | ||
financial information remains private. | ||
|
||
::: code-group | ||
|
||
```python [Python] | ||
# User runs: "Automate payments every month" | ||
payment_info = load_protecteddata() # User's payment details | ||
for month in range(12): | ||
process_payment(payment_info) | ||
# → Payments processed, payment details stay private | ||
``` | ||
|
||
```js [Node.js] | ||
/* User runs: "Automate payments every month" */ | ||
const paymentInfo = loadProtectedData(); // User's payment details | ||
for (let month = 0; month < 12; month++) { | ||
processPayment(paymentInfo); | ||
} | ||
// → Payments processed, payment details stay private | ||
``` | ||
|
||
::: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
Empty file.
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Empty heading section detected. This appears to be an incomplete markdown heading that should either be completed with descriptive text or removed.
Copilot uses AI. Check for mistakes.