Skip to content

Commit 6361f05

Browse files
committed
remove change from branch
1 parent c890a62 commit 6361f05

File tree

1 file changed

+0
-269
lines changed

1 file changed

+0
-269
lines changed

src/guides/build-iapp/advanced/quick-start.md

Lines changed: 0 additions & 269 deletions
Original file line numberDiff line numberDiff line change
@@ -67,275 +67,6 @@ Ethereum wallet. See iExec SDK documentation
6767

6868
:::
6969

70-
## Initialize your iExec project
71-
72-
Create a new folder for your iExec project and initialize the project:
73-
74-
```bash
75-
mkdir ~/iexec-projects
76-
cd ~/iexec-projects
77-
iexec init --skip-wallet
78-
```
79-
80-
::: info
81-
82-
The iExec SDK creates the minimum configuration files:
83-
84-
- `iexec.json` contains the project configuration
85-
- `chain.json` contains the blockchain connection configuration
86-
- use `--skip-wallet` to skip wallet creation as we already created it
87-
88-
:::
89-
90-
You can now connect to the desired supported blockchain. In the following steps,
91-
the tutorial uses the chosen blockchain to deploy and run your iExec app. See
92-
the
93-
[supported blockchains](/get-started/tooling-and-explorers/blockchain-explorer)
94-
for a full list.
95-
96-
You can now check your wallet content:
97-
98-
```bash
99-
iexec wallet show
100-
```
101-
102-
## Deploy your app on iExec
103-
104-
iExec enables decentralized deployment of dockerized applications. The
105-
applications deployed on iExec are Smart Contracts identified by their Ethereum
106-
address and referencing a public docker image. Each iExec app has an owner who
107-
can set the execution permissions on iExec platform.
108-
109-
Let's deploy an iExec app!
110-
111-
Initialize a new app
112-
113-
```bash
114-
iexec app init
115-
```
116-
117-
The iExec SDK writes the minimum app configuration in `iexec.json`
118-
119-
| **key** | **description** |
120-
| --------- | --------------------------------------------------------------------------- |
121-
| owner | app owner ethereum address \(default your wallet address\) |
122-
| name | name of the app |
123-
| type | type of app \("DOCKER" for docker container\) |
124-
| multiaddr | download URI of the app \(a public docker registry\) |
125-
| checksum | checksum of the app \("0x" + docker image digest\) |
126-
| mrenclave | app fingerprint used for confidential computing use cases \(default empty\) |
127-
128-
::: info
129-
130-
The default app is the public docker image
131-
[iexechub/python-hello-world](https://hub.docker.com/repository/docker/iexechub/python-hello-world).
132-
133-
Given an input string, the app generates an ASCII art greeting.
134-
135-
:::
136-
137-
You can deploy this app on iExec, it will run out of the box. When you are
138-
confident with iExec concept, you can read
139-
[Build and Test an iApp](../build-&-test) and learn how to setup your own app on
140-
iExec.
141-
142-
You will now deploy your app on iExec, this will be your first transaction on
143-
the blockchain:
144-
145-
```bash twoslash
146-
iexec app deploy --chain arbitrum-mainnet
147-
```
148-
149-
::: tip
150-
151-
While running `iexec app deploy` you sent your first transaction on the
152-
arbitrum-mainnet blockchain.
153-
154-
:::
155-
156-
You can check your deployed apps with their index, let's check your last
157-
deployed app:
158-
159-
```bash twoslash
160-
iexec app show --chain arbitrum-mainnet
161-
```
162-
163-
## Run your app on iExec
164-
165-
iExec allows you to run applications on a decentralized infrastructure with
166-
payment in **RLC** tokens \(the native cryptocurrency of iExec\).
167-
168-
::: info
169-
170-
To run an app you must have enough RLC staked on your iExec account to pay for
171-
the computing resources.
172-
173-
Your iExec account is managed by smart contracts \(and not owned by iExec\).
174-
175-
When you request an execution the price for the task is locked from your
176-
account's stake then transferred to accounts of the workers contributing to the
177-
task \(read more about [Proof of Contribution](/protocol/proof-of-contribution)
178-
protocol\).
179-
180-
At any time you can:
181-
182-
- view your balance
183-
184-
```bash twoslash
185-
iexec account show --chain arbitrum-mainnet
186-
```
187-
188-
- deposit RLC from your wallet to your iExec Account
189-
190-
```bash twoslash
191-
iexec account deposit --chain arbitrum-mainnet <amount>
192-
```
193-
194-
- withdraw RLC from your iExec account to your wallet \(only stake can be
195-
withdrawn\)
196-
197-
```bash twoslash
198-
iexec account withdraw --chain arbitrum-mainnet <amount>
199-
```
200-
201-
:::
202-
203-
Currently, iExec sponsors applications running on Bellecour, and you won't have
204-
to pay for the computation.
205-
206-
Everything is ready to run your app!
207-
208-
```bash twoslash
209-
iexec app run --chain arbitrum-mainnet --args <your-name-here> --workerpool {{workerpoolAddress}} --watch
210-
```
211-
212-
::: info
213-
214-
`iexec app run` allows to run an application on iExec at the market price.
215-
216-
Useful options:
217-
218-
- `--args <args>` specify the app execution arguments
219-
- `--watch` watch execution status changes
220-
- `--workerpool <address>` specify the workerpool to use (for example:
221-
`--workerpool {{workerpoolAddress}}`)
222-
223-
Discover more option with `iexec app run --help`
224-
225-
:::
226-
227-
::: tip Congratulation you requested the execution of
228-
[iexechub/python-hello-world](https://hub.docker.com/repository/docker/iexechub/python-hello-world).
229-
230-
This will generate an ASCII art greeting with your name.
231-
232-
:::
233-
234-
The execution of tasks on the iExec network is asynchronous by design.
235-
236-
```mermaid
237-
graph TD
238-
Requester["Requester (or anyone)"] --> |"1 . Match compatible orders \n(request, application, dataset & workerpool orders) \n & Wait result" | Blockchain
239-
Blockchain --> |2 . Notify new deal with tasks to compute| Scheduler
240-
Worker --> |3 . Request new task to compute| Scheduler
241-
Worker --> |4 . Run application| Application[Application image]
242-
Worker --> |5.a. Push result| ResultStorage["Result Storage"]
243-
Worker --> |5.b. Commit result proof| Blockchain
244-
Workerpool --> |6 . Publish result link or callback| Blockchain
245-
246-
subgraph Workerpool
247-
Scheduler
248-
Worker
249-
Application
250-
end
251-
```
252-
253-
Guaranties about completion times (fast/slow) are available in the
254-
[category section](/protocol/pay-per-task):
255-
256-
- maximum deal/task time
257-
- maximum computing time
258-
259-
Once the task is completed copy the taskid from `iexec app run` output \(taskid
260-
is a 32Bytes hexadecimal string\).
261-
262-
Download the result of your task
263-
264-
```bash twoslash
265-
iexec task show --chain arbitrum-mainnet <taskid> --download my-result
266-
```
267-
268-
You can get your taskid with the command:
269-
270-
```bash twoslash
271-
iexec deal show --chain arbitrum-mainnet <dealid>
272-
```
273-
274-
::: info
275-
276-
A task result is a zip file containing the output files of the application.
277-
278-
:::
279-
280-
[iexechub/python-hello-world](https://hub.docker.com/repository/docker/iexechub/python-hello-world)
281-
produce an text file in `result.txt`.
282-
283-
Let's discover the result of the computation.
284-
285-
```bash
286-
unzip my-result.zip -d my-result
287-
cat my-result/result.txt
288-
```
289-
290-
Congratulations! You successfully executed your application on iExec!
291-
292-
## Publish your app on the iExec Marketplace
293-
294-
You deployed your app on iExec and completed an execution on iExec. For now,
295-
only you can request an execution of your application. The next step is to
296-
publish it on the iExec Marketplace, making it available for anyone to use.
297-
298-
As the owner of this application, you can define the conditions under which it
299-
can be used
300-
301-
::: info
302-
303-
iExec uses orders signed by the resource owner's wallet to ensure resources
304-
governance.
305-
306-
The conditions to use an app are defined in the **apporder**.
307-
308-
:::
309-
310-
Publish a new apporder for your application.
311-
312-
```bash twoslash
313-
iexec app publish --chain arbitrum-mainnet
314-
```
315-
316-
::: info
317-
318-
`iexec app publish` command allows to define custom access rules to the app
319-
\(run `iexec app publish --help` to discover all the possibilities\).
320-
321-
You will learn more about orders management later, keep the apporder default
322-
values for now.
323-
324-
:::
325-
326-
Your application is now available for everyone on iExec marketplace on the
327-
conditions defined in apporder.
328-
329-
You can check the published apporders for your app
330-
331-
```bash twoslash
332-
iexec orderbook app --chain arbitrum-mainnet <your app address>
333-
```
334-
335-
Congratulation you just created a decentralized application! Anyone can now
336-
trigger an execution of your application on the iExec decentralized
337-
infrastructure.
338-
33970
## What's next?
34071

34172
You are now familiar with the following key iExec concepts for developers:

0 commit comments

Comments
 (0)