### Docker Quick Start for AI Frameworks Source: https://docs.iex.ec/protocol/ai This section provides bash commands to clone the ai-frameworks-hello-world repository and build/run Docker containers for TensorFlow and PyTorch examples. It demonstrates how to get started with testing different AI frameworks in isolated environments. ```bash # Clone the repository git clone https://github.com/iExecBlockchainComputing/ai-frameworks-hello-world.git cd ai-frameworks-hello-world # Try TensorFlow example cd tensorflow docker build -t hello-tensorflow . docker run --rm hello-tensorflow # Try PyTorch example cd ../pytorch docker build -t hello-pytorch . docker run --rm hello-pytorch ``` -------------------------------- ### Install iExec SDK CLI Source: https://docs.iex.ec/guides/build-iapp/advanced/quick-start Installs the iExec SDK command-line interface globally using npm. This command is essential for interacting with the iExec network via the terminal. After installation, you can verify it by checking the version or displaying the help menu. ```bash npm -g install iexec # install the CLI iexec --version iexec --help ``` -------------------------------- ### Example: Get Granted Accesses and Prepare Bulk Request (TypeScript) Source: https://docs.iex.ec/references/dataProtector/methods/prepareBulkRequest A complete example demonstrating how to retrieve granted accesses with bulk capability, then prepare a bulk request with result encryption enabled, and finally process the bulk request using the returned 'bulkRequest' and 'pemPrivateKey'. ```typescript // Get granted accesses with bulk capability const { grantedAccess } = await dataProtectorCore.getGrantedAccess({ bulkOnly: true, }); // Prepare the bulk request with encryption const { bulkRequest, pemPrivateKey } = await dataProtectorCore.prepareBulkRequest({ bulkAccesses: grantedAccess, app: '0x456def...', encryptResult: true, }); // Use the bulkRequest and pemPrivateKey to process the bulk request const { tasks } = await dataProtectorCore.processBulkRequest({ bulkRequest: bulkRequest, pemPrivateKey: pemPrivateKey, waitForResult: true, }); ``` -------------------------------- ### Instantiate IExecWeb3mail with a Web3 Provider (Browser) Source: https://docs.iex.ec/references/web3mail/getting-started Initializes the IExecWeb3mail SDK in a browser environment using the window.ethereum object as the Web3 provider. This allows for interaction with the user's Ethereum wallet. ```typescript import { IExecWeb3mail } from '@iexec/web3mail'; const web3Provider = window.ethereum; // instantiate const web3mail = new IExecWeb3mail(web3Provider); ``` -------------------------------- ### Install iExec iApp Generator (npm) Source: https://docs.iex.ec/references/iapp-generator/getting-started Installs the iExec iApp generator globally using npm. This command requires Node.js v20+ and makes the `iapp` command available in your terminal. ```bash npm install -g @iexec/iapp ``` -------------------------------- ### Install iExec Web3Telegram SDK with Bun Source: https://docs.iex.ec/references/web3telegram/getting-started Installs the @iexec/web3telegram package using Bun. Ensure you have Node.js version 18 or higher and Bun installed. This package is an ESM package, so your project must also use ESM. ```bash bun add @iexec/web3telegram ``` -------------------------------- ### Install iExec Web3Telegram SDK with NPM Source: https://docs.iex.ec/references/web3telegram/getting-started Installs the @iexec/web3telegram package using NPM. Ensure you have Node.js version 18 or higher and NPM installed. This package is an ESM package, so your project must also use ESM. ```bash npm install @iexec/web3telegram ``` -------------------------------- ### Instantiate IExecWeb3mail with a Web3 Provider (Node.js) Source: https://docs.iex.ec/references/web3mail/getting-started Initializes the IExecWeb3mail SDK in a Node.js environment using a private key to obtain a Web3 provider. This is suitable for server-side operations or scripts requiring programmatic access to an Ethereum account. ```typescript import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail'; // get web3 provider from a private key const web3Provider = getWeb3Provider('YOUR_PRIVATE_KEY'); // instantiate const web3mail = new IExecWeb3mail(web3Provider); ``` -------------------------------- ### Instantiate iExec Web3Telegram SDK in Browser Source: https://docs.iex.ec/references/web3telegram/getting-started Imports and instantiates the IExecWeb3telegram SDK in a browser environment. It requires the window.ethereum object to be available and assumes a Web3 provider is connected. ```typescript import { IExecWeb3telegram } from '@iexec/web3telegram'; const web3Provider = window.ethereum; // instantiate const web3telegram = new IExecWeb3telegram(web3Provider); ``` -------------------------------- ### Instantiate iExec Web3Telegram SDK in Node.js Source: https://docs.iex.ec/references/web3telegram/getting-started Imports and instantiates the IExecWeb3telegram SDK in a Node.js environment using a private key. Requires the getWeb3Provider helper function and a valid private key string. ```typescript import { IExecWeb3telegram, getWeb3Provider } from '@iexec/web3telegram'; // get web3 provider from a private key const web3Provider = getWeb3Provider('YOUR_PRIVATE_KEY'); // instantiate const web3telegram = new IExecWeb3telegram(web3Provider); ``` -------------------------------- ### Install iExec SDK using npm, yarn, pnpm, or bun Source: https://docs.iex.ec/guides/use-iapp/run-iapp-without-ProtectedData These commands show how to install the iExec SDK using different package managers: npm, yarn, pnpm, and bun. Ensure you have Node.js and your chosen package manager installed. ```sh npm install iexec ``` ```sh yarn add iexec ``` ```sh pnpm add iexec ``` ```sh bun add iexec ``` -------------------------------- ### Install iExec iapp package (bun) Source: https://docs.iex.ec/get-started/helloWorld/3-buildIApp Installs the iExec iapp package globally using bun. This command is a modern alternative for installing the iApp generator tool. ```sh bun add -g @iexec/iapp ``` -------------------------------- ### iExec SDK CLI Installation (npm) Source: https://docs.iex.ec/guides/build-iapp/manage-access Installs the iExec SDK package using npm. This is the first step to manage app orders via the command line. ```bash npm install iexec ``` -------------------------------- ### Install iExec iapp package (npm) Source: https://docs.iex.ec/get-started/helloWorld/3-buildIApp Installs the iExec iapp package globally using npm. This command is used to set up the iApp generator tool on your system. ```sh npm i -g @iexec/iapp ``` -------------------------------- ### Check iapp installation and version Source: https://docs.iex.ec/get-started/helloWorld/3-buildIApp Verifies the installation of the iExec iapp package by checking its version and displaying available commands. This helps confirm the tool is ready for use. ```sh #checking the version iapp --version #checking the available commands iapp --help ``` -------------------------------- ### Instantiate IExecWeb3mail without a Web3 Provider (Node.js) Source: https://docs.iex.ec/references/web3mail/getting-started Initializes the IExecWeb3mail SDK in a Node.js environment without a Web3 provider. This allows for read-only access to iExec functionalities from a server or script where direct wallet interaction is not needed. ```typescript import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail'; // instantiate const web3mail = new IExecWeb3mail(); ``` -------------------------------- ### Install DataProtector SDK using bun Source: https://docs.iex.ec/get-started/helloWorld/2-protectData This command installs the iExec DataProtector SDK using the bun package manager. This is a prerequisite for using the SDK in your project to protect data. ```bash bun add @iexec/dataprotector ``` -------------------------------- ### iExec SDK CLI Installation (bun) Source: https://docs.iex.ec/guides/build-iapp/manage-access Installs the iExec SDK package using bun. This is a modern JavaScript runtime and package manager for installing the iExec SDK. ```bash bun add iexec ``` -------------------------------- ### iExec SDK Installation Source: https://docs.iex.ec/guides/use-iapp/run-iapp-without-ProtectedData Instructions for installing the iExec SDK using different package managers. ```APIDOC ## iExec SDK Installation This section outlines the steps to install the iExec SDK into your project. ### npm ```sh npm install iexec ``` ### yarn ```sh yarn add iexec ``` ### pnpm ```sh pnpm add iexec ``` ### bun ```sh bun add iexec ``` ``` -------------------------------- ### Install DataProtector Source: https://docs.iex.ec/guides/manage-data/manage-access Instructions on how to install the DataProtector package using different package managers. ```APIDOC ## Install DataProtector First, install DataProtector in your project (for more details see DataProtector Getting Started): ### npm ```bash npm install @iexec/dataprotector ``` ### yarn ```bash yarn add @iexec/dataprotector ``` ### pnpm ```bash pnpm add @iexec/dataprotector ``` ### bun ```bash bun add @iexec/dataprotector ``` ``` -------------------------------- ### App Order Example Structure Source: https://docs.iex.ec/guides/build-iapp/manage-access An example JSON structure for an iExec app order, outlining key parameters like app address, price, volume, and restrictions. ```json { "apporder": { "app": "0xYourAppAddress", "appprice": "1000000000", "volume": "100", "tag": "0x0000000000000000000000000000000000000000000000000000000000000003", "datasetrestrict": "0x0000000000000000000000000000000000000000", "workerpoolrestrict": "0x0000000000000000000000000000000000000000", "requesterrestrict": "0x0000000000000000000000000000000000000000" } } ``` -------------------------------- ### Install DataProtector SDK using npm Source: https://docs.iex.ec/get-started/helloWorld/2-protectData This command installs the iExec DataProtector SDK using the npm package manager. This is a prerequisite for using the SDK in your project to protect data. ```bash npm install @iexec/dataprotector ``` -------------------------------- ### Install DataProtector SDK using pnpm Source: https://docs.iex.ec/get-started/helloWorld/2-protectData This command installs the iExec DataProtector SDK using the pnpm package manager. This is a prerequisite for using the SDK in your project to protect data. ```bash pnpm add @iexec/dataprotector ``` -------------------------------- ### Install DataProtector SDK using yarn Source: https://docs.iex.ec/get-started/helloWorld/2-protectData This command installs the iExec DataProtector SDK using the yarn package manager. This is a prerequisite for using the SDK in your project to protect data. ```bash yarn add @iexec/dataprotector ``` -------------------------------- ### Initialize iExec Project Directory Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Sets up the necessary directory structure for an iExec application. It creates a new directory, initializes it with iExec using `iexec init --skip-wallet`, and prepares subdirectories and files for the application's source code and build process. ```bash cd ~/iexec-projects mkdir tee-hello-world-app && cd tee-hello-world-app iexec init --skip-wallet mkdir src touch Dockerfile touch sconify.sh chmod +x sconify.sh ``` -------------------------------- ### Install iExec Web3Telegram SDK with PNPM Source: https://docs.iex.ec/references/web3telegram/getting-started Installs the @iexec/web3telegram package using PNPM. Ensure you have Node.js version 18 or higher and PNPM installed. This package is an ESM package, so your project must also use ESM. ```bash pnpm add @iexec/web3telegram ``` -------------------------------- ### Install iExec Web3Telegram SDK with Yarn Source: https://docs.iex.ec/references/web3telegram/getting-started Installs the @iexec/web3telegram package using Yarn. Ensure you have Node.js version 18 or higher and Yarn installed. This package is an ESM package, so your project must also use ESM. ```bash yarn add @iexec/web3telegram ``` -------------------------------- ### Simulate Input Files for iExec Application Testing Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Demonstrates how to test an iExec application with input files by copying them into the local input volume and configuring Docker with environment variables specifying the input file names and count. This simulates a real iExec task with multiple inputs. ```bash touch ./tmp/iexec_in/file1 && \ touch ./tmp/iexec_in/file2 && \ docker run \ -v ./tmp/iexec_in:/iexec_in \ -v ./tmp/iexec_out:/iexec_out \ -e IEXEC_IN=/iexec_in \ -e IEXEC_OUT=/iexec_out \ -e IEXEC_INPUT_FILE_NAME_1=file1 \ -e IEXEC_INPUT_FILE_NAME_2=file2 \ -e IEXEC_INPUT_FILES_NUMBER=2 \ hello-world \ arg1 arg2 arg3 ``` -------------------------------- ### Bootstrap a new iApp project Source: https://docs.iex.ec/get-started/helloWorld/3-buildIApp Initializes a new iApp project directory using the `iapp init` command. This command sets up the project structure, creates an Ethereum wallet, and prepares the main application files. ```sh mkdir iexec-test cd iexec-test iapp init ``` -------------------------------- ### Install @iexec/web3mail using npm, yarn, pnpm, or bun Source: https://docs.iex.ec/references/web3mail/getting-started Installs the @iexec/web3mail package. Ensure Node.js v18+ and NPM are installed. The package is ESM-only, requiring your project to use ESM as well. Webpack users may need polyfills. ```npm npm install @iexec/web3mail ``` ```yarn yarn add @iexec/web3mail ``` ```pnpm pnpm add @iexec/web3mail ``` ```bun bun add @iexec/web3mail ``` -------------------------------- ### Build Docker Image for iExec (Multi-platform) Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Builds a Docker image for deployment on iExec, ensuring compatibility with the `linux/amd64` platform. Includes instructions for installing `buildkit` and building for both ARM64 (for local testing on M-series Macs) and AMD64 (for iExec deployment). ```bash brew install buildkit # ARM64 variant for local testing only docker buildx build --platform linux/arm64 --tag /hello-world . # AMD64 variant to deploy on iExec docker buildx build --platform linux/amd64 --tag /hello-world . ``` -------------------------------- ### Build Docker Image Locally Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Builds a Docker image for local testing and development. This command creates a Docker image tagged as 'hello-world' from the current directory's Dockerfile. ```bash docker build --tag hello-world . ``` -------------------------------- ### Publish App to iExec Marketplace Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Publishes your deployed application to the iExec Marketplace, making it available for other users to discover and request executions. This command initiates the process of creating an apporder. ```bash iexec app publish --chain arbitrum-mainnet ``` -------------------------------- ### Generate iApp Completion Script (Bash) Source: https://docs.iex.ec/references/iapp-generator/getting-started Generates and displays the shell auto-completion script for the `iapp` command. You should follow the on-screen instructions to add this script to your shell's configuration. ```bash iapp completion ``` -------------------------------- ### Create Local Directories for iExec Input/Output Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Sets up local directories to mimic the input and output volumes for iExec applications when running locally with Docker. This is a prerequisite for simulating iExec environments. ```bash mkdir -p ./tmp/iexec_in mkdir -p ./tmp/iexec_out ``` -------------------------------- ### Build TEE Docker Image with Scone (Node.js Example) Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Wraps the Scone sconification process in a bash script to build a TEE Docker image. It binds the generated signing key and Docker socket, then runs the sconify tool to convert a standard Docker image into a TEE-enabled one, suitable for Node.js applications. ```bash #!/bin/bash # Declare image related variables IMG_FROM=/hello-world IMG_TO=/tee-scone-hello-world:1.0.0 # Run the sconifier to build the TEE image based on the non-TEE image docker run -it --rm \ -v $PWD/enclave-key.pem:/sig/enclave-key.pem \ -v /var/run/docker.sock:/var/run/docker.sock \ registry.scontain.com/scone-production/iexec-sconify-image:5.9.1-v16\ sconify_iexec \ --scone-signer=/sig/enclave-key.pem \ --from=${IMG_FROM} \ --to=${IMG_TO} \ --binary-fs \ --fs-dir=/app \ --host-path=/etc/hosts \ --host-path=/etc/resolv.conf \ --binary=/usr/local/bin/node \ --heap=1G \ --dlopen=1 \ --verbose \ && echo -e "\n------------------\n" \ && echo "successfully built TEE docker image => ${IMG_TO}" \ && echo "application mrenclave.fingerprint is $(docker run --rm -e SCONE_HASH=1 ${IMG_TO})" ``` -------------------------------- ### Build TEE Docker Image with Scone (Python Example) Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Provides a bash script to perform the Scone sconification, converting a standard Docker image into a TEE-enabled one. This script is specifically configured for Python applications, specifying the Python binary and other necessary parameters for the TEE image build process. ```bash #!/bin/bash # Declare image related variables IMG_FROM=/hello-world IMG_TO=/tee-scone-hello-world:1.0.0 # Run the sconifier to build the TEE image based on the non-TEE image docker run -it --rm \ -v $PWD/enclave-key.pem:/sig/enclave-key.pem \ -v /var/run/docker.sock:/var/run/docker.sock \ registry.scontain.com/scone-production/iexec-sconify-image:5.9.1-v16\ sconify_iexec \ --from=${IMG_FROM} \ --to=${IMG_TO} \ --binary-fs \ --fs-dir=/app \ --host-path=/etc/hosts \ --host-path=/etc/resolv.conf \ --binary=/usr/local/bin/python3 \ --heap=1G \ --dlopen=1 \ --verbose \ && echo -e "\n------------------\n" \ && echo "successfully built TEE docker image => ${IMG_TO}" \ && echo "application mrenclave.fingerprint is $(docker run --rm -e SCONE_HASH=1 ${IMG_TO})" ``` -------------------------------- ### Show Deployed iApps Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Displays information about the iApps deployed on the specified blockchain network. This command helps in verifying the deployment and retrieving the app's address or index. ```bash iexec app show --chain arbitrum-mainnet ``` -------------------------------- ### Get Granted Access by Authorized User - TypeScript Source: https://docs.iex.ec/references/dataProtector/methods/getGrantedAccess Shows how to retrieve access grants authorized for a particular user. This example utilizes the authorizedUser parameter for filtering. ```typescript const listGrantedAccess = await dataProtectorCore.getGrantedAccess({ authorizedUser: '0x789cba...', }); ``` -------------------------------- ### Push TEE Docker Image to DockerHub Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Logs into DockerHub and pushes the newly built TEE Docker image to the registry. This makes the secure application accessible for deployment on the iExec platform or for distribution. ```bash docker login docker push /tee-scone-hello-world:1.0.0 ``` -------------------------------- ### Get Granted Access by Authorized App - TypeScript Source: https://docs.iex.ec/references/dataProtector/methods/getGrantedAccess Demonstrates filtering access grants to show only those authorized for a specific application. This example uses the authorizedApp parameter to narrow down the results. ```typescript const listGrantedAccess = await dataProtectorCore.getGrantedAccess({ authorizedApp: '0x456def...', }); ``` -------------------------------- ### Run Basic Application Locally with Docker Volumes Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Executes a Docker container, binding local directories to simulate iExec input and output volumes. It also sets environment variables to mimic the iExec runtime, allowing for local testing of applications. ```bash docker run --rm \ -v ./tmp/iexec_in:/iexec_in \ -v ./tmp/iexec_out:/iexec_out \ -e IEXEC_IN=/iexec_in \ -e IEXEC_OUT=/iexec_out \ hello-world arg1 arg2 arg3 ``` -------------------------------- ### Instantiate IExecWeb3mail without a Web3 Provider (Browser) Source: https://docs.iex.ec/references/web3mail/getting-started Initializes the IExecWeb3mail SDK in a browser environment without a Web3 provider. This is useful for read-only operations that do not require user authentication or transaction signing. ```typescript import { IExecWeb3mail } from '@iexec/web3mail'; // instantiate const web3mail = new IExecWeb3mail(); ``` -------------------------------- ### Get Granted Access by Protected Data - TypeScript Source: https://docs.iex.ec/references/dataProtector/methods/getGrantedAccess Illustrates fetching access grants specifically for a given protected data object. This example shows the basic usage of the getGrantedAccess method with only the protectedData parameter. ```typescript const listGrantedAccess = await dataProtectorCore.getGrantedAccess({ protectedData: '0x123abc...', }); ``` -------------------------------- ### Initialize TEE App Template Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Initializes a new Trusted Execution Environment (TEE) application template using the iexec CLI. This command sets up the basic structure for a TEE app. ```bash iexec app init --tee ``` -------------------------------- ### Create iExec Wallet Source: https://docs.iex.ec/guides/build-iapp/advanced/quick-start Creates a new wallet for your identity on the iExec blockchain. This process generates a private key and a public address, which are protected by a password you set. The wallet file is stored in the standard Ethereum keystore location. ```bash iexec wallet create ``` -------------------------------- ### Install DataProtector with npm, yarn, pnpm, or bun Source: https://docs.iex.ec/guides/manage-data/manage-access Installs the DataProtector library into your project using different package managers. Ensure you have Node.js and a package manager installed. ```bash npm install @iexec/dataprotector ``` ```bash yarn add @iexec/dataprotector ``` ```bash pnpm add @iexec/dataprotector ``` ```bash bun add @iexec/dataprotector ``` -------------------------------- ### iExec SDK CLI Installation (yarn) Source: https://docs.iex.ec/guides/build-iapp/manage-access Installs the iExec SDK package using yarn. This is an alternative package manager for installing the iExec SDK. ```bash yarn add iexec ``` -------------------------------- ### View Published App Orders Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Displays the app orders associated with your deployed application on the iExec marketplace. This allows you to review the conditions under which your app can be accessed and executed by others. ```bash iexec orderbook app --chain arbitrum-mainnet ``` -------------------------------- ### iExec SDK CLI Installation (pnpm) Source: https://docs.iex.ec/guides/build-iapp/manage-access Installs the iExec SDK package using pnpm. This is another package manager option for installing the iExec SDK. ```bash pnpm add iexec ``` -------------------------------- ### Install iExec iapp package (pnpm) Source: https://docs.iex.ec/get-started/helloWorld/3-buildIApp Installs the iExec iapp package globally using pnpm. This command is another alternative for installing the iApp generator tool. ```sh pnpm add -g @iexec/iapp ``` -------------------------------- ### Install iExec iapp package (yarn) Source: https://docs.iex.ec/get-started/helloWorld/3-buildIApp Installs the iExec iapp package globally using yarn. This command is an alternative to npm for installing the iApp generator tool. ```sh yarn global add @iexec/iapp ``` -------------------------------- ### Login to SCONE Registry Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Logs the user into the SCONE container registry, which is necessary to access SCONE build tools and curated images. This command requires an activated SCONE account and prior request for access to iExec build tools. ```bash docker login registry.scontain.com ``` -------------------------------- ### Deploy TEE iApp Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Deploys the configured iApp to the specified blockchain network (e.g., arbitrum-mainnet). This makes the application available on the iExec network. ```bash iexec app deploy --chain arbitrum-mainnet ``` -------------------------------- ### Prepare Bulk Request with Input Files (TypeScript) Source: https://docs.iex.ec/references/dataProtector/methods/prepareBulkRequest Shows how to specify input files for a bulk request using the 'inputFiles' parameter. These URLs represent the files that will be used for all tasks in the bulk request. ```typescript const { bulkRequest } = await dataProtectorCore.prepareBulkRequest({ bulkAccesses: grantedAccess, app: '0x456def...', inputFiles: ['https://example.com/file1', 'https://example.com/file2'] }); ``` -------------------------------- ### Install @iexec/dataprotector-deserializer with bun Source: https://docs.iex.ec/references/iapp-generator/deserializer Installs the @iexec/dataprotector-deserializer package using bun. This package is a lightweight utility for simplifying the deserialization of protected data in iExec TEE Dapps. ```shell bun add @iexec/dataprotector-deserializer ``` -------------------------------- ### Execute TEE Image Build Script Source: https://docs.iex.ec/guides/build-iapp/advanced/build-your-first-sgx-iapp Runs the previously defined bash script (`sconify.sh`) to initiate the process of building a Trusted Execution Environment (TEE) Docker image using Scone. This command compiles the application into a secure enclave. ```bash ./sconify.sh ``` -------------------------------- ### Install @iexec/dataprotector-deserializer with pnpm Source: https://docs.iex.ec/references/iapp-generator/deserializer Installs the @iexec/dataprotector-deserializer package using pnpm. This package is a lightweight utility for simplifying the deserialization of protected data in iExec TEE Dapps. ```shell pnpm add @iexec/dataprotector-deserializer ``` -------------------------------- ### iExec Project Initialization Source: https://docs.iex.ec/guides/build-iapp/manage-access Initializes the iExec configuration within your project directory. This command creates essential configuration files like `iexec.json` and `chain.json`. ```bash # In your iApp Generator project folder iexec init --skip-wallet ```