mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-06-02 20:26:37 +00:00
25 lines
784 B
JavaScript
25 lines
784 B
JavaScript
import { createHelia } from 'helia'
|
|
import { bitswap } from '@helia/block-brokers'
|
|
import { createLibp2p } from 'libp2p'
|
|
import { MemoryBlockstore } from 'blockstore-core'
|
|
import { LevelBlockstore } from 'blockstore-level'
|
|
import { DefaultLibp2pOptions, DefaultLibp2pBrowserOptions } from '../../src/index.js'
|
|
|
|
const isBrowser = () => typeof window !== 'undefined'
|
|
|
|
export default async ({ directory } = {}) => {
|
|
const options = isBrowser() ? DefaultLibp2pBrowserOptions : DefaultLibp2pOptions
|
|
|
|
const libp2p = await createLibp2p({ ...options })
|
|
|
|
const blockstore = directory ? new LevelBlockstore(`${directory}/blocks`) : new MemoryBlockstore()
|
|
|
|
const heliaOptions = {
|
|
blockstore,
|
|
libp2p,
|
|
blockBrokers: [bitswap()]
|
|
}
|
|
|
|
return createHelia({ ...heliaOptions })
|
|
}
|