Cargo Features

[dependencies]
nostr = { version = "0.36.0", default-features = false, features = ["std", "alloc", "all-nips", "nip03", "nip04", "nip05", "nip06", "nip07", "nip11", "nip44", "nip46", "nip47", "nip49", "nip57", "nip59"] }
default = all-nips, std

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

std default

Enables rand-std and std of bitcoin, preserve_order and std of serde_json, std of optional unicode-normalization, std of negentropy, negentropy ^0.3, once_cell, serde, optional cbc, optional chacha20, optional chacha20poly1305, and optional scrypt and url

Used in std

and std of bech32, optional base64, and optional bip39

bech32:

bitcoin uses v0.11

Affects key::vanity, nostr::Result, nip04::encrypt, nip06::FromMnemonic.from_mnemonic, nip06::FromMnemonic.from_mnemonic_with_account, nip06::FromMnemonic.from_mnemonic_advanced, nip26::sign_delegation, nip26::verify_delegation_signature, nip44::encrypt, v2::encrypt_to_bytes, nip57::anonymous_zap_request, nip57::private_zap_request, nip59::extract_rumor, nip59::make_seal, util::SECP256K1, nips::nip05, nips::nip11, nips::nip46

alloc

Enables alloc of bech32, once_cell, serde, serde_json, optional base64, optional cbc, and optional chacha20poly1305 and url-fork

Used for no_std

all-nips default = nip04, nip05, nip06, nip07, nip11, nip44, nip46, nip47, nip49, nip57, nip59
nip03

Enables nostr-ots

nip04 all-nips nip46? nip47?

Enables aes, base64, and cbc

Affects nips::nip04, signer::NostrSigner.nip04_encrypt, signer::NostrSigner.nip04_decrypt

nip05 all-nips

Enables reqwest

Affects nips::nip05

nip06 all-nips

Enables bip39

Affects nips::nip06

nip07 all-nips

Enables js-sys, wasm-bindgen, wasm-bindgen-futures, and web-sys

Affects nips::nip07

nip11 all-nips

Enables reqwest

Affects nips::nip11

nip44 all-nips nip46? nip59?

Enables base64 and chacha20

Affects nips::nip44, signer::NostrSigner.nip44_encrypt, signer::NostrSigner.nip44_decrypt, util::hkdf

nip46 all-nips = nip04, nip44

Affects nips::nip46

nip47 all-nips = nip04

Affects nips::nip47

nip49 all-nips

Enables chacha20poly1305, scrypt, and unicode-normalization

Affects nips::nip49

nip57 all-nips

Enables aes and cbc

Affects nips::nip57

nip59 all-nips = nip44

Affects nips::nip59