NdkConfig class

Configuration class for the Nostr Development Kit (NDK)

This class holds various settings and dependencies required for the NDK to function properly

Constructors

NdkConfig({required EventVerifier eventVerifier, required CacheManager cache, WalletsRepo? walletsRepo, NdkEngine engine = NdkEngine.RELAY_SETS, List<String> ignoreRelays = const [], List<String> bootstrapRelays = DEFAULT_BOOTSTRAP_RELAYS, List<EventFilter> eventOutFilters = const [], Duration defaultQueryTimeout = RequestDefaults.DEFAULT_QUERY_TIMEOUT, Duration defaultBroadcastTimeout = BroadcastDefaults.TIMEOUT, double defaultBroadcastConsiderDonePercent = BroadcastDefaults.CONSIDER_DONE_PERCENT, bool defaultBroadcastSaveToCache = BroadcastDefaults.SAVE_TO_CACHE, LogLevel logLevel = defaultLogLevel, String userAgent = RequestDefaults.DEFAULT_USER_AGENT, CashuUserSeedphrase? cashuUserSeedphrase, bool fetchedRangesEnabled = false, bool eagerAuth = false, Duration authCallbackTimeout = RequestDefaults.DEFAULT_AUTH_CALLBACK_TIMEOUT})
Creates a new instance of NdkConfig.

Properties

authCallbackTimeout Duration
Timeout for AUTH callbacks (how long to wait for AUTH OK response). Defaults to 30 seconds.
getter/setter pair
bootstrapRelays List<String>
A list of initial relay URLs to use for bootstrapping the network. These connect on start.
getter/setter pair
cache CacheManager
The cache manager (DB) used to store and retrieve Nostr data. E.g MemCacheManager()
getter/setter pair
cashuUserSeedphrase CashuUserSeedphrase?
cashu user seed phrase, required for using cashu features
you can use CashuSeed.generateSeedPhrase() to generate a new seed phrase
Store this securely! Seed phrase allow full access to cashu funds!
final
defaultBroadcastConsiderDonePercent double
percentage of relays that need to respond with "OK" for the broadcast to be considered done
value between 0.0 and 1.0
getter/setter pair
defaultBroadcastSaveToCache bool
whether to save broadcasted events to cache by default
getter/setter pair
defaultBroadcastTimeout Duration
timeout for broadcasts
getter/setter pair
defaultQueryTimeout Duration
default timeout for queries
this value is used if no individual timeout is set for a query
getter/setter pair
eagerAuth bool
If true, AUTH immediately when relay sends challenge. If false (default), AUTH only after relay responds with auth-required. False is more privacy-respecting as it doesn't reveal identity until necessary.
getter/setter pair
engine NdkEngine
The engine mode to use for Nostr network operations (inbox/outbox mode).
getter/setter pair
eventOutFilters List<EventFilter>
filters that are applied to the output stream
getter/setter pair
eventVerifier EventVerifier
The verifier used to validate Nostr events. E.g. RustEventVerifier(), Bip340EventVerifier
getter/setter pair
fetchedRangesEnabled bool
Enable fetched ranges tracking. When enabled, NDK tracks which time ranges have been fetched from which relays. Disabled by default for performance.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
ignoreRelays List<String>
A list of relay URLs to ignore for inbox/outbox operations.
getter/setter pair
logLevel LogLevel
log level
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
userAgent String
User agent string for Http requests and websockets.
getter/setter pair
walletsRepo WalletsRepo?
The wallets repository used to manage wallet data. E.g MemWalletsRepo()
getter/setter pair

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited