From 460192eddf1bb80713cc66f98674ed73d4032d55 Mon Sep 17 00:00:00 2001 From: Pierre Jeanjacquot <26487010+PierreJeanjacquot@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:58:07 +0100 Subject: [PATCH] generate doc with typedoc --- CLI.md | 908 +++++ README.md | 3294 +---------------- cookbook.md | 66 - docs/.nojekyll | 1 + docs/README.md | 192 + docs/classes/IExec.md | 272 ++ docs/classes/IExecAccountModule.md | 209 ++ docs/classes/IExecAppModule.md | 224 ++ docs/classes/IExecConfig.md | 248 ++ docs/classes/IExecDatasetModule.md | 387 ++ docs/classes/IExecDealModule.md | 387 ++ docs/classes/IExecENSModule.md | 322 ++ docs/classes/IExecHubModule.md | 205 + docs/classes/IExecModule.md | 106 + docs/classes/IExecNetworkModule.md | 115 + docs/classes/IExecOrderModule.md | 1165 ++++++ docs/classes/IExecOrderbookModule.md | 370 ++ docs/classes/IExecResultModule.md | 169 + docs/classes/IExecStorageModule.md | 194 + docs/classes/IExecTaskModule.md | 236 ++ docs/classes/IExecWalletModule.md | 433 +++ docs/classes/IExecWorkerpoolModule.md | 212 ++ docs/classes/errors.BridgeError.md | 64 + docs/classes/errors.ConfigurationError.md | 39 + docs/classes/errors.ObjectNotFoundError.md | 77 + docs/classes/errors.ValidationError.md | 42 + docs/classes/errors.Web3ProviderCallError.md | 58 + docs/classes/errors.Web3ProviderError.md | 60 + docs/classes/errors.Web3ProviderSendError.md | 58 + .../errors.Web3ProviderSignMessageError.md | 58 + docs/classes/internal_.BrigdeObservable.md | 96 + docs/classes/internal_.DealObservable.md | 86 + .../internal_.ENSConfigurationObservable.md | 106 + .../classes/internal_.IExecContractsClient.md | 322 ++ docs/classes/internal_.Observable.md | 70 + docs/classes/internal_.TaskObservable.md | 88 + docs/classes/utils.BN.md | 68 + docs/classes/utils.EnhancedWallet.md | 67 + docs/interfaces/internal_.App.md | 90 + docs/interfaces/internal_.ApporderTemplate.md | 89 + docs/interfaces/internal_.Category.md | 51 + .../internal_.ConsumableApporder.md | 111 + .../internal_.ConsumableDatasetorder.md | 111 + .../internal_.ConsumableRequestorder.md | 177 + .../internal_.ConsumableWorkerpoolorder.md | 133 + docs/interfaces/internal_.Dataset.md | 64 + .../internal_.DatasetorderTemplate.md | 89 + docs/interfaces/internal_.HashableApporder.md | 100 + .../internal_.HashableDatasetorder.md | 100 + .../internal_.HashableRequestorder.md | 166 + .../internal_.HashableWorkerpoolorder.md | 122 + docs/interfaces/internal_.IExecConfigArgs.md | 36 + .../internal_.IExecConfigOptions.md | 194 + docs/interfaces/internal_.PaginableDeals.md | 56 + docs/interfaces/internal_.PaginableOrders.md | 62 + .../interfaces/internal_.PublishedApporder.md | 103 + .../internal_.PublishedDatasetorder.md | 103 + .../internal_.PublishedRequestorder.md | 109 + .../internal_.PublishedWorkerpoolorder.md | 105 + .../internal_.RequestorderTemplate.md | 166 + docs/interfaces/internal_.SignedApporder.md | 111 + .../internal_.SignedDatasetorder.md | 111 + .../internal_.SignedRequestorder.md | 177 + .../internal_.SignedWorkerpoolorder.md | 133 + docs/interfaces/internal_.Workerpool.md | 38 + .../internal_.WorkerpoolorderTemplate.md | 111 + docs/modules.md | 31 + docs/modules/errors.md | 16 + docs/modules/internal_.md | 193 + docs/modules/utils.md | 318 ++ package-lock.json | 61 + package.json | 8 +- tsconfig.doc.json | 17 + typedoc_readme.md | 190 + 74 files changed, 11589 insertions(+), 3337 deletions(-) create mode 100644 CLI.md delete mode 100644 cookbook.md create mode 100644 docs/.nojekyll create mode 100644 docs/README.md create mode 100644 docs/classes/IExec.md create mode 100644 docs/classes/IExecAccountModule.md create mode 100644 docs/classes/IExecAppModule.md create mode 100644 docs/classes/IExecConfig.md create mode 100644 docs/classes/IExecDatasetModule.md create mode 100644 docs/classes/IExecDealModule.md create mode 100644 docs/classes/IExecENSModule.md create mode 100644 docs/classes/IExecHubModule.md create mode 100644 docs/classes/IExecModule.md create mode 100644 docs/classes/IExecNetworkModule.md create mode 100644 docs/classes/IExecOrderModule.md create mode 100644 docs/classes/IExecOrderbookModule.md create mode 100644 docs/classes/IExecResultModule.md create mode 100644 docs/classes/IExecStorageModule.md create mode 100644 docs/classes/IExecTaskModule.md create mode 100644 docs/classes/IExecWalletModule.md create mode 100644 docs/classes/IExecWorkerpoolModule.md create mode 100644 docs/classes/errors.BridgeError.md create mode 100644 docs/classes/errors.ConfigurationError.md create mode 100644 docs/classes/errors.ObjectNotFoundError.md create mode 100644 docs/classes/errors.ValidationError.md create mode 100644 docs/classes/errors.Web3ProviderCallError.md create mode 100644 docs/classes/errors.Web3ProviderError.md create mode 100644 docs/classes/errors.Web3ProviderSendError.md create mode 100644 docs/classes/errors.Web3ProviderSignMessageError.md create mode 100644 docs/classes/internal_.BrigdeObservable.md create mode 100644 docs/classes/internal_.DealObservable.md create mode 100644 docs/classes/internal_.ENSConfigurationObservable.md create mode 100644 docs/classes/internal_.IExecContractsClient.md create mode 100644 docs/classes/internal_.Observable.md create mode 100644 docs/classes/internal_.TaskObservable.md create mode 100644 docs/classes/utils.BN.md create mode 100644 docs/classes/utils.EnhancedWallet.md create mode 100644 docs/interfaces/internal_.App.md create mode 100644 docs/interfaces/internal_.ApporderTemplate.md create mode 100644 docs/interfaces/internal_.Category.md create mode 100644 docs/interfaces/internal_.ConsumableApporder.md create mode 100644 docs/interfaces/internal_.ConsumableDatasetorder.md create mode 100644 docs/interfaces/internal_.ConsumableRequestorder.md create mode 100644 docs/interfaces/internal_.ConsumableWorkerpoolorder.md create mode 100644 docs/interfaces/internal_.Dataset.md create mode 100644 docs/interfaces/internal_.DatasetorderTemplate.md create mode 100644 docs/interfaces/internal_.HashableApporder.md create mode 100644 docs/interfaces/internal_.HashableDatasetorder.md create mode 100644 docs/interfaces/internal_.HashableRequestorder.md create mode 100644 docs/interfaces/internal_.HashableWorkerpoolorder.md create mode 100644 docs/interfaces/internal_.IExecConfigArgs.md create mode 100644 docs/interfaces/internal_.IExecConfigOptions.md create mode 100644 docs/interfaces/internal_.PaginableDeals.md create mode 100644 docs/interfaces/internal_.PaginableOrders.md create mode 100644 docs/interfaces/internal_.PublishedApporder.md create mode 100644 docs/interfaces/internal_.PublishedDatasetorder.md create mode 100644 docs/interfaces/internal_.PublishedRequestorder.md create mode 100644 docs/interfaces/internal_.PublishedWorkerpoolorder.md create mode 100644 docs/interfaces/internal_.RequestorderTemplate.md create mode 100644 docs/interfaces/internal_.SignedApporder.md create mode 100644 docs/interfaces/internal_.SignedDatasetorder.md create mode 100644 docs/interfaces/internal_.SignedRequestorder.md create mode 100644 docs/interfaces/internal_.SignedWorkerpoolorder.md create mode 100644 docs/interfaces/internal_.Workerpool.md create mode 100644 docs/interfaces/internal_.WorkerpoolorderTemplate.md create mode 100644 docs/modules.md create mode 100644 docs/modules/errors.md create mode 100644 docs/modules/internal_.md create mode 100644 docs/modules/utils.md create mode 100644 tsconfig.doc.json create mode 100644 typedoc_readme.md diff --git a/CLI.md b/CLI.md new file mode 100644 index 00000000..b7f2e469 --- /dev/null +++ b/CLI.md @@ -0,0 +1,908 @@ +[< Back home](./README.md) + +# iExec SDK CLI + +Use the iExec decentralised marketplace for off-chain computing from your terminal. + +## Content + +- [Install](#install) +- [Upgrade](#upgrade) +- [Quick start](#quick-start) +- [API](#api) +- [Files](#files) +- [Interoperability](#Interoperability) + +--- + +# Install + +All three major OS are supported (linux, OSX, windows). + +## Using Nodejs + +Requirements: [![npm version](https://img.shields.io/badge/nodejs-%3E=12.0.0-brightgreen.svg)](https://nodejs.org/en/) and [Git](https://git-scm.com/). + +```bash +npm -g install iexec # install the cli +iexec --version +iexec --help +``` + +## Using Docker + +Requirements: [Docker](https://docs.docker.com/install/). + +```bash +# For Linux users +echo 'alias iexec='"'"'docker run -e DEBUG=$DEBUG --interactive --tty --rm -v /tmp:/tmp -v $(pwd):/iexec-project -v /home/$(whoami)/.ethereum/keystore:/home/node/.ethereum/keystore -w /iexec-project iexechub/iexec-sdk:latest'"'"'' >> ~/.bash_aliases && source ~/.bashrc +# For Mac OSX users +echo 'alias iexec='"'"'docker run -e DEBUG=$DEBUG --interactive --tty --rm -v /tmp:/tmp -v $(pwd):/iexec-project -v /Users/$(whoami)/Library/Ethereum/keystore:/home/node/.ethereum/keystore -w /iexec-project iexechub/iexec-sdk:latest'"'"'' >> ~/.bash_profile && source ~/.bash_profile +``` + +Now run `iexec --version` to check all is working. + +## Upgrade + +- **Nodejs**: run `npm -g install iexec` +- **Docker**: run `docker pull iexechub/iexec-sdk` + +--- + +# Quick start + +- [Init project](#Init-project) +- [SDK CLI for Dapp developpers](#SDK-CLI-for-Dapp-developpers) +- [SDK CLI for Dataset providers](#SDK-CLI-for-Dataset-providers) +- [SDK CLI for Workerpools](#SDK-CLI-for-Workerpools) +- [SDK CLI for Requesters](#SDK-CLI-for-Requesters) +- [SDK CLI for workers](#SDK-CLI-for-workers) + +## Init project + +required steps before following any other workflow. + +```bash +iexec init # create all required files +iexec wallet get-RLC # ask iExec faucet for RLC +iexec wallet show # show your wallet +iexec storage init # initialize your remote storage +``` + +> _NB:_ iExec SDK CLI access the public blockchains (mainnet & goerli) through [ethers](https://github.com/ethers-io/ethers.js/) to connect different backends ([Alchemy](https://alchemyapi.io/), [Etherscan](https://etherscan.io/), [INFURA](https://infura.io/)). +> +> Default API keys for backend services are provided for convenience. +> As these keys are shared accross all users and are subject to rate limits, **you must use your own API keys** or better **your own node**. +> +> Get API keys for backend services: +> +> - [INFURA](https://infura.io/register) ([more details on Infura's blog](https://blog.infura.io/getting-started-with-infura-28e41844cc89/)) +> - [Etherscan](https://etherscan.io/apis) +> - [Alchemy](https://alchemyapi.io/signup) +> +> Once you created your access, you can add your API keys in the `chains.json` configuration file: +> +> ```json +> { +> "default": ..., +> "chains": { ... }, +> "providers": { +> "infura": { +> "projectId": "INFURA_PROJECT_ID", +> "projectSecret": "INFURA_PROJECT_SECRET" +> }, +> "etherscan": "ETHERSCAN_API_KEY", +> "alchemy": "ALCHEMY_API_KEY" +> } +> } +> ``` +> +> If you run your own node, you can add an `host` key in the `chains.json` configuration file to target your node: +> +> ```json +> { +> "default": ..., +> "chains": { +> ... +> "mainnet": { +> "id": "1", +> "host": "http://localhost:8545" +> }, +> "goerli": { +> "id": "5", +> "host": "http://localhost:58545" +> } +> } +> } +> ``` +> +> Check your current host: +> `iexec info` + +## SDK CLI for Dapp developpers + +First go through [Init project](#Init-project) + +### Deploy an app + +```bash +iexec app count # check if you have already deployed apps +iexec app init # reset app fields in iexec.json +iexec app deploy # deploy app on Ethereum and get an address +iexec app show # show details of deployed app +``` + +### Run an app + +```bash +iexec app run [address] # run an application on iExec at market price +``` + +### Sell your app on the Marketplace + +```bash +iexec orderbook app
# check if you have valid sell orders for your app on the Marketplace +iexec app publish [address] # publish an apporder on the Marketplace and get an orderHash +iexec order show --app [orderHash] # show your order on the Marketplace +iexec order cancel --app # cancel your order +``` + +## SDK CLI for Dataset providers + +First go through [Init project](#Init-project) + +### Encrypt your dataset + +```bash +cp 'myAwsomeDataset.file' ./datasets/original # copy your dataset file or folder into the dataset/original/ folder +iexec dataset encrypt # generate a secret key for each file or folder in dataset/original/ and encrypt it, also output the encrypted file checksum to use for deployment. +cat ./.secrets/dataset/myAwsomeDataset.file.secret # this is the secret key for decrypting the dataset +cat ./datasets/encrypted/myAwsomeDataset.file.enc # this is the encrypted dataset, you must share this file at a public url +``` + +### Deploy your dataset + +```bash +iexec dataset count # check if you have already deployed datasets +iexec dataset init # reset dataset fields in iexec.json +iexec dataset deploy # deploy dataset on Ethereum +iexec dataset show # show details of deployed dataset +``` + +## Securely share the dataset secret key + +**Disclaimer:** The secrets pushed in the Secreet Management Service will be shared with the worker to process the dataset in the therms your specify in the dataset order. Make sure to always double check your selling policy in the dataset order before signing it. + +```bash +iexec dataset push-secret # Push the secret in the Secret Management Service (sms) +``` + +### Sell your dataset on the Marketplace + +```bash +iexec orderbook dataset
# check if you have valid sell orders for your dataset on the Marketplace +iexec dataset publish [address] --tag tee --app-restrict
# publish a datasetorder (restricted to specific app running in Trusted Execution Environment) on the Marketplace and get an orderHash +iexec order show --dataset [orderHash] # show your order on the Marketplace +iexec order cancel --dataset # cancel your order +``` + +## SDK CLI for Workerpools + +First go through [Init project](#Init-project) + +### Deploy a workerpool + +```bash +iexec workerpool count # check if you have already deployed workerpools +iexec workerpool init # reset workerpool fields in iexec.json +iexec workerpool deploy # deploy workerpool on Ethereum +iexec workerpool show # show details of deployed workerpool +``` + +### Sell your computing power at limit price on the Marketplace + +```bash +iexec orderbook workerpool [address] --category # check if you have valid sell orders for your workerpool on the Marketplace +iexec workerpool publish # publish a workerpoolorder on the Marketplace and get an orderHash +iexec order cancel --workerpool # cancel your order +``` + +### Sell your computing power at market price on the Marketplace + +```bash +iexec orderbook requester --category # find a requestorder ask you want to fill in your category +iexec orderbook app
# find a compatible apporder +iexec orderbook dataset
# find a compatible datasetorder +iexec order init --workerpool # reset workerpoolorder fields in iexec.json +iexec order sign --workerpool # sign your workerpoolorder +iexec order fill --request --app --dataset # send the orders and get a dealid +iexec deal show # show the detail of the deal you concludes +``` + +## SDK CLI for Requesters + +First go through [Init project](#init-project) + +### Top up your iExec account to buy compution + +```bash +iexec account show # show your iExec account +iexec account deposit 200 # deposit RLC from your wallet to your account +iexec account show # make sure you have enough staked RCL to buy computation +``` + +### Buy computation at market price on the Marketplace + +```bash +iexec app run [address] [--dataset [address] --args --category ] # run an iExec application at market price +``` + +see [app run available options](#app-run) + +### Or Buy computation at limit price on the Marketplace + +```bash +iexec app request-execution [address] [--dataset [address] --args --category ] # publish a requestorder on the Marketplace and get an orderHash +iexec order show --request --deals # show your order on the Marketplace and check the deals +``` + +### Watch your Deals, your Tasks and download the results + +```bash +iexec deal show # show your deal details, get the taskids +iexec task show # show the status of your task +iexec task show --watch # wait until the task is COMPLETED or FAILED +iexec task show --download [fileName] # download the result of your COMPLETED task +``` + +### Use results encryption + +```bash +iexec result generate-encryption-keypair # generate private/public RSA keypair for result encryption +iexec result push-encryption-key # share the public RSA key with the secret management service, all your results will be encrypted with this key +# Go through the normal buy process and download the result of the computation # +iexec result decrypt [encryptedResultsFilePath] # decrypt the result with the private RSA key +``` + +## SDK CLI for workers + +First go through [Init project](#Init-project) + +### Top up your iExec account to stake + +```bash +iexec account deposit 200 # deposit RLC from your wallet to your account +iexec account show # make sure you have enough stake to join a workerpool +``` + +### Withdraw your working reward + +```bash +iexec account show # view your available stake +iexec account withdraw 1000 # withdraw RLC from your account to your wallet +``` + +--- + +# API + +- [Help & Info](#help--info) +- [Global options](#global-options) +- [init](#init) +- [wallet](#wallet) +- [account](#account) +- [app](#app) +- [dataset](#dataset) +- [workerpool](#workerpool) +- [order](#order) +- [orderbook](#orderbook) +- [deal](#deal) +- [task](#task) +- [storage](#storage) +- [result](#result) +- [ens](#ens) +- [category](#category) +- [registry](#registry) + +## Help & Info + +```bash +iexec --version +iexec --help +iexec app --help +iexec orderbook --help +iexec info --chain viviani +``` + +## Global options + +```bash +--quiet # disable update notification +--raw # display the command result as a json (disable update notification) +``` + +### Wallet options + +```bash +--keystoredir <'global'|'local'|customPath> # specify the location of the keystoredir +--wallet-address
# specify which wallet to use in the keystore +--wallet-file # specify which wallet to use in the keystore +--password # specify the password for unlocking the wallet (not recommended) +``` + +### Transactions options + +```bash +--gas-price [unit] # use the specified value (in wei or specified unit) for next transactions gas price (default use eth_gasPrice current value) +--confirms # set custom block count to wait for transactions confirmation (default 1 block) +``` + +## init + +```bash +iexec init # create all files necessary to get started +iexec init --skip-wallet # skip the wallet creation step +``` + +## wallet + +```bash +# OPTIONS +# --chain +# --to
+# --force +# --password +iexec wallet create # create a new encrypted wallet +iexec wallet create --unencrypted # create unencrypted wallet.json (not recommended) +iexec wallet import # create an encrypted wallet from a privateKey +iexec wallet get-ETH # ask ETH from faucets +iexec wallet get-RLC # ask RLC from faucets +iexec wallet show [address] # optional address to show other people's wallet +iexec wallet show --show-private-key # allow displaying wallet private key +iexec wallet send-ether [unit] --to
# send ether amount (in ether or specified unit) to the specified eth address +iexec wallet send-RLC [unit] --to
# send RLC amount (in RLC or specified unit) to the specified eth address +iexec wallet sweep --to
# drain all ether and RLC, sending them to the specified eth address +iexec wallet bridge-to-sidechain [unit] # send RLC amount (in nRLC or specified unit) from a mainchain to the bridged sidechain. +iexec wallet bridge-to-mainchain [unit] # send RLC amount (in nRLC or specified unit) from a sidechain to the bridged mainchain. +iexec wallet swap-RLC-for-eRLC [unit] # swap RLC for the same amount of eRLC (default unit nRLC) - the wallet must be authorized to interact with eRLC. +iexec wallet swap-eRLC-for-RLC [unit] # swap eRLC for the same amount of RLC (default unit neRLC) - the wallet must be authorized to interact with eRLC. +``` + +The wallet files are stored in the Ethereum keystore. +The keystore location depends on your OS: + +- Linux : ~/.ethereum/keystore +- Mac: ~/Library/Ethereum/keystore +- Windows: ~/AppData/Roaming/Ethereum/keystore + +## account + +```bash +# OPTIONS +# --chain +# --force +iexec account show [address] # optional address to show other people's account +iexec account deposit [unit] # deposit the specified amount of RLC (in nRLC or specified unit) from your wallet to your account +iexec account withdraw [unit] # withdraw the specified amount of RLC (in nRLC or specified unit) from your account to your wallet +``` + +## app + +```bash +# OPTIONS +# --chain +# --user
+iexec app init # init the app template +iexec app init --tee # init the TEE app template +iexec app deploy # deploy the app on the blockchain +iexec app publish [address] # publish an apporder to make your app publicly available on the marketplace (use options to manage access) +iexec app unpublish [address] # unpublish the last published apporder for specified app +iexec app unpublish [address] --all # unpublish all the published apporders for specified app +iexec app show [address|index] # show app details +iexec app count # count your total number of app +iexec app count --user # count user total number of app +``` + +### app run + +```bash +iexec app run [appAddress] [options] # run an iExec application at market price (default run last deployed app) +# OPTIONS +--dataset # dataset address, use "deployed" to use last deployed from "deployed.json" +--workerpool # workerpool address, use "deployed" to use last deployed from "deployed.json" +--category # id of the task category +--tag # specify tags (usage: --tag tee,gpu) +--trust # trust level +--beneficiary
# specify the beneficiary of the request (default user address) +--callback
# specify the callback address of the request +--args # specify the arguments to pass to the app +--input-files # specify the URL of input files to be used by the app (usage: --input-files https://example.com/foo.txt,https://example.com/bar.zip) +--encrypt-result # encrypt the result archive with the beneficiary public key +--storage-provider <"ipfs"|"dropbox"> # specify the storage to use to store the result archive +--skip-request-check # skip request validity checks, this may result in task execution fail +--params # specify the params of the request, this option is reserved to an advanced usage (usage: --params '{"iexec_args":"dostuff","iexec_input_files":["https://example.com/file.zip"]}') +--watch # watch execution status changes +``` + +### app request-execution + +```bash +iexec app request-execution [options] # request an iExec application execution at limit price +# OPTIONS +--dataset
# dataset address +--workerpool
# workerpool address +--app-price # app price per task (default unit nRLC) +--dataset-price # dataset price per task (default unit nRLC) +--workerpool-price # workerpool price per task (default unit nRLC) +--category # id of the task category +--tag # specify tags (usage: --tag tee,gpu) +--trust # trust level +--beneficiary
# specify the beneficiary of the request (default user address) +--callback
# specify the callback address of the request +--args # specify the arguments to pass to the app +--input-files # specify the URL of input files to be used by the app (usage: --input-files https://example.com/foo.txt,https://example.com/bar.zip) +--encrypt-result # encrypt the result archive with the beneficiary public key +--storage-provider <"ipfs"|"dropbox"> # specify the storage to use to store the result archive +--skip-request-check # skip request validity checks, this may result in task execution fail +--params # specify the params of the request, this option is reserved to an advanced usage (usage: --params '{"iexec_args":"dostuff","iexec_input_files":["https://example.com/file.zip"]}') +``` + +## dataset + +```bash +# OPTIONS +# --chain +# --user
+iexec dataset init # init the dataset template +iexec dataset init --tee # init the dataset template and create the folders for dataset encryption +iexec dataset encrypt # for each dataset file in ./datasets/original/ generate a 256 bits key and encrypt the dataset using AES-256-CBC and compute the encrypted file's sha256 checksum +iexec dataset deploy # deploy the dataset on the blockchain +iexec dataset push-secret [datasetAddress] # push the key for the encrypted dataset +iexec dataset check-secret [datasetAddress] # check if a secret exists for the dataset +iexec dataset publish [datasetAddress] # publish an datasetorder to make your dataset publicly available on the marketplace (use options to manage access) +iexec dataset unpublish [datasetAddress] # unpublish the last published datasetorder for specified dataset +iexec dataset unpublish [datasetAddress] --all # unpublish all the published datasetorders for specified dataset +iexec dataset show [address|index] # show dataset details +iexec dataset count # count your total number of dataset +iexec dataset count --user # count user total number of dataset +``` + +## workerpool + +```bash +# OPTIONS +# --chain +# --user
+iexec workerpool init # init the workerpool template +iexec workerpool deploy # deploy the workerpool on the blockchain +iexec workerpool publish [workerpoolAddress] --price [unit] # publish an workerpoolorder to make your workerpool computing power publicly available on the marketplace +iexec workerpool unpublish [workerpoolAddress] # unpublish the last published workerpoolorder for specified workerpool +iexec workerpool unpublish [workerpoolAddress] --all # unpublish all the published workerpoolorders for specified workerpool +iexec workerpool show [address|index] # show workerpool details +iexec workerpool count # count your total number of workerpool +iexec workerpool count --user # count user total number of workerpool +``` + +## order + +```bash +# OPTIONS +# --chain +# --force +iexec order init # init all kind of orders +iexec order init --app --dataset --workerpool --request # specify the kind of order to init +iexec order sign # sign all initialized orders +iexec order sign --app --dataset --workerpool --request # sign the specific initialized orders +iexec order publish --app --dataset --workerpool --request # publish the specific signed orders on iExec Marketplace +iexec order show --app [orderHash] --dataset [orderHash] --workerpool [orderHash] --request [orderHash] # show the specified published order from iExec Marketplace +iexec order show --request [orderHash] --deals # show the deals produced by an order +iexec order fill # fill a set of local signed orders (app + dataset + workerpool + request) and return a dealid +iexec order fill --app --dataset --workerpool --request # fill a set of signed orders from iExec Marketplace and return a dealid +iexec order fill --params # fill a set of signed orders generate a request order with specified params on the fly (existing apporder is ignored) +iexec order cancel --app --dataset --workerpool --request # cancel a specific signed order +iexec order unpublish --app [orderHash] --dataset [orderHash] --workerpool [orderHash] --request [orderHash] # unpublish a specific published order from iExec Marketplace (unpublished orders are still valid in the PoCo, to invalidate them use cancel) +``` + +## orderbook + +```bash +# OPTIONS +# --chain +iexec orderbook requester --category # show the best requestorders published on the Marketplace for the specified category +iexec orderbook requester [address] --category # filters the result on requester +iexec orderbook workerpool --category # show the best workerpools published on the Marketplace for the specified category +iexec orderbook workerpool [address] --category # filters the result on workerpool +iexec orderbook workerpool --category --require-tag <...tags> # show the best workerpools published on the Marketplace matchin the specified tags +iexec orderbook app
# show the best apporders published on the Marketplace for the specified app +iexec orderbook app
--dataset
--requester
--workerpool
# filter on specific dataset, requester, workerpool +iexec orderbook dataset
# show the best datasetorders published on the Marketplace for the specified dataset +iexec orderbook dataset
--app
--requester
--workerpool
# filter on specific app, requester, workerpool +``` + +## deal + +```bash +# OPTIONS +# ---chain +iexec deal show # show a deal identified by dealid +iexec deal claim # claim all failed tasks from a deal +``` + +## task + +```bash +# OPTIONS +# --chain +iexec task show # show task identified by taskid +iexec task show --watch # wait for task to be COMPLETED or CLAIMED +iexec task show --download [fileName] # download the result of a COMPLETED task +iexec task show --download [fileName] --decrypt # download and decrypt the result of a COMPLETED task +iexec task claim # claim a task requested by the user if the final deadline is reached and the task is still not COMPLETED +``` + +## result + +```bash +# OPTIONS +# --chain +iexec result generate-encryption-keypair # generate a beneficiary keypair to encrypt and decrypt the results +iexec result push-encryption-key # push the encryption key for the beneficiary +iexec result push-encryption-key --force-update # push the encryption key for the beneficiary, update if exists +iexec result push-encryption-key --secret-file [secretPath] # specify a file path for reading the secret +iexec result decrypt [encryptedResultsPath] # decrypt encrypted results with beneficary key +iexec result check-encryption-key [userAddress] # check if a encryption key exists for the user +``` + +## storage + +```bash +# OPTIONS +# --chain +iexec storage init # initialize the IPFS based default remote storage +iexec storage init [provider] # initialize the specified remote storage (supported "default"|"dropbox") +iexec storage check [provider] # check if the specified remote storage is initialized +iexec storage check [provider] --user
# check if the remote storage of specified user is initialized +``` + +## ens + +```bash +# OPTIONS +# --chain +iexec ens resolve # resolve an ENS name to an address +iexec ens lookup
# lookup for the ENS name of an address +iexec ens get-owner # find the the owner address of an ENS name +iexec ens register