Cargo Features

[dependencies]
holochain = { version = "0.5.0-dev.3", default-features = false, features = ["tx2", "tx5", "metrics_influxive", "test_utils", "fuzzing", "slow_tests", "glacial_tests", "build_wasms", "only_check_wasms", "sqlite-encrypted", "sqlite", "wasmer_debug_memory", "wasmer_sys", "wasmer_wamr", "chc", "dpki", "sweettest", "deepkey-wasm-cache", "instrument"] }
default = metrics_influxive, sqlite-encrypted, tx2, tx5, wasmer_sys

These default features are set whenever holochain is added without default-features = false somewhere in the dependency tree.

tx2 default

Enables tx2 of kitsune_p2p

tx5 default = tx5-go-pion-turn

Enables tx5 of kitsune_p2p

Affects sweet_conductor_config_rendezvous::SweetRendezvous.sig_addr

metrics_influxive default

Use the "Influxive" opentelemetry metrics binding to write metrics to an InfluxDB time series database.

Enables influxive of holochain_metrics

test_utils sweettest? = arbitrary, async-once-cell, contrafact, deepkey-wasm-cache, diff, fixt, get_if_addrs, holochain_test_wasm_common, holochain_wasm_test_utils, kitsune_p2p_bootstrap, matches, sbd-server, unwrap_to

Exposes additional functionality only needed for integration tests.
This feature should be turned off for production builds.

Enables mock_network of holochain_p2p, fixt of kitsune_p2p_bin_data, fixt and test_utils of kitsune_p2p_types, test_utils of ghost_actor ^0.3.0-alpha.6, hdk, holochain_cascade, and holochain_conductor_services, test_utils of holochain_sqlite, holochain_state, holochain_types, holochain_zome_types, and kitsune_p2p

Affects holochain::fixt

fuzzing
slow_tests

Wasm ribosome tests take > 60 seconds - let's only run them in CI

glacial_tests

What's slower than slow? We may choose to not run these tests in CI to speed things up.

build_wasms

Includes the wasm build script, which we don't need when not building wasms

Enables build of holochain_wasm_test_utils

only_check_wasms

Enables only_check of holochain_wasm_test_utils

sqlite-encrypted default

Enables at-rest encryption of the SQLite database.
Incompatible with "sqlite".

Enables bundled-sqlcipher-vendored-openssl of rusqlite, sqlite-encrypted of holo_hash, holochain_cascade, holochain_conductor_api, holochain_keystore, holochain_p2p, holochain_sqlite, holochain_state, holochain_types, holochain_zome_types, kitsune_p2p, kitsune_p2p_block, kitsune_p2p_bootstrap, and kitsune_p2p_types

sqlite sweettest?

Compile SQLite from source rather than depending on a library.
Incompatible with "sqlite-encrypted"

Enables bundled of rusqlite, sqlite of holo_hash, holochain_cascade, holochain_conductor_api, holochain_keystore, holochain_p2p, holochain_sqlite, holochain_state, holochain_types, holochain_zome_types, kitsune_p2p, kitsune_p2p_block, kitsune_p2p_bootstrap, and kitsune_p2p_types

wasmer_debug_memory

Extremely verbose wasm memory read/write logging

Enables debug_memory of holochain_wasmer_host

wasmer_sys default

Enable wasm compiler
Incompatible with "wasmer_wamr"

Enables wasmer =4.3.6 and wasmer-middlewares =4.3.6, wasmer_sys of holochain_wasmer_host

wasmer_wamr

Enable wasm interpreter (experimental)
Incompatible with "wasmer_sys"

Enables wasmer_wamr of holochain_wasmer_host and wamr of hc-wasmer

Temporarily include a fork of wasmer from the git branch 'wamr', until it is officially released in wasmer v5

chc = bytes, reqwest

Enable chain head coordination

Enables http of holochain_chc, chc of holochain_conductor_api

Affects conductor::chc

dpki

Transitional feature flag for code that is only ready when DPKI integration lands.

sweettest = sqlite, test_utils
deepkey-wasm-cache test_utils?
instrument

Enables tracing instrumentation
(we experience segfaults in some tests if there is too much instrumentation)

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

reminder - do not use workspace deps

fixt test_utils?

Enables fixt

Dependencies for test_utils / other optional deps

contrafact test_utils?
diff test_utils?
hdk test_utils?
matches test_utils?
holochain_wasm_test_utils build_wasms? only_check_wasms? test_utils?
holochain_test_wasm_common test_utils?
kitsune_p2p_bootstrap sqlite? sqlite-encrypted test_utils?
unwrap_to test_utils?
sbd-server test_utils?
tx5-go-pion-turn tx5
async-once-cell test_utils?
get_if_addrs test_utils?
bytes chc?

Enables bytes

chc deps

reqwest chc?
arbitrary test_utils?