OverviewFilesCommitsIssuesDocsReleasesPeers

pear-git / scripts / meta-diag.mjs

27 lines · javascript ref:
await import('bare-node-runtime/global')
import Corestore from 'corestore'
import Autobase from 'autobase'
import Hyperbee from 'hyperbee'
import fs from 'bare-fs'

const storagePath = process.argv[2] || './pear-git-storage'
const keyHex = fs.readFileSync(storagePath + '/metadata-key', 'utf-8').trim()
console.log('Key:', keyHex.slice(0, 16))

const store = new Corestore(storagePath + '/metadata')
await store.ready()

const base = new Autobase(store, Buffer.from(keyHex, 'hex'), {
  open: (s) => new Hyperbee(s.get('view'), { keyEncoding: 'utf-8', valueEncoding: 'json' }),
  apply: async (nodes, view) => { const b = view.batch(); await b.flush() },
  valueEncoding: 'json'
})
await base.ready()
console.log('Writable:', base.writable)
console.log('Local key:', base.local?.key?.toString('hex')?.slice(0, 16))
console.log('Active writers:', base.activeWriters?.length || 'unknown')
console.log('View length:', base.view?.core?.length || 0)

await base.close()
await store.close()