@sec-block/secjs-datahandler

sec blockchain data handler lib

Usage no npm install needed!

<script type="module">
  import secBlockSecjsDatahandler from 'https://cdn.skypack.dev/@sec-block/secjs-datahandler';
</script>

README

JavaScript Style Guide

[JavaScript Style Guide]

SECDataHandler

This package uses leveldb to store and handle data from SEC blockchain, this repository includes operations to four databases:

  • Token Block Chain Database
  • Transaction Block Chain Database
  • Account Database
  • Product Database

The databases contain following methods:

TokenBlockChainDB

Kind: global class

AccountDB

Kind: global class

ProductDB

Kind: global class


TokenBlockChainDB Methods

new TokenBlockChainDB(config)

Param Type Description
config Object contains the relative path for storing database

tokenBlockChainDB.writeTokenBlockToDB(tokenData, callback) ⇒ None

Write single token block or full token chain data to database

Kind: instance method of TokenBlockChainDB

Param Type Description
tokenData Array, Object single token block data or full token block chain data
callback function callback function, returns error if exist

tokenBlockChainDB.isTokenBlockChainDBEmpty(callback) ⇒ None

Check whether the token block chain database is empty

Kind: instance method of TokenBlockChainDB

Param Type Description
callback function callback function, callback arguments (err, emptyFlag)

tokenBlockChainDB.getTokenBlockChainDB(callback) ⇒ None

Get all the block datas from token block chain database

Kind: instance method of TokenBlockChainDB

Param Type Description
callback function callback function, callback arguments (err, block object array)

tokenBlockChainDB.getTokenBlockFromDB(blockHashArray, callback) ⇒ None

Get token blocks according to block hash values

Kind: instance method of TokenBlockChainDB

Param Type Description
blockHashArray String, Array block hash values, string or array format
callback function callback function, callback arguments (err, block object array)

tokenBlockChainDB.getTokenChain(minBlockNumber, maxBlockNumber, callback) ⇒ None

Get token block chain data, from number 'minBlockNumber' to number 'maxBlockNumber'

Kind: instance method of TokenBlockChainDB

Param Type Description
minBlockNumber Integer minimum block number
maxBlockNumber Integer maximum block number
callback function callback function, callback arguments (err, block object array)

tokenBlockChainDB.delBlocksFromHeight(blockHeight, callback) ⇒ None

Delete blocks which have a higher height than the input 'blockHeight' argument

Kind: instance method of TokenBlockChainDB

Param Type Description
blockHeight Integer blocks with larger height will be deleted from database
callback function callback function, callback arguments (err)

tokenBlockChainDB.addUpdateBlock(pos, blockArray, callback) ⇒ None

Add new blocks from a specific position if the blocks does not exist
Update old blocks from a specific position if the blocks already exist

Kind: instance method of TokenBlockChainDB

Param Type Description
pos Integer block add/update starting position
blockArray Array array of block data(json object)
callback function callback function, callback arguments (err)

tokenBlockChainDB.findTxForUser(userAddress, callback) ⇒ None

Find all previous transactions for a user

Kind: instance method of TokenBlockChainDB

Param Type Description
userAddress String user account address
callback function callback function, callback arguments (txArray, err)

tokenBlockChainDB.findTx(txHash, callback) ⇒ None

Find a previous transactions for a user by transaction hash

Kind: instance method of TokenBlockChainDB

Param Type Description
txHash String transaction hash
callback function callback function, callback arguments (txArray, err)



AccountDB Methods

new AccountDB(config)

Param Type Description
config Object contains the relative path for storing database

accountDB.writeUserInfoToAccountDB(accDataList, callback) ⇒ None

Write user account information to account database

Kind: instance method of AccountDB

Param Type Description
accDataList Array, Object single user account info(json object) or a list of user account info
callback function callback function, returns error if exist

accountDB.readUserInfofromAccountDB(accNameList) ⇒ Promise Object

Read user account information from account database, returns a promise object

Kind: instance method of AccountDB

Param Type Description
accNameList Array, String single user account address(string) or a list of user account addresses

accountDB.isAccountDBEmpty(callback) ⇒ None

Check whether the account database is empty

Kind: instance method of AccountDB

Param Type Description
callback function callback function, callback arguments (err, emptyFlag)

accountDB.getAccountDB(callback) ⇒ None

Get all the data in account database

Kind: instance method of AccountDB

Param Type Description
callback function callback function, callback arguments (err, block object array)

accountDB.isAccountInAccountDB(accName, callback) ⇒ None

Check whether an account is in AccountDB

Kind: instance method of AccountDB

Param Type Description
accName String account name
callback function callback function, callback arguments (err, block object array)



ProductDB Methods

new ProductDB(config)

Param Type Description
config Object contains the relative path for storing database

productDB.writeTxBlockToDB(txData, callback) ⇒ None

Write single transaction block or full transaction chain data to product database

Kind: instance method of ProductDB

Param Type Description
txData Array, Object single tx block data or full transaction block chain data
callback function callback function, returns error if exist

productDB.isProductDBEmpty(callback) ⇒ None

Check whether the product database is empty

Kind: instance method of ProductDB

Param Type Description
callback function callback function, callback arguments (err, emptyFlag)

productDB.getProductDB(callback) ⇒ None

Get all the data in product database

Kind: instance method of ProductDB

Param Type Description
callback function callback function, callback arguments (err, block object array)