scuttleup
Scuttlebutt like eventual consistent log replication for levelup
npm install scuttleup
Usage
var scuttleup =var log = // db is a levelup instancevar changes = log2changeslog // add something to the log
Replication
To replicate two logs pipe their replication stream together using the scuttlebutt protocol
var repl1 = log1var repl2 = log2// the two logs will now replicate to each otherrepl1
API
var log = scuttleup(db, [opts])
Create a log new instance. Options can include
id: 'a-globally-unique-peer-id'valueEncoding: 'utf-8' // encoding of log entries
log.append(entry, [callback])
Add a new entry to the log
log.entry(peer, seq, [options], callback)
Retrieve a entry from the log from a given peer
and seq
var ws = log.createAppendStream()
.append
as a stream
var repl = log.createReplicationStream(opts)
Create a log replication stream. Pipe this to the replication stream of another log. Replication is eventual consistent and works using the scuttlebutt protocol
Options can include
live: false // disable live replication. defaults to truemode: 'sync' | 'push' | 'pull' // set replication mode. defaults to sync
var rs = log.createReadStream(opts)
Create a log read stream. Options can include
live: false // continiously read the changes,tail: false // only read new changes
var ws = log.createWriteStream()
Create a log write stream
License
MIT