Configurations

Many of the chifra commands allow you to customize their behaviour through configuration files and/or environment variables. These options are documented here.

Environment Variables

Each command-line option may be overridden by exporting an environment variable in your shell prior to running a chifra command.

The name of those environment variables is as follows:

  1. The environment variable is ALL_UPPER_CASE
  2. The environment variable name preserves underbars in the item_name
  3. The name of the variable starts with the group the item belongs to

For example: GROUP_ITEM_NAME.

A more concrete example might be:

export SETTINGS_RPCPROVIDER=http://localhost:9876
chifra blocks 100

which would cause chifra to use an alternate rpcProvider without having to edit the configuration file.

This feature comes in handy when build shell scripts to automate various tasks with chifra.

Where Are Configuration Files Stored?

Please see TODO: PLACE_HODLER for more information.

Separate Files

A single global configuration, called trueBlocks.toml, is stored at the root of the configuration folder.

In addition, each individual tool has its own configuration file with items peculuar to that tool. If a configuration item is found in a particular file, it applies only to that tool.

If, however, one of the items documented below under trueBlocks.toml is found in a tool’s individual config, it will override that value for that tool only.

For historical reasons, the configuration files are names based on old tool names. Please see the table below for the name of each tool’s config file.

Multichain

If you’re running against mutliple chains, you may place any of these files in the root of the chain’s configuration folder, and the values found there will replace any values found at the top level. In this way, you may configure all chains for certain values, but customize your configuration per chain.

Configuration Files

trueBlocks.toml (all tools)
Item Description / Default
[settings]
rpcProvider The RPC endpoint (required)
http://localhost:8545
cachePath Location of binary cache
$CONFIG/cache/
indexPath Location of unchained index
$CONFIG/unchained/
etherscan_key API key for EtherScan (optional)
empty
[dev]
debug_curl Increases log level for curl commands
false
All tools (in each file)
Item/Default Description
[display]
format Customizes default output of tool
empty
acctExport.toml for chifra export
Item/Default Description
[settings]
cache If true, queried transactions are cached
false
cache_traces If true, queried traces are cached
false
max_slow_queries In API mode only, if transactions do not reconcile, only produce this many results per page
13
ether_rounding When doing reconciliations, round to this number of decimals places
18
start_when_deployed For smart contracts only, if true, start scan when contract is first deployed. If false, scan entire history (slower)
true
max_traces For any given transaction, limit number of traces to this number
250
skip_ddos Skip over 2016 dDos attacks
true
[display]
format Display format when exporting transactions (search source code)
STR_DISPLAY_TRANSACTION
receipt Display format when exporting receipts
STR_DISPLAY_RECEIPT
log Display format when exporting logs
STR_DISPLAY_LOGENTRY
trace Display format when exporting traces
STR_DISPLAY_TRACE
appearances Display format when exporting appearances
STR_DISPLAY_APPEARANCEDISPLAY
neighbor Display format when exporting neighbors
STR_DISPLAY_APPEARANCE
statement Display format when exporting statements
STR_DISPLAY_RECONCILIATION
[exclusions]
enabled If true, exclude addresses in list from extractions
false
list If [exclusions]enabled is true, exclude this list of addresses from extractions
empty

blockScrape.toml for chifra scrape
Item/Default Description
[settings]
block_cnt The number of blocks to process with each round of the scraper
2000
block_chan_cnt The number of go routines to devote to block processors
10
addr_chan_cnt The number of go routines to devote to address processors
20
n_blocks_fallback The number of blocks to process during dDos or other busy block ranges
500
apps_per_chunk the number of appearances to build into a chunk before consolidating it
unripe_dist The distance (in blocks) from the front of the chain under which (inclusive) a block is considered unripe
snap_to_grid An override to apps_per_chunk to snap-to-grid at every modulo of this value, this allows easier corrections to the index
first_snap The first block at which snap_to_grid is enabled
allow_missing Do not report errors for blockchain that contain blocks with zero addresses
n_test_runs In live testing mode, the number of test runs to process before quitting
pinata_api_key If –pin is on, the key to Pinata at which to pin
pinata_secret_api_key If –pin is on, the secret key to Pinata at which to pin
[requires] (this section will be removed when full multi-chain support is finished)
tracing If true, require the node to be able to produce traces
true
archive If true, require the node to be an archive node
true
parity If true, require the node to be parity (deprecated)
true
[dev] (this section will be removed when full multi-chain support is finished)
ipfs_gateway The default IPFS gateway endpoint for chifra init
https://ipfs.unchainedindex.io/ipfs/
chunkMan.toml for chifra chunks
Item/Default Description
[enabled]
download_manifest If true, download the index manifest prior to processing
true
getTraces.toml for chifra traces
Item/Default Description
[settings]
skip_ddos If true, skip over September 2016 dDos transactions
true
max If skip_ddos is true, this number of traces defines a ‘dDos’ transaction
250
ethslurp.toml for chifra slurp

See the source code for information on customizing this tool – this legacy code does not comply with other tools.

Other tools

The following tools are documented, but customizing them is not supported. If you change something here, and you break your installation, please don’t tell us we didn’t warn you.

testRunner.toml for testRunner
Item/Default Description
[settings]
api_provider The location of the API endpoint gotten from chifra serve
http://localhost:8080
run_local If true, run tests labeled as local (most will fail)
false
json_pretty_print Post processor for API test cases (formats output to verify valid JSON production)
jq .
test_epoch The epoch to report in the performance testing tool - usually tracks current version
E-<VERSION_MINOR>
copy_path An alternate path to which to copy performance results
makeClass.toml for makeClass
Item/Default Description
[settings]
disabled If true, makeClass is enabled. Be warned – this will overwrite source code file if improperly configured
false
last_format The timestamp at date the makeClass formatter was run
0
last_lint The timestamp at the date the makeClass linter was run
0
[enabled]
auto_format If true, run the auto-formatter
false
generate If true, run the auto-code generator
false
readmes If true, generate README files with make generate
false
lint_all If true, run the linter when doing make finish
false
tsx (deprecated)
false

The follow values are defined for each classDefinition file

Item/Default Description
[settings]
class The name of the C++ class
base_class The baseclass for class
CBaseNode
fields The name of the file holding the field definitions for the class
includes The include files for the class’s header file
cpp_includes The include files for the class’s c++ file
sort If true, add sorting function to the class
equals If true, add equality function to the class
contained_by If present, the name of the class that contains items of this type
doc_producer The name of the chifra tool that produces this type of data
tsx (deprecated)
false
doc_group The documentation group this class belongs to
doc_descr The description of the class for the documentation
doc_api The API something or other for something or other
force_objget Some flag for some reason
false

Edit this page on GitHub