1.1.1 • Published 3 years ago

@mc3-aether/shared-cache v1.1.1

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
3 years ago

aether-shared-cache

"The shared cache module that Aether uses to share cache across domains using an iframe

API

To proxy orbitdb storage or ipfs storage

const { createOrbitStorageProxy, createIpfsStorageProxy } = require('@mc3-aether/shared-cache')

const proxiedOrbitDbStorage = createOrbitStorageProxt({ postMessage }) // pass proper postMessage instance, (e.g: iframe.contentWindow.postMessage to communicate with iframe)

// pass proxied orbitdb storage to orbit-db-cache or orbit-db-keystore or directly as a storage layer

const proxiedIpfsStorage = createIpfsStorageProxy({ postMessage }) // pass proper postMessage instance, (e.g: iframe.contentWindow.postMessage to communicate with iframe)

// pass proxied ipfs storage as db key in storageBackendOptions to ipfs repo options

Running the server in an iframe

const { createServer } = require('@mc3-aether/shared-cache')

const server = createServer({ postMessage: window.parent.postMessage })
server.init() // initialises the server
server.start() // start the server
server.stop() // stop the server

How to use with Aether-js

Make sure you have the option iframeCache enabled for Aether-js and make sure you define an environment variable CACHE_IFRAME_URL with the iframe server url

To launch the iframe server, execute:

$ npm run example:server:start

The server will run on http://localhost:30001 by default.