1.0.19 • Published 5 years ago

ora-ruffle v1.0.19

Weekly downloads
1
License
ISC
Repository
-
Last release
5 years ago

Ruffle

Installation

npm install ora-ruffle

Example Usage

Importing

const Ruffle = require('ora-ruffle')
var ruffle = new Ruffle()

Creating a table for transactions

let table = "transactions"
let schema = {
  id: 'string',
  from: 'string',
  to: 'string',
  amount: 'uint'
}
var transactions = ruffle.create(table, schema)

Load table for transactions

let table = "transactions"
let schema = {
  id: 'string',
  from: 'string',
  to: 'string',
  amount: 'uint'
}
var transactions = ruffle.create(table, schema)

Put key into db

let key = 'id'
let transaction = {
  id: key,
  from: 'address1',
  to: 'address2',
  amount: 20000
}
ruffle.put(transactions, key, value)

The put command returns a proof and value, or an error.

Proof {

}

Get item from the table

ruffle.get(transactions, key)
let pred = {
  account: "key"
}
ruffle.filter(transactions, pred)

Documentation

CRUD Operations

Create

nametypedescription
tablestringname of the table
schemaJSONschema for the table

This creates a table with name, tableName, and returns a confirmation boolean if correct.

let table = "transactions"
let schema = {
  balance: 'uint'
  account: 'string'
}
var transactions = ruffle.create(table, schema)

Put

nametypedescription
tableNamestringname of the table
keybyte arraykey for the value
valuebytes arrayvalue being placed in the table

This operation does a put, and returns a proof.

let key = '.....'
let value = {
  account: key,
  value: 1000
}
ruffle.put(transactions, key, value)

Get

nametypedescription
tablestringname of the table
keybyte arraykey for the value

Gets a value corresponding to the key, within the tableName.

ruffle.get(transactions, key)

Remove

nametypedescription
tableNamestringname of the table
keybyte arraykey for the value

Deletes the value associated with the key at the designated table.

Verification

Filters, Aggregates, Maps, and Groups

Filter

Each filter can be shown as a combination of three variables.

nametypedescription
namestringname of the table
expressionstringkey for the predicate type
valueinteger, string, value typekey for the value
let filter = [{
 name: "name", expression: "=", value: "hello"
}]
ruffle.filter(transactions, filter)

Output

Future Work

Future work on this library:

  • Schema Validation
  • Optimized range queries
  • Integrating mapping, and aggregation functions
  • Query optimization
  • Addition of developer-based authenticated updates
1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago