Skip to content

Commit f35b3c6

Browse files
committed
feat: enhance iApp deployment guide with chain selection and dynamic steps
Updated the deployment process to support multiple chains by introducing a conditional template for Arbitrum and Bellecour. Added dynamic steps and completion items for each chain to improve user experience during deployment.
1 parent 864defb commit f35b3c6

File tree

1 file changed

+190
-80
lines changed

1 file changed

+190
-80
lines changed

src/guides/build-iapp/build-&-deploy.md

Lines changed: 190 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -194,86 +194,31 @@ After your tests pass and the package is built, you can deploy your iApp to a
194194
supported network. During deployment, you'll enter your DockerHub credentials,
195195
specify your app version, and push both standard and TEE-compatible images:
196196

197-
<CLIDemo
198-
initialCommand="iapp deploy"
199-
asciiText="Deploy"
200-
:steps="[
201-
{
202-
showAt: 2,
203-
question: 'Using chain bellecour',
204-
answer: '',
205-
showTyping: false,
206-
isComplete: true
207-
},
208-
{
209-
showAt: 3,
210-
question: 'Using saved walletPrivateKey (from iapp.config.json)',
211-
answer: '',
212-
showTyping: false,
213-
isComplete: true
214-
},
215-
{
216-
showAt: 4,
217-
completeAt: 6,
218-
question: 'What is your username on DockerHub? (It will be used to properly tag the Docker image)',
219-
answer: 'bob',
220-
showTyping: true,
221-
isComplete: false
222-
},
223-
{
224-
showAt: 6,
225-
completeAt: 8,
226-
question: 'What is your DockerHub access token?',
227-
answer: '**********************',
228-
showTyping: true,
229-
isComplete: false
230-
},
231-
{
232-
showAt: 8,
233-
completeAt: 10,
234-
question: 'What is the version of your iApp?',
235-
answer: '0.0.1',
236-
showTyping: true,
237-
isComplete: false
238-
},
239-
{
240-
showAt: 10,
241-
question: 'Docker image built (sha256:a53fc4c480f482c384a13266ea2cb6cc5572733c866c44a5f604f4bfab3a744a) and tagged bob/hello-world:0.0.1',
242-
answer: '',
243-
showTyping: false,
244-
isComplete: true
245-
},
246-
{
247-
showAt: 11,
248-
question: 'Pushed image bob/hello-world:0.0.1 on dockerhub',
249-
answer: '',
250-
showTyping: false,
251-
isComplete: true
252-
},
253-
{
254-
showAt: 12,
255-
question: 'Pushed TEE image bob/hello-world:0.0.1-tee-scone-5.9.1-v16-debug-ce3a01d9c5d7 on dockerhub',
256-
answer: '',
257-
showTyping: false,
258-
isComplete: true
259-
},
260-
{
261-
showAt: 13,
262-
question: 'TEE app deployed',
263-
answer: '',
264-
showTyping: false,
265-
isComplete: true
266-
}
267-
]"
268-
:completionStep="14"
269-
:completionMessage="'Deployment of your iApp completed successfully:'"
270-
:completionItems="[
271-
'└ Docker image: bob/hello-world:0.0.1-tee-scone-5.9.1-v16-debug-ce3a01d9c5d7',
272-
'└ iApp address: 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923'
273-
]"
274-
:successMessage="'Run iapp run 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923 to execute your iApp on an iExec TEE worker'"
275-
:autoRestart="true"
276-
/>
197+
<template v-if="selectedChain === 42161">
198+
<CLIDemo
199+
initialCommand="iapp deploy --chain arbitrum-mainnet"
200+
asciiText="Deploy"
201+
:steps="arbitrumSteps"
202+
:completionStep="15"
203+
:completionMessage="'Deployment of your iApp completed successfully:'"
204+
:completionItems="arbitrumCompletionItems"
205+
:successMessage="'Run iapp run 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923 to execute your iApp on an iExec TEE worker'"
206+
:autoRestart="true"
207+
/>
208+
</template>
209+
210+
<template v-else>
211+
<CLIDemo
212+
initialCommand="iapp deploy"
213+
asciiText="Deploy"
214+
:steps="bellecourSteps"
215+
:completionStep="14"
216+
:completionMessage="'Deployment of your iApp completed successfully:'"
217+
:completionItems="bellecourCompletionItems"
218+
:successMessage="'Run iapp run 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923 to execute your iApp on an iExec TEE worker'"
219+
:autoRestart="true"
220+
/>
221+
</template>
277222

278223
## Real Examples
279224

@@ -359,4 +304,169 @@ for month in range(12):
359304

360305
<script setup>
361306
import CLIDemo from '@/components/CLIDemo.vue';
307+
import { computed } from 'vue';
308+
import useUserStore from '@/stores/useUser.store';
309+
310+
const userStore = useUserStore();
311+
const selectedChain = computed(() => userStore.getCurrentChainId());
312+
313+
const arbitrumSteps = [
314+
{
315+
showAt: 2,
316+
question: 'Using chain arbitrum-mainnet',
317+
answer: '',
318+
showTyping: false,
319+
isComplete: true
320+
},
321+
{
322+
showAt: 3,
323+
question: 'This method requires sending blockchain transactions, transaction fees will be applied. Would you like to continue?',
324+
answer: 'Yes',
325+
options: [
326+
{ label: 'Yes', selected: true },
327+
{ label: 'no', selected: false }
328+
],
329+
highlighted: false,
330+
showTyping: false,
331+
isComplete: false
332+
},
333+
{
334+
showAt: 4,
335+
question: 'Using saved walletPrivateKey (from iapp.config.json)',
336+
answer: '',
337+
showTyping: false,
338+
isComplete: true
339+
},
340+
{
341+
showAt: 5,
342+
completeAt: 7,
343+
question: 'What is your username on DockerHub? (It will be used to properly tag the Docker image)',
344+
answer: 'bob',
345+
showTyping: true,
346+
isComplete: false
347+
},
348+
{
349+
showAt: 7,
350+
completeAt: 9,
351+
question: 'What is your DockerHub access token?',
352+
answer: '**********************',
353+
showTyping: true,
354+
isComplete: false
355+
},
356+
{
357+
showAt: 9,
358+
completeAt: 11,
359+
question: 'What is the version of your iApp?',
360+
answer: '0.0.1',
361+
showTyping: true,
362+
isComplete: false
363+
},
364+
{
365+
showAt: 11,
366+
question: 'Docker image built (sha256:a53fc4c480f482c384a13266ea2cb6cc5572733c866c44a5f604f4bfab3a744a) and tagged bob/hello-world:0.0.1',
367+
answer: '',
368+
showTyping: false,
369+
isComplete: true
370+
},
371+
{
372+
showAt: 12,
373+
question: 'Pushed image bob/hello-world:0.0.1 on dockerhub',
374+
answer: '',
375+
showTyping: false,
376+
isComplete: true
377+
},
378+
{
379+
showAt: 13,
380+
question: 'Pushed TEE image bob/hello-world:0.0.1-tee-scone-5.9.1-v16-debug-ce3a01d9c5d7 on dockerhub',
381+
answer: '',
382+
showTyping: false,
383+
isComplete: true
384+
},
385+
{
386+
showAt: 14,
387+
question: 'TEE app deployed',
388+
answer: '',
389+
showTyping: false,
390+
isComplete: true
391+
}
392+
];
393+
394+
const bellecourSteps = [
395+
{
396+
showAt: 2,
397+
question: 'Using chain bellecour',
398+
answer: '',
399+
showTyping: false,
400+
isComplete: true
401+
},
402+
{
403+
showAt: 3,
404+
question: 'Using saved walletPrivateKey (from iapp.config.json)',
405+
answer: '',
406+
showTyping: false,
407+
isComplete: true
408+
},
409+
{
410+
showAt: 4,
411+
completeAt: 6,
412+
question: 'What is your username on DockerHub? (It will be used to properly tag the Docker image)',
413+
answer: 'bob',
414+
showTyping: true,
415+
isComplete: false
416+
},
417+
{
418+
showAt: 6,
419+
completeAt: 8,
420+
question: 'What is your DockerHub access token?',
421+
answer: '**********************',
422+
showTyping: true,
423+
isComplete: false
424+
},
425+
{
426+
showAt: 8,
427+
completeAt: 10,
428+
question: 'What is the version of your iApp?',
429+
answer: '0.0.1',
430+
showTyping: true,
431+
isComplete: false
432+
},
433+
{
434+
showAt: 10,
435+
question: 'Docker image built (sha256:a53fc4c480f482c384a13266ea2cb6cc5572733c866c44a5f604f4bfab3a744a) and tagged bob/hello-world:0.0.1',
436+
answer: '',
437+
showTyping: false,
438+
isComplete: true
439+
},
440+
{
441+
showAt: 11,
442+
question: 'Pushed image bob/hello-world:0.0.1 on dockerhub',
443+
answer: '',
444+
showTyping: false,
445+
isComplete: true
446+
},
447+
{
448+
showAt: 12,
449+
question: 'Pushed TEE image bob/hello-world:0.0.1-tee-scone-5.9.1-v16-debug-ce3a01d9c5d7 on dockerhub',
450+
answer: '',
451+
showTyping: false,
452+
isComplete: true
453+
},
454+
{
455+
showAt: 13,
456+
question: 'TEE app deployed',
457+
answer: '',
458+
showTyping: false,
459+
isComplete: true
460+
}
461+
];
462+
463+
const arbitrumCompletionItems = [
464+
'└ Docker image: bob/hello-world:0.0.1-tee-scone-5.9.1-v16-debug-ce3a01d9c5d7',
465+
'└ iApp address: 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923'
466+
];
467+
468+
const bellecourCompletionItems = [
469+
'└ Docker image: bob/hello-world:0.0.1-tee-scone-5.9.1-v16-debug-ce3a01d9c5d7',
470+
'└ iApp address: 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923'
471+
];
362472
</script>

0 commit comments

Comments
 (0)