MidnightConfig
class MidnightConfig
Configuration for Midnight contract operations.
Created once per app, shared across all MidnightContract instances. Manages indexer connectivity, transaction balancing, and proving.
Two modes:
Remote wallet: provide
walletUrlto delegate balancing tomn servevia WebSocketEmbedded wallet: provide a TransactionBalancer directly (e.g.,
MidnightWallet)
val previewConfig = NetworkConfig.forNetwork(MidnightNetwork.PREVIEW)
// Remote wallet (existing pattern)
val config = MidnightConfig.Builder(context)
.indexerUrl(previewConfig.indexerBaseUrl)
.walletUrl("ws://10.0.2.2:9932")
.networkId(MidnightNetwork.PREVIEW.rustNetworkId)
.build()
// Embedded wallet (new pattern)
val config = MidnightConfig.Builder(context)
.indexerUrl(previewConfig.indexerBaseUrl)
.transactionBalancer(myWallet)
.networkId(MidnightNetwork.PREVIEW.rustNetworkId)
.build()Content copied to clipboard