Answers to frequently asked questions (FAQs) about Lily.
Do I need Lotus to run Lily?
No. Lily does not need a separate Lotus node running since Lily itself is an abstraction over Lotus.
However, Lily can use a datastore created by Lotus.
Do I need to use TimescaleDB with Lily?
A database instance is not required to use Lily. You can simply have a Lily node running and then run a
walk job over it with CSVs as a
These CSVs can then be loaded onto the database of your choosing.
How much storage should I allocate for my database?
Around 4TB should be sufficient for mainnet data with a data retention policy of 3 months.
How do I configure Lily?
You can configure Lily with the
Where do I get the
Lily creates a
config.toml file for you upon
lily init if no configuration file is provided to the
Lotus also provides a default
config.toml file with the handy
lotus config default command. You can then redirect
this into a file.
Why didn’t my config changes take effect?
You’ll need to restart the Lily daemon.
How should I distribute tasks across jobs?
Tasks should be grouped based on the actors they process for optimal cache utilization.
How can I backfill incomplete data?
How can I tell if Lily correctly exported to the database?
Why are my tasks failing?
You can run gap find over the
All jobs that run tasks,
[walk, watch, fill], will write the results of the tasks to
Why is my job failing?
lily job list to see the reason for job failure.
Can a job be successful even when tasks fail?
Yes. A job runs a set of tasks and tasks can fail while the job is successful.
Do I need to let Lily sync until the current epoch?
Yes. If you run jobs before Lily completely syncs, there will be unexpected behavior.
How can I make sure that Lily finishes syncing?
lily sync wait && lily ...
What’s a good way to check that my repo has all of the heights I need for a walk?
lily job run --tasks=actor_states,consensus,messages walk --from <min_height> --to <max_height>
Why do tasks in my job fail?
This can be for multiple reasons. But the most common ones are:
- your Lily node is not fully synced
- the snapshot you used to initialize Lily does not have the state of either your minimum or maximum epoch height