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/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 1b1def7c..b5106cba 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,20 +26,254 @@ 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. -```bash -# Create your iApp (Python or Node.js supported) -iapp init my-privacy-app -cd my-privacy-app +## 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 +``` -# Develop and test locally (simulates TEE environment) -iapp test -# Deploy to the network -iapp deploy +```sh [bun] +bun add -g @iexec/iapp ``` -
-

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

-
+::: + +## Quick Start + +Once installed, you can create and deploy your first iApp. The CLI will guide +you through an interactive setup process to configure your project name, +programming language, and template: + + + +After the interactive setup, continue with development and deployment: + +## Development and Testing + +Navigate to your project and run tests locally to simulate the TEE environment. +The CLI will build a Docker image, run your app, and show you the results: + + + +## Deployment + +After your tests pass and the package is built, you can deploy your iApp to a +supported network. During deployment, you'll enter your DockerHub credentials, +specify your app version, and push both standard and TEE-compatible images: + + ## Real Examples @@ -91,7 +331,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. @@ -116,3 +356,7 @@ for month in range(12): ``` ::: + + diff --git a/src/build-iapp/guides/manage-access.md b/src/build-iapp/guides/manage-access.md index c121ca1e..fad6bb19 100644 --- a/src/build-iapp/guides/manage-access.md +++ b/src/build-iapp/guides/manage-access.md @@ -62,7 +62,7 @@ Here's an example app order for a sentiment analysis iApp: } ``` -## Creating an App Order from an iApp Generator Project +## Creating an App Order ### Step 1: Install the iExec SDK diff --git a/src/build-iapp/iapp-generator/building-your-iexec-app.md b/src/build-iapp/iapp-generator/building-your-iexec-app.md index bfcc03bf..d59293d8 100644 --- a/src/build-iapp/iapp-generator/building-your-iexec-app.md +++ b/src/build-iapp/iapp-generator/building-your-iexec-app.md @@ -16,11 +16,53 @@ environment. ### 🏗 Define your Project -Run: - -```sh -iapp init -``` + Follow the prompts to specify: @@ -156,3 +198,7 @@ Once your application is **stable** and **functional**, you can: - 🔗 [Order Management](https://protocol.docs.iex.ec/for-developers/advanced/manage-your-apporders) - 🔗 [iExec Protocol Documentation](https://protocol.docs.iex.ec/) + + diff --git a/src/components/CLIDemo.vue b/src/components/CLIDemo.vue new file mode 100644 index 00000000..e30d2c8a --- /dev/null +++ b/src/components/CLIDemo.vue @@ -0,0 +1,363 @@ + + + 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