From 9a12b0c328ee941330eef718180a4e62776b59b4 Mon Sep 17 00:00:00 2001 From: Le-Caignec Date: Mon, 11 Aug 2025 10:24:26 +0200 Subject: [PATCH 1/6] feat: update sidebar and enhance documentation for iApp setup --- .vitepress/sidebar.ts | 2 +- src/build-iapp/guides/build-&-deploy.md | 60 +++++- src/components/CLIDemo.vue | 236 ++++++++++++++++++++++++ src/overview/welcome.md | 2 +- 4 files changed, 294 insertions(+), 6 deletions(-) create mode 100644 src/components/CLIDemo.vue diff --git a/.vitepress/sidebar.ts b/.vitepress/sidebar.ts index 61ac6b43..88f4601c 100644 --- a/.vitepress/sidebar.ts +++ b/.vitepress/sidebar.ts @@ -479,7 +479,7 @@ export function getSidebar() { ], }, { - text: '๐Ÿ’ฌ Web3Telegram alpha', + text: '๐Ÿ’ฌ Web3Telegram', link: '/use-iapp/web3telegram', collapsed: true, items: [ diff --git a/src/build-iapp/guides/build-&-deploy.md b/src/build-iapp/guides/build-&-deploy.md index 1b1def7c..0840a72e 100644 --- a/src/build-iapp/guides/build-&-deploy.md +++ b/src/build-iapp/guides/build-&-deploy.md @@ -6,6 +6,12 @@ description: # Create and Deploy an iApp +iApps (iExec Applications) are decentralized applications that run on the iExec +network. They leverage confidential computing to ensure data privacy and +security while providing scalable off-chain computation. + +## About iApp Generator + Bootstrap TEE-compatible applications in minutes without any hardcoding skills, iApp Generator handles all the low-level complexity for you. @@ -20,13 +26,59 @@ iApp Generator handles all the low-level complexity for you. - **Check and deploy iApps quickly** - iApp Generator checks that your iApp complies with the iExec Framework and streamlines its deployment. +## Prerequisites + +Before getting started, make sure you have the following installed: + +- **Node.js** (version 18 or higher) - [Download here](https://nodejs.org/) +- **Docker** - [Download here](https://www.docker.com/get-started) +- **Docker Hub account** - [Sign up here](https://hub.docker.com/) (required for + deployment) + +## Installation + +First, install the iApp Generator CLI tool using your preferred package manager: + +::: code-group + +```sh [npm] +npm install -g @iexec/iapp +``` + +```sh [yarn] +yarn global add @iexec/iapp +``` + +```sh [pnpm] +pnpm add -g @iexec/iapp +``` + +```sh [bun] +bun add -g @iexec/iapp +``` + +::: + + + +## Quick Start + +Once installed, you can create and deploy your first iApp. The CLI will guide +you through an interactive setup process: + + + +After the interactive setup, continue with development and deployment: + ```bash -# Create your iApp (Python or Node.js supported) -iapp init my-privacy-app -cd my-privacy-app +# Navigate to your project +cd hello-world # Develop and test locally (simulates TEE environment) iapp test + # Deploy to the network iapp deploy ``` @@ -91,7 +143,7 @@ update_oracle_contract(average_price) ::: -**Automated Transactions iApp** +### Automated Transactions iApp This iApp automates monthly payments using protected payment details, so financial information remains private. diff --git a/src/components/CLIDemo.vue b/src/components/CLIDemo.vue new file mode 100644 index 00000000..fbc20d0a --- /dev/null +++ b/src/components/CLIDemo.vue @@ -0,0 +1,236 @@ + + + diff --git a/src/overview/welcome.md b/src/overview/welcome.md index f6bb652b..351f64ed 100644 --- a/src/overview/welcome.md +++ b/src/overview/welcome.md @@ -4,7 +4,7 @@ description: Discover how iExec empowers developers to build privacy-first applications --- -# ๐Ÿ’ก The Privacy Toolkit +# ๐Ÿ’ก Privacy Made Easy

Welcome to iExec

From c7d124323f2331bc0f7e20d95c62c061562d36fd Mon Sep 17 00:00:00 2001 From: Le-Caignec Date: Mon, 11 Aug 2025 11:45:55 +0200 Subject: [PATCH 2/6] feat: add figlet dependency and enhance CLI demo with dynamic steps and ASCII art --- package-lock.json | 21 ++ package.json | 2 + src/build-iapp/guides/build-&-deploy.md | 135 ++++++++-- src/components/CLIDemo.vue | 315 +++++++++++++++--------- 4 files changed, 337 insertions(+), 136 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2dccf20b..fabb7040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@vueuse/core": "^13.6.0", "@wagmi/vue": "^0.1.24", "clsx": "^2.1.1", + "figlet": "^1.8.2", "pinia": "^3.0.3", "reka-ui": "^2.4.1", "tailwind-merge": "^3.3.1", @@ -32,6 +33,7 @@ "devDependencies": { "@iconify/vue": "^5.0.0", "@shikijs/vitepress-twoslash": "^3.8.0", + "@types/figlet": "^1.7.0", "@types/prop-types": "^15.7.15", "@types/react": "^18.3.23", "prettier": "^3.6.2", @@ -2736,6 +2738,13 @@ "version": "1.0.8", "license": "MIT" }, + "node_modules/@types/figlet": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@types/figlet/-/figlet-1.7.0.tgz", + "integrity": "sha512-KwrT7p/8Eo3Op/HBSIwGXOsTZKYiM9NpWRBJ5sVjWP/SmlS+oxxRvJht/FNAtliJvja44N3ul1yATgohnVBV0Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/hast": { "version": "3.0.4", "dev": true, @@ -7462,6 +7471,18 @@ "reusify": "^1.0.4" } }, + "node_modules/figlet": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.8.2.tgz", + "integrity": "sha512-iPCpE9B/rOcjewIzDnagP9F2eySzGeHReX8WlrZQJkqFBk2wvq8gY0c6U6Hd2y9HnX1LQcYSeP7aEHoPt6sVKQ==", + "license": "MIT", + "bin": { + "figlet": "bin/index.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "license": "MIT", diff --git a/package.json b/package.json index ac5df8b1..e805e9b9 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@vueuse/core": "^13.6.0", "@wagmi/vue": "^0.1.24", "clsx": "^2.1.1", + "figlet": "^1.8.2", "pinia": "^3.0.3", "reka-ui": "^2.4.1", "tailwind-merge": "^3.3.1", @@ -33,6 +34,7 @@ "devDependencies": { "@iconify/vue": "^5.0.0", "@shikijs/vitepress-twoslash": "^3.8.0", + "@types/figlet": "^1.7.0", "@types/prop-types": "^15.7.15", "@types/react": "^18.3.23", "prettier": "^3.6.2", diff --git a/src/build-iapp/guides/build-&-deploy.md b/src/build-iapp/guides/build-&-deploy.md index 0840a72e..af6c4990 100644 --- a/src/build-iapp/guides/build-&-deploy.md +++ b/src/build-iapp/guides/build-&-deploy.md @@ -59,29 +59,130 @@ bun add -g @iexec/iapp ::: - - ## Quick Start Once installed, you can create and deploy your first iApp. The CLI will guide you through an interactive setup process: - + After the interactive setup, continue with development and deployment: -```bash -# Navigate to your project -cd hello-world - -# Develop and test locally (simulates TEE environment) -iapp test - -# Deploy to the network -iapp deploy -``` +## Development and Testing + +Navigate to your project and run tests locally to simulate the TEE environment: + + + +## Deployment + +Once your tests pass and the package is built, deploy your iApp to the iExec +network: + +

Note: iApp Generator currently supports Python and Node.js, but iApps can be built in any language that runs in Docker.

@@ -168,3 +269,7 @@ for month in range(12): ``` ::: + + diff --git a/src/components/CLIDemo.vue b/src/components/CLIDemo.vue index fbc20d0a..c8827331 100644 --- a/src/components/CLIDemo.vue +++ b/src/components/CLIDemo.vue @@ -1,8 +1,12 @@ diff --git a/src/components/CLIDemo.vue b/src/components/CLIDemo.vue index c8827331..d83aa7b7 100644 --- a/src/components/CLIDemo.vue +++ b/src/components/CLIDemo.vue @@ -39,35 +39,49 @@
{{ step.isComplete ? 'โœ”' : '?' }} - {{ step.question }} - - {{ typedText }} - - {{ step.answer }} - - +
+ {{ step.question }} + + {{ typedAnswers[index] || '' }} + + {{ step.answer }} + + +
@@ -100,7 +114,7 @@
โœจ @@ -130,7 +144,7 @@