[][src]Module tari_common::configuration

Configuration of tari applications

Tari application consist of common, base_node, wallet and application configuration sections. All tari apps follow traits implemented in this crate for ease and automation, for instance managing config files, defaults configuration, overloading settings from subsections.

Submodules

  • bootstrap - build CLI and manage/load configuration with [ConfigBootsrap] struct
  • global - load GlobalConfig for Tari
  • loader - build and load configuration modules in a tari-way
  • utils - utilities for working with configuration

Configuration file

The tari configuration file (config.yml) is intended to be a single config file for all Tari desktop apps to use to pull configuration variables, whether it's a testnet base node; wallet; validator node etc.

The file lives in ~/.tari by default and has sections which will allow a specific app to determine the config values it needs, e.g.

[common]
# Globally common variables
...
[base_node]
# common vars for all base_node instances
[base_node.rincewind]
# overrides for rincewnd testnet
[base_node.mainnet]
# overrides for mainnet
[wallet]
[wallet.rincewind]
# etc..

Re-exports

pub use bootstrap::ConfigBootstrap;
pub use global::CommsTransport;
pub use global::DatabaseType;
pub use global::GlobalConfig;
pub use global::Network;
pub use global::SocksAuthentication;
pub use global::TorControlAuthentication;
pub use loader::ConfigurationError;
pub use utils::default_config;
pub use utils::install_default_config_file;
pub use utils::load_configuration;

Modules

bootstrap

Building tari-based applications CLI

error
global

Global configuration of tari base layer system

loader

Application configuration

utils