Skip to content
This repository has been archived by the owner on Aug 9, 2021. It is now read-only.
/ 3box-shared-cache Public archive

The shared cache module that 3box uses to share cache across domains using an iframe

License

Notifications You must be signed in to change notification settings

3box/3box-shared-cache

Repository files navigation

⚠️ ⚠️ Deprecated in favor of Ceramic ⚠️ ⚠️

3box.js and related tools built by 3Box Labs are deprecated and no loger supported. Developers are encurraged to build with https://ceramic.network which is a more secure and decentralized protocol for sovereign data.

3box-shared-cache

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

API

To proxy orbitdb storage or ipfs storage

const { createOrbitStorageProxy, createIpfsStorageProxy } = require('3box-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('3box-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 3box-js

Make sure you have the option iframeCache enabled for 3box-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.

Maintainers

@zachferland

About

The shared cache module that 3box uses to share cache across domains using an iframe

Resources

License

Stars

Watchers

Forks

Packages

No packages published