Dev Letter #25 — A User Guide to iExec E2E Trusted Execution

Lei ZHANG
Lei ZHANG
Oct 29, 2018 · 4 min read

1. Prerequisites

2. Run the iExec E2E Trusted Execution

npm -g install iexec@2.2.39
iexec --version
mkdir ~/iexecsgxdemocd ~/iexecsgxdemoiexec initiexec wallet getETH # ask faucet for ETHiexec wallet getRLC # ask iExec faucet for nRLC 200 )iexec account deposit 10000 # deposit nRLC on your iExec account, so you can buy work orders. Please ask for Kovan nRLC to the team on Slack.iexec wallet show # show your Ethereum wallet balancesiexec account show # show your iExec account balances

Step 2 — Encryption and Data pushing

iexec tee init # create iExec trusted execution folders treeFor example, You can test with a blender input data herecp iexec-rlc.blend ./tee/inputs # copy your input data to ./tee/inputs folderiexec tee encryptedpush --application 0x2f3422f2805693cf741ee32707d57923ef6fa55f # encrypt input data and upload to public hosting, for a specific iExec application address which can found from the iExec Dapp Store.

Step 3 — Trigger trusted application execution

iexec order init --buy # init work order fields in iexec.json
iexec orderbook show --category 5 # choose an order ID to buy
iexec order fill <orderID> # fill order using its ID from last command
iexec work show --watch --download encryptedOutputFiles.zipmv encryptedOutputFiles.zip.none ./tee/encryptedOutputs/encryptedOutputFiles.zip

Step 4 — Decrypt results

iexec tee decrypt # unzip + decrypt + move result into ./tee/outputs

iExec

Blockchain-based Decentralized Cloud

Lei ZHANG

Written by

Lei ZHANG

iExec

iExec

Blockchain-based Decentralized Cloud