Cargo Features

[dependencies]
bellscoin = { version = "0.31.0", default-features = false, features = ["rand-std", "rand", "serde", "secp-lowmemory", "secp-recovery", "bitcoinconsensus-std", "std", "no-std", "base64"] }
default = secp-recovery, std

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

rand-std = std

Enables rand-std of secp256k1 ^0.28.0

rand

Enables rand of secp256k1 ^0.28.0

serde = actual-serde

Enables serde of bitcoin_hashes ^0.13.0, bitcoin-internals ^0.2.0, and secp256k1 ^0.28.0

Affects amount::serde, consensus::serde, network::as_core_arg

secp-lowmemory

Enables lowmemory of secp256k1 ^0.28.0

secp-recovery default

Enables recovery of secp256k1 ^0.28.0

bitcoinconsensus-std = std

Enables std of bitcoinconsensus

Only use this feature for no-std builds, otherwise use bitcoinconsensus-std.

std default bitcoinconsensus-std? rand-std?

At least one of std, no-std must be enabled.

The no-std feature doesn't disable std - you need to turn off the std feature for that by disabling default.
Instead no-std enables additional features required for this crate to be usable without std.
As a result, both can be enabled without conflict.

Enables std of bech32, bitcoin_hashes ^0.13.0, hex-conservative ^0.1.1, bitcoin-internals ^0.2.0, and secp256k1 ^0.28.0

Affects p2p::address, p2p::message, p2p::message_blockdata, p2p::message_bloom, p2p::message_compact_blocks, p2p::message_filter, p2p::message_network

no-std = core2

Enables alloc of bech32, alloc and core2 of bitcoin_hashes ^0.13.0 and hex-conservative ^0.1.1 and alloc of secp256k1 ^0.28.0

secp256k1:

allow use of Secp256k1::new and related API that requires an allocator

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.

base64 implicit feature

Enables base64 ^0.21.3

base64:

encodes and decodes base64 as bytes or utf8

bitcoinconsensus bitcoinconsensus-std?

Affects consensus::validation

core2 no-std?

Enables core2 ^0.3.2

There is no reason to use this dependency directly, it is activated by the "no-std" feature.

actual-serde serde?

Enables serde

Do NOT use this as a feature! Use the serde feature instead.