Idea
orwelldb
Library which synchronize data between blockchain and database
based
All protocol based on network bitcoin types, like var_int, var_str and other. You can find this types and parser/builder for that in my another package: bitPony
Orwelldb usage
install
npm install orwelldb
add to app
var orwelldb = ;
interface
orwelldb//returns Promise objectorwelldb//returns Promise objectorwelldb //access to db api. return Promiseorwelldbdatascript //datascript builder/parser
orwell params
adapter: mysqlAdapter//database adapter object or empty for using native (nosql lokijs) name: 'db1'//database name public_key: "" //writer or owner public key keystore: //keystore settings, for example can be used another user to keystore, or another adapter adapter: mysqlAdapter //keystore db adapter name: 'keystore' //keystore database name options: //keystore adapter options (for mysql need auth data) dbuser: 'orwelldb' dbpass: '' modelspath: '../_tests/models/keystore' //node-orm2 use models file with shema defenition options: //adapter options dbuser: 'orwelldb' dbpass: '' modelspath: '../_tests/models/index'
import
orwell_params 'ef....datascript hex...'
import result
operation: 'update'//operation insert/update data: //data from database (with meta data) oid: 1 writeScript: 5560 owner_key: '' privileges: meta: Object '$loki': 1 scenario: //scenario, datascript generated from operation: 'create' //datascript operation dataset: 'posts' //dataset name content: oid: 1 writeScript: 5560 owner_key: '' privileges: algorithm: 'rsa' //if have keystore for this db\dataset - encryption is enabled status: 0 //0 = ok, another status from 0 or 'ok' its error, error description in error field.
export
orwelldb
database
var $ = orwelldb$;
interface descriped in wiki.
datascript
var datascript = orwelldbdatascript;
parse
var obj = 'hex or buffer' pem;obj;
return:
dataset: 'dataset name' operator: 'operation'//write, create, settings content: {}//data canRead: true // if false - datascript encrypted, need pem success: true // if false - datascript is not valid
build
var obj = operation: 'write' dataset: 'posts' content: obj algorithm: 'rsa' // rsa or ecdh pem;obj; //returns hex string of datascript buffer.
More information and examples you can read in orwelldb wiki: wiki