orbitdb/test/utils/create-helia.js
2024-01-16 11:14:41 +00:00

25 lines
739 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 ({ blockstore } = {}) => {
const options = isBrowser() ? DefaultLibp2pBrowserOptions : DefaultLibp2pOptions
const libp2p = await createLibp2p({ ...options })
blockstore = blockstore || new MemoryBlockstore()
const heliaOptions = {
blockstore,
libp2p,
blockBrokers: [bitswap()]
}
return createHelia({ ...heliaOptions })
}