Intro to TOML Config Files

To configure the holochain Conductor, a configuration file format called TOML is used. It stands for "Tom's Obvious Minimal Language" and was created by Tom Preston-Werner, one of the original founders of GitHub. The documentation on GitHub for it is very good.

holochain configuration files make heavy use of tables and arrays of tables.

A table is actually a collection of key/value pairs, and it looks like this:

[table-1]
key1 = "some string"
key2 = 123

An array of tables looks like this:

[[products]]
name = "Hammer"
sku = 738594937

[[products]]
name = "Nail"
sku = 284758393
color = "gray"
This represents two "product" items in an array.

In the following articles, how to configure the various properties of the holochain Conductor using these will be expanded on. First, knowing how to reference the configuration file for use by holochain will be covered below.

holochain Config Files

holochain requires a configuration file to run, which must exist in the default location, or be provided as an explicit argument. holochain will return an error if neither is given. The default location for the configuration file is in a subdirectory of the HOME directory on a device, at the path: ```toml

Unix (Mac & Linux)

$HOME/.holochain/conductor/conductor-config.toml

Windows

%HOME%.holochain\conductor\conductor-config.toml ```

When executing holochain in a terminal, a path to a configuration file can be given. This can be done with the following option:

--config
or for short
-c

This could look like:

holochain -c ./conductor-config.toml

The holochain-nodejs Conductor also accepts the same TOML based configuration.

Examples

To jump ahead into what these configuration files can look like, you can check out this folder on GitHub which has a number of examples. Otherwise, read on to understand each part.

Was this helpful?