Skip to content
Closed
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
node_modules
auto-imports.d.ts
components.d.ts
.cursor

#mac
.DS_Store
2 changes: 1 addition & 1 deletion .vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export default defineConfig({
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: 'Home', link: '/' },
{ text: 'Overview', link: '/overview/what-we-do' },
{ text: 'Overview', link: '/overview/speedrun-iexec' },
{ text: 'Protect Data', link: '/manage_data/guides' },
{ text: 'Build iApp', link: '/build_iapp/iapp-generator/what-is-iapp' },
{ text: 'Use iApp', link: '/use_iapp/introduction' },
Expand Down
32 changes: 10 additions & 22 deletions .vitepress/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ export function getSidebar() {
{
text: 'OVERVIEW',
items: [
{ text: '💡  What We Do', link: '/overview/what-we-do' },
{
text: '⚡  Speedrun iExec',
link: '/overview/speedrun-iexec',
},
{
text: '👋   Hello World',
link: '/overview/helloWorld',
Expand Down Expand Up @@ -358,39 +361,28 @@ export function getSidebar() {
},
{
text: '📖  Guides',
link: '/build_iapp/guides',
collapsed: true,
items: [
{
text: 'Manage Your iApps',
link: '/build_iapp/iapp-generator/manage-iapps',
},
{
text: 'Orders (how they work, how to manage them)',
text: 'App Access Control and Pricing',
link: '/build_iapp/guides/orders',
},
{
text: 'Inputs and Outputs (types, differences, formats)',
text: 'Inputs and Outputs',
link: '/build_iapp/guides/inputs-and-outputs',
},
{
text: 'Debugging Your iApp',
link: '/build_iapp/guides/debugging-your-iapp',
},
{
text: 'Using TDX (Trusted Execution) [EXPERIMENTAL]',
link: '/build_iapp/guides/using-tdx-experimental',
},
{
text: 'How to Get and Decrypt Results',
link: '/build_iapp/guides/how-to-get-and-decrypt-results',
},
{
text: 'AI Frameworks',
link: '/build_iapp/iapp-generator/ai-frameworks',
},
{
text: 'Other Emerging Trends',
link: '/build_iapp/guides/other-emerging-trends',
text: 'Using TDX (Experimental)',
link: '/build_iapp/guides/using-tdx-experimental',
},
],
},
Expand Down Expand Up @@ -426,13 +418,9 @@ export function getSidebar() {
{
text: 'USE AN iAPP',
items: [
{
text: '📝  Introduction',
link: '/use_iapp/introduction',
},
{
text: '🚀  Getting Started',
link: '/use_iapp/getting-started',
link: '/use_iapp/introduction',
},
{
text: '📖  Guides',
Expand Down
156 changes: 156 additions & 0 deletions build_iapp/guides.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
---
title: iApp Building Guides
description:
Step-by-step guides for building, deploying, and managing your privacy-first
iApps
---

# 📖 iApp Building Guides

**Master iApp development from code to production** with these comprehensive
step-by-step guides. Each guide focuses on a specific aspect of building
privacy-preserving applications with iExec.

## Essential Guides

### 💰 [App Access Control and Pricing](/build_iapp/guides/orders)

**Control who can use your iApp and monetize it.** Learn how to create app
orders to make your iApp accessible while defining pricing and access
restrictions.

- Create and manage app orders with iExec SDK
- Configure pricing, volume limits, and restrictions
- Understand TEE requirements and workerpool restrictions
- Common monetization patterns and use cases

---

### 📥📤 [Inputs and Outputs](/build_iapp/guides/inputs-and-outputs)

**Handle data flow in your iApp's TEE environment.** Master the different input
types and learn how to generate proper outputs that users can retrieve.

- 4 input types: Args, Input Files, Requester Secrets, Protected Data
- Access methods via environment variables and file system
- TEE memory constraints and best practices
- Output structure with mandatory `computed.json`

---

### 🐛 [Debugging Your iApp](/build_iapp/guides/debugging-your-iapp)

**Troubleshoot and optimize your iApp execution in the TEE environment.** Master
debugging techniques and best practices for reliable iApp development.

- Task execution lifecycle and monitoring
- iExec Explorer and CLI debugging tools
- Common issues: timeouts, memory limits, input/output problems
- Best practices: input validation, error handling, performance optimization

---

### 📦 [How to Get and Decrypt Results](/build_iapp/guides/how-to-get-and-decrypt-results)

**Download and decrypt iApp execution results from completed tasks.** Learn the
complete workflow for retrieving and using iApp outputs.

- Deal → Task → Result structure and accessibility
- Download methods: iExec CLI and DataProtector SDK
- Automatic vs manual decryption workflows
- Integration patterns for React and Node.js applications

---

### 🛡️ [Using TDX (Experimental)](/build_iapp/guides/using-tdx-experimental)

**Enable Intel TDX for enhanced TEE security - experimental feature only.**
Understand how to activate TDX and when to use it.

- How to enable TDX in iApp Generator deployment and execution
- SGX vs TDX differences and compatibility requirements
- Protected data compatibility considerations
- Production warnings and experimental limitations

## Quick Navigation

::: tip What You'll Learn These guides cover the complete journey from iApp
development to production deployment, user access management, and result
handling. :::

### By Development Stage

- **🚀 Just built your iApp?** →
[App Access Control and Pricing](/build_iapp/guides/orders)
- **🔧 Handling data flow?** →
[Inputs and Outputs](/build_iapp/guides/inputs-and-outputs)
- **🐛 Having issues?** →
[Debugging Your iApp](/build_iapp/guides/debugging-your-iapp)
- **📦 Need results?** →
[How to Get and Decrypt Results](/build_iapp/guides/how-to-get-and-decrypt-results)

### By User Type

**iApp Developer**: You build the privacy-preserving application
→ [Inputs and Outputs](/build_iapp/guides/inputs-and-outputs) +
[Debugging](/build_iapp/guides/debugging-your-iapp)

**App Owner**: You deploy and monetize the iApp
→ [App Access Control and Pricing](/build_iapp/guides/orders)

**End User Guide**: Your users need to retrieve results
→ [How to Get and Decrypt Results](/build_iapp/guides/how-to-get-and-decrypt-results)

## Development Workflow

### 1. **Build Your iApp**

Start with [iApp Generator](/build_iapp/iapp-generator) to create your
privacy-preserving application.

### 2. **Handle Data Flow**

Use the [Inputs and Outputs](/build_iapp/guides/inputs-and-outputs) guide to
properly access different input types and generate results.

### 3. **Debug and Test**

Follow the [Debugging](/build_iapp/guides/debugging-your-iapp) guide to
troubleshoot issues and optimize performance.

### 4. **Control Access**

Implement [App Access Control and Pricing](/build_iapp/guides/orders) to make
your iApp accessible with proper monetization.

### 5. **User Experience**

Implement [Result Retrieval](/build_iapp/guides/how-to-get-and-decrypt-results)
to provide users with seamless access to iApp outputs.

## Additional Resources

### 📚 **iApp Generator**

- [What Is an iApp?](/build_iapp/iapp-generator/what-is-iapp) - Core concepts
and overview
- [Getting Started](/build_iapp/iapp-generator/getting-started) - Your first
iApp in 15 minutes
- [Building Your iApp](/build_iapp/iapp-generator/building-your-iexec-app) -
Complete development guide

### 🎯 **Real Examples**

- [Hello World Tutorial](/overview/helloWorld) - End-to-end iApp development
- [AI Use Cases](/overview/use-cases/ai) - AI-powered privacy applications

### 🔧 **Advanced Topics**

- [SDK Deep Dive](/deep_dive/sdk) - Advanced SDK concepts and usage
- [Workers & Workerpools](/deep_dive/workers) - Understanding the execution
infrastructure

---

**Ready to build privacy-first applications?** Pick the guide that matches your
current development stage and start building! 🚀
Loading
Loading