- orbit-electron
- orbit-textui (--> orbit-terminal?)
- orbit-core (orbit_)
- orbit-crypto
- orbit-db
- orbit-db-store
- ipfs-log
/* Sketch of how muport identities could be used in OrbitDB */ | |
const identitySignerFn = async (id, data) => { | |
// One can check here too that identity-to-be-signed is actually | |
// the same muport identity | |
if (id !== muport.getDid()) throw new Error("Trying to sign with a different identity!") | |
return await muport.sign(data) | |
} | |
const identityVerifierFn = async (identity) => { |
'use strict' | |
const path = require('path') | |
const AccessController = require('./access-controller') | |
class OrbitDBAccessController extends AccessController { | |
constructor (orbitdb) { | |
super() | |
this._orbitdb = orbitdb | |
this._db = null |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Hello, WebVR! - A-Frame</title> | |
<meta name="description" content="Hello, WebVR! - A-Frame"> | |
<script type="text/javascript" src="lib/aframe.min.js" charset="utf-8"></script> | |
<script type="text/javascript" src="lib/orbitdb.min.js" charset="utf-8"></script> | |
<script type="text/javascript" src="lib/ipfs-browser-daemon.min.js" charset="utf-8"></script> | |
</head> | |
<body> |
/* Components for Orbit */ | |
'use strict' | |
const styles = { | |
layout: { | |
flex: { | |
display: 'flex', | |
}, | |
row: { |
'use strict' | |
const PubsubMessageStream = require('ipfs-pubsub-message-stream') | |
class Pubsub { | |
constructor (send: Function) { | |
this._subscriptions = {} | |
this._send = send | |
} |
fs.init(1 * 1024 * 1024, (err) => { | |
if(err) { | |
logger.error("Couldn't initialize file system:", err) | |
} else { | |
logger.debug("FileSystem initialized") | |
} | |
}) |
'use strict'; | |
// const ipfsd = require('ipfsd-ctl'); | |
const IPFS = require('ipfs') | |
const ipfsd = require('ipfsd-ctl'); | |
const OrbitDB = require('../src/OrbitDB'); | |
const Timer = require('./Timer'); | |
// usage: benchmark.js <network hash> <username> <channel>; |
An interface for immutable databases
ImmutableDB is an abstract interface for content-addressed databases that:
The difference to a a traditional key-value store is that the key doesn't get specified explicitly. Instead, the key gets calculated based on the data using a hashing function. This is also called content-addressed storage.