pub struct NostrConfig {Show 18 fields
pub enabled: bool,
pub relays: Vec<String>,
pub allowed_npubs: Vec<String>,
pub socialgraph_root: Option<String>,
pub bootstrap_follows: Vec<String>,
pub social_graph_crawl_depth: u32,
pub mirror_max_follow_distance: Option<u32>,
pub max_write_distance: u32,
pub db_max_size_gb: u64,
pub spambox_max_size_gb: u64,
pub negentropy_only: bool,
pub overmute_threshold: f64,
pub mirror_kinds: Vec<u16>,
pub history_sync_author_chunk_size: usize,
pub history_sync_per_author_event_limit: usize,
pub history_sync_on_reconnect: bool,
pub full_text_note_history_follow_distance: Option<u32>,
pub full_text_note_history_max_relay_pages: usize,
}Fields§
§enabled: bool§relays: Vec<String>§allowed_npubs: Vec<String>List of npubs allowed to write (blossom uploads). If empty, uses public_writes setting.
Social graph root pubkey (npub). Defaults to own key if not set.
bootstrap_follows: Vec<String>Pubkeys to seed into contacts.json when a new identity is initialized. Set to [] to opt out.
How many hops to crawl the social graph (default: 2)
mirror_max_follow_distance: Option<u32>Max follow distance to mirror into public event/profile indexes. Defaults to social_graph_crawl_depth when unset.
max_write_distance: u32Max follow distance for write access (default: 3)
db_max_size_gb: u64Max size for the trusted social graph store in GB (default: 10)
spambox_max_size_gb: u64Max size for the social graph spambox in GB (default: 1) Set to 0 for memory-only spambox (no on-disk DB)
negentropy_only: boolRequire relays to support NIP-77 negentropy for mirror history sync.
overmute_threshold: f64Threshold for treating a user as overmuted in mirrored profile indexing/search.
mirror_kinds: Vec<u16>Kinds mirrored from upstream relays for the trusted hashtree index.
How many graph authors to reconcile before checkpointing the mirror root.
Maximum mirrored history events to fetch per author during history sync.
history_sync_on_reconnect: boolRun a catch-up history sync after relay reconnects.
full_text_note_history_follow_distance: Option<u32>Fetch complete kind-1 history for authors up to this follow distance. Set to null to disable.
full_text_note_history_max_relay_pages: usizeMaximum relay pages per author for startup text-note history fetches. Set to 0 to skip the expensive startup text-note catch-up.
Implementations§
Source§impl NostrConfig
impl NostrConfig
pub fn active_relays(&self) -> Vec<String>
Trait Implementations§
Source§impl Clone for NostrConfig
impl Clone for NostrConfig
Source§fn clone(&self) -> NostrConfig
fn clone(&self) -> NostrConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NostrConfig
impl Debug for NostrConfig
Source§impl Default for NostrConfig
impl Default for NostrConfig
Source§impl<'de> Deserialize<'de> for NostrConfig
impl<'de> Deserialize<'de> for NostrConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for NostrConfig
impl RefUnwindSafe for NostrConfig
impl Send for NostrConfig
impl Sync for NostrConfig
impl Unpin for NostrConfig
impl UnsafeUnpin for NostrConfig
impl UnwindSafe for NostrConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more