0.0.5 • Published 5 years ago

echain-sqlite v0.0.5

Weekly downloads
14
License
Open BSV
Repository
github
Last release
5 years ago

Eventchain-sqlite

An eventchain to sqlite bridge.

Eventchain-sqlite extends Eventchain by storing query results in an sqlite database.

Install

npm install -g echain-sqlite

Usage

See Eventchain for details on how to configure and run eventchain.

Run eventchain-sqlite:

echain-sqlite start

Eventchain-sqlite will create an eventchain/chain.sqlite file containing the sqlite database.

Schema

Eventchain receives TXO transaction objects from Planaria. A TXO object contains information about the transaction, the block, the inputs and outputs.

Eventchain-sqlite creates the database eventchain/chain.sqlite with the following tables:

in
out

The in and out tables represent the inputs and outputs from a transaction. Each table has the same base schema:

type VARCHAR ('ONMEMPOOL' or 'ONBLOCK')
timestamp VARCHAR
txid VARCHAR
blockindex VARCHAR

In addition to the base columns, eventchain-sqlite will create columns for each of the project properties in the query.

The following event.json config file will generate the columns below:

{
  "eventchain": 1,
  "name": "metanet",
  "from": 587000,
  "q": {
    "find": { "out.h1": "6d657461" },
    "project": { "in.e.a": 1, "out.s2": 1, "out.s3": 1, "out.s4": 1, "out.s8": 1 }
  }
}

Columns created:

[in.e.a] VARCHAR
[out.s2] VARCHAR
[out.s3] VARCHAR
[out.s4] VARCHAR
[out.s8] VARCHAR

You can then create queries such as:

SELECT * FROM [out] WHERE [out.s4] = 'My metanet node';

The square brackets help with the unconventional column and table naming.

If the chain.sqlite file is deleted it will be recreated. However, it will only receive new transactions, if you want all of the previous transactions you will also need to delete the chain.txt and tape.txt files.

0.0.5

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago