Deploy and Run an iApp
It's time to run your iApp! After building and testing, you'll need to deploy it to a supported network and then execute it.
Deploy your iApp
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:
____ _ | _ \ ___ _ __ | | ___ _ _ | | | |/ _ \ '_ \| |/ _ \| | | | | |_| | __/ |_) | | (_) | |_| | |____/ \___| .__/|_|\___/ \__, | |_| |___/
Now that your iApp has been deployed on the iExec protocol, you can navigate to the cache
folder to see your deployments saved. A file named deployments.json
in the folder corresponding to your target network will be created containing each deployment made on this network. These files will help you easily track each deployment per network.
Here is an example:
[
{
"sconifiedImage": "robiniexec/iapp:0.0.1-tee-scone-5.9.1-v16-debug-5aea8b4aa71d",
"appContractAddress": "0x9665136c599ec361C8eE627eC4F35A23fBa94897",
"owner": "0xbabE8270aC9857Af3aaC06877888F1939FbeC578",
"date": "2025-08-12T13:16:18.252Z"
},
...
]
Run your iApp
There are multiple ways to execute an iApp on the iExec network. An iApp can be:
- Self-sufficient - Basic execution without additional inputs
- Data-dependent - Requires protected data, secrets, input files, or command-line arguments
The iApp Generator CLI provides a streamlined way to execute iApp, especially for developers who have built their own iApp.
Note: For installation instructions, see the iApp Generator Getting Started guide.
_____ _ | ____|_ _____ ___ _ _| |_ ___ | _| \ \/ / _ \/ __| | | | __/ _ \ | |___ > < __/ (__| |_| | || __/ |_____/_/\_\___|\___|\__,_|\__\___|
Now that you have run your iApp on the iExec protocol, you can navigate to the cache
folder to see your runs saved. A file named runs.json
in the folder corresponding to your target network will be created containing each run made on this network. These files will help you easily track each run per network. Use the iExec Explorer to retrieve more data about your tasks.
Here is an example:
[
{
"iAppAddress": "0x9665136c599ec361C8eE627eC4F35A23fBa94897",
"dealid": "0x26d758de1be51697c33fa606cd0c5243082a6e675a4463b106d71fde2893280f",
"taskid": "0x1a58dd6018b30b022eb35be53ad9374eb630925458d14643a1dfd9c686b964d8",
"txHash": "0x6f14eac6933c609fb6d3e6b2bbd18c373c6dc99c7d7fd22036d5a20f847c5e42",
"date": "2025-08-18T18:30:03.711Z"
},
...
]
Next Steps
- Learn how to manage access to your iApp
- Discover debugging techniques for troubleshooting