@sprillow-connor/electron-holochain
v0.0.40
Published
manage holochain processes during an electron application runtime
Downloads
131
Maintainers
Readme
electron-holochain
Holochain Revision: v0.0.150 July 13, 2022
Lair Keystore Revision: v0.2.0 June 20, 2022
manage holochain processes during an electron application runtime, using holochain-runner binaries.
// function initAgent(
// app: App,
// opts: ElectronHolochainOptions,
// pathOptions?: PathOptions
// ): Promise<{ statusEmitter: StatusUpdates, shutdown: () => Promise<void> }>
import {app} from 'electron'
import initAgent, {
StateSignal,
StatusUpdates,
STATUS_EVENT,
APP_PORT_EVENT,
ElectronHolochainOptions,
PathOptions
} from 'electron-holochain'
const runnerOptions: ElectronHolochainOptions = {
happPath: 'pathtomyhapp.happ',
keystorePath: string
passphrase: string
// datastorePath?: 'string' default: databases
// appId?: string
// appWsPort?: number
// adminWsPort?: number
// proxyUrl?: string
// membraneProof?: string
// bootstrapUrl?: string
// uid?: string
}
const { statusEmitter, shutdown } = await initAgent(app, runnerOptions)
// listen on the statusEmitter for status update
statusEmitter.on(STATUS_EVENT, (status: StateSignal) => {
// do stuff
})
// listen on the statusEmitter for the websocket port used for app
statusEmitter.on(APP_PORT_EVENT, (appPort: string) => {
// do stuff
}
// when the app quits, holochain-runner and lair-keystore will shut down automatically
// you can also call the following, to shut them down
await shutdown()