Skip to content
Open
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
4 changes: 4 additions & 0 deletions .vitepress/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ export function getSidebar() {
text: 'Use Cases',
link: '/get-started/use-cases',
},
{
text: 'Dev workflow',
link: '/get-started/workflow',
},
{
text: 'Develop with AI',
link: '/get-started/develop-with-ai',
Expand Down
97 changes: 97 additions & 0 deletions src/get-started/workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
title: Build with iExec - Complete Workflow
description:
Step-by-step guide for developers to build and deploy applications with iExec
technology
---

# Build with iExec - Complete Workflow

Check warning on line 8 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L8

[Google.Headings] 'Build with iExec - Complete Workflow' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Build with iExec - Complete Workflow' should use sentence-style capitalization.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 8, "column": 3}}}, "severity": "WARNING"}

This guide walks you through building a complete application with iExec

Check warning on line 10 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L10

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 10, "column": 50}}}, "severity": "WARNING"}
technology using DataProtector & IApp generator, from initial setup to live

Check failure on line 11 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L11

[Vale.Terms] Use 'iApp' instead of 'IApp'.
Raw output
{"message": "[Vale.Terms] Use 'iApp' instead of 'IApp'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 11, "column": 34}}}, "severity": "ERROR"}
deployment.

## Prerequisites

- Node.js 20+ installed
- Ethereum wallet

Check failure on line 17 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L17

[Vale.Terms] Use 'ethereum' instead of 'Ethereum'.
Raw output
{"message": "[Vale.Terms] Use 'ethereum' instead of 'Ethereum'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 17, "column": 3}}}, "severity": "ERROR"}
- Docker installed & Docker Hub account

## Step 1: Install iExec SDK and Tools

Check warning on line 20 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L20

[Google.Headings] 'Step 1: Install iExec SDK and Tools' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Step 1: Install iExec SDK and Tools' should use sentence-style capitalization.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 20, "column": 4}}}, "severity": "WARNING"}

```bash
# Install iExec dependencies
npm install @iexec/dataprotector @iexec/iapp

```

## Step 2: Set a front end

You will need a front-end application to allow users to interact with your

Check warning on line 30 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L30

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 30, "column": 5}}}, "severity": "WARNING"}

Check warning on line 30 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L30

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 30, "column": 27}}}, "severity": "WARNING"}
platform and use DataProtector to protect their data.

To quickly bootstrap a Next.js project with DataProtector installed, use our

Check warning on line 33 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L33

[Google.We] Try to avoid using first-person plural like 'our'.
Raw output
{"message": "[Google.We] Try to avoid using first-person plural like 'our'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 33, "column": 74}}}, "severity": "WARNING"}
starter template:
[iExec Next.js Starter](https://github.com/iExecBlockchainComputing/iexec-nextjs-starter)

This template is composed with a simple Next.js project with a form enabling the

Check notice on line 37 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L37

[Google.Passive] In general, use active voice instead of passive voice ('is composed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is composed').", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 37, "column": 15}}}, "severity": "INFO"}
data protection through Dataprotector.

Check failure on line 38 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L38

[Vale.Terms] Use 'DataProtector' instead of 'Dataprotector'.
Raw output
{"message": "[Vale.Terms] Use 'DataProtector' instead of 'Dataprotector'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 38, "column": 25}}}, "severity": "ERROR"}

This starter is set up with iExec network by default, but you can change the

Check notice on line 40 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L40

[Google.Passive] In general, use active voice instead of passive voice ('is set').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is set').", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 40, "column": 14}}}, "severity": "INFO"}
deployment chain.

## Step 3: Build Your iExec Application (iApp)

Check warning on line 43 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L43

[Google.Headings] 'Step 3: Build Your iExec Application (iApp)' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Step 3: Build Your iExec Application (iApp)' should use sentence-style capitalization.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 43, "column": 4}}}, "severity": "WARNING"}

### 3.1 Check iApp Generator installation.

Check warning on line 45 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L45

[Google.HeadingPunctuation] Don't put a period at the end of a heading.
Raw output
{"message": "[Google.HeadingPunctuation] Don't put a period at the end of a heading.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 45, "column": 41}}}, "severity": "WARNING"}

Open your terminal and check if the iApp generator package is well installed on
your environment by running the following command:

```bash
iapp --version
```

### 3.2 Init & Custom you iApp

In order to compute protected data generated by DataProtector in a private and
confidential TEE environment, you need to bootstrap and customize your

Check notice on line 57 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L57

[Google.Acronyms] Spell out 'TEE', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'TEE', if it's unfamiliar to the audience.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 57, "column": 14}}}, "severity": "INFO"}
application with iApp generator before deploying it on the selected chain.

Check warning on line 58 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L58

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 58, "column": 1}}}, "severity": "WARNING"}
Please follow this guide:
[iApp Generator](/references/iapp-generator/getting-started)

### 3.3 Deploy your iApp

Once your iApp is ready, you can deploy it on the selected chain by running the
deploy command. Please follow this guide
[Deploy an iApp](/guides/build-iapp/deploy-&-run)

## Step 4: Manage access

Once your DataProtector workflow is installed on your frontend and your iExec

Check notice on line 70 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L70

[Google.Passive] In general, use active voice instead of passive voice ('is installed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is installed').", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 70, "column": 34}}}, "severity": "INFO"}
application is deployed, you can Manage Access. This means you need to authorize

Check warning on line 71 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L71

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 71, "column": 1}}}, "severity": "WARNING"}

Check notice on line 71 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L71

[Google.Passive] In general, use active voice instead of passive voice ('is deployed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is deployed').", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 71, "column": 13}}}, "severity": "INFO"}
both a user and the iExec application to process the data using the Grant Access

Check warning on line 72 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L72

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 72, "column": 27}}}, "severity": "WARNING"}
method. Please follow this guide
[Manage Access](/guides/build-iapp/manage-access)

## Next Steps

Check warning on line 76 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L76

[Google.Headings] 'Next Steps' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Next Steps' should use sentence-style capitalization.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 76, "column": 4}}}, "severity": "WARNING"}

- [Build an iApp](/guides/build-iapp/)
- [Manage Data Products](/guides/manage-data/)
- [Use iApps](/guides/use-iapp/)

Check failure on line 80 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L80

[Vale.Spelling] Did you really mean 'iApps'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'iApps'?", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 80, "column": 8}}}, "severity": "ERROR"}
- [Advanced Features](/guides/build-iapp/advanced/)

## Troubleshooting

- **Connection Issues**: Ensure your wallet is connected to the correct network

Check notice on line 85 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L85

[Google.Passive] In general, use active voice instead of passive voice ('is connected').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is connected').", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 85, "column": 45}}}, "severity": "INFO"}
(iExec mainnet)

Check failure on line 86 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L86

[Vale.Terms] Use 'Mainnet' instead of 'mainnet'.
Raw output
{"message": "[Vale.Terms] Use 'Mainnet' instead of 'mainnet'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 86, "column": 10}}}, "severity": "ERROR"}
- **Gas Fees**: Make sure you have sufficient RLC for transactions

Check notice on line 87 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L87

[Google.Acronyms] Spell out 'RLC', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'RLC', if it's unfamiliar to the audience.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 87, "column": 47}}}, "severity": "INFO"}
- **TEE Execution**: Verify your application is compatible with Trusted

Check notice on line 88 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L88

[Google.Acronyms] Spell out 'TEE', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'TEE', if it's unfamiliar to the audience.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 88, "column": 5}}}, "severity": "INFO"}

Check warning on line 88 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L88

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 88, "column": 34}}}, "severity": "WARNING"}
Execution Environments
- **Data Access**: Check that your application has proper access to protected

Check warning on line 90 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L90

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 90, "column": 36}}}, "severity": "WARNING"}
datasets

## Support

- [iExec Documentation](https://docs.iex.ec/)
- [Community Discord](https://discord.gg/iexec)
- [GitHub Issues](https://github.com/iExecBlockchainComputing/iexec-docs/issues)

Check failure on line 97 in src/get-started/workflow.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/get-started/workflow.md#L97

[Vale.Terms] Use 'Github' instead of 'GitHub'.
Raw output
{"message": "[Vale.Terms] Use 'Github' instead of 'GitHub'.", "location": {"path": "src/get-started/workflow.md", "range": {"start": {"line": 97, "column": 4}}}, "severity": "ERROR"}
Loading