Skip to main content

Example Execution Plan

Here is an example of an execution plan. Notably, this is the default plan that will be used

/indexer/execution_plans/default.toml
# This file defines which tasks are used when parsing blocks# Creating your own execution plan with the tasks you need for your application# Format follows the TOML format: https://toml.io/en/# Note: the order you specify tasks in this file matters#       ex: if task Foo depends on task Bar, place Bar first in the list# You can find task the task name by looking at the TASK_NAME field inside the task# Some tasks may allow extra parameters that you can specify in this file[GenesisBlockTask]include_payload=false[GenesisTransactionTask]include_payload=true[ByronBlockTask]readonly=falseinclude_payload=false[ByronTransactionTask]readonly=falseinclude_payload=true[ByronAddressTask][ByronOutputTask][ByronInputTask][MultieraBlockTask]readonly=falseinclude_payload=false[MultieraTransactionTask]readonly=falseinclude_payload=true[MultieraMetadataTask]readonly=false[MultieraAddressTask][MultieraOutputTask]readonly=false[MultieraReferenceInputTask]readonly=false[MultieraUsedInputTask]readonly=false[MultieraUnusedInputTask][MultieraStakeCredentialTask][MultieraAddressCredentialRelationTask]readonly=false[MultieraTxCredentialRelationTask][MultieraAssetMintTask]readonly=false[MultieraCip25EntryTask][MultieraAddressDelegationTask][MultieraAssetUtxos]

Notably, this execution plan will generate the following execution graph

graph

As you can see from the plan, there are many tasks that will run. Note that:

  • Tasks operate at the block level. This means that different block formats have different execution graphs
  • Tasks run in parallel based on their dependency graph

If you want to write your own task, you can find out how here

You can find a list of all existing tasks here