Skip to content
Check how to deploy you own workerpool!
Branch: master
Clone or download
Latest commit 7b5d9c6 Jul 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper Upgraded gradlew@5.5 Jul 11, 2019
src Bug fixes for input files Jul 18, 2019
.gitignore Updated gitignore Apr 18, 2019
Dockerfile Merge branch 'master' of… Jul 15, 2019
Jenkinsfile Fast forward Jul 9, 2019 Https Apr 2, 2019
docker-compose.yml Fast forward Jul 9, 2019
gradlew Upgraded gradlew@5.5 Jul 11, 2019
gradlew.bat Upgraded gradlew@5.5 Jul 11, 2019
settings.gradle Add spring files Sep 24, 2018



The goal of the core component is to monitor the chain to check if there is any work to perform. In case there is, the core will orchestrate the work among the different workers that will participate in the computation.

Run an iexec-core

Gradle is used to build the project. It can be built using the gradle wrapper included in the project (so no need to have gradle installed on your machine) with the following command:

./gradlew build

They are several ways to run the project: with gradle and with docker. In both ways, there needs to be a running mongo instance as mongo is used to store data. Another pre-requisite is to have a wallet, the core component should be allowed to access it.

With gradle

./gradlew bootRun

In case you use gradle to run the project, please update the variables set in the application.yml.

With docker

docker run  -e MONGO_HOST=mongo \
            -e IEXEC_CORE_WALLET_PATH=path_to_encrypted_wallet \
            -e IEXEC_CORE_WALLET_PASSWORD=password_of_the_encrypted_wallet \
            -e IEXEC_PRIVATE_CHAIN_ADDRESS=http://chain_used_by_core \
            -e IEXEC_PUBLIC_CHAIN_ADDRESS=http://chain_used_by_workers \
            -e IEXEC_HUB_ADDRESS=0xaddress_of_hub_contract_onchain \
            -e POOL_ADDRESS=0xaddress_of_pool_contract_onchain \
            -e IEXEC_START_BLOCK_NUMBER=chain_start_block_number \
            -v #path_to_wallet:/iexec-wallet \
            -p 18090:18090 \

Some other variables are settable through docker. Please check the application.yml file.

Please note that the wallet used by the core should contain at least 0.1 ETH and some RLC to start. Since the core will perform some transactions on the blockchain and handle some RLC, it needs both at start-up.


A more exhaustive documentation is available on the official documentation of iExec


  • Self-signed certificate (dev purpose only)

keytool -genkey -alias iexec-core -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore ./src/main/resources/ssl-keystore-dev.p12 -validity 3650

  • Replace it with a real certificate in production
You can’t perform that action at this time.