blockstore: minor, update comments and docs
This commit is contained in:
parent
2ba3ee6354
commit
d1e747cf2f
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* bench/blockstore.js - benchmark block store for bcoin
|
* bench/blockstore.js - benchmark blockstore for bcoin
|
||||||
*
|
*
|
||||||
* This can be run to benchmark the performance of the blockstore
|
* This can be run to benchmark the performance of the blockstore
|
||||||
* module for writing, reading and pruning block data. Results are
|
* module for writing, reading and pruning block data. Results are
|
||||||
@ -7,14 +7,15 @@
|
|||||||
*
|
*
|
||||||
* Usage:
|
* Usage:
|
||||||
* node ./blockstore.js [--maxfile=<bytes>] [--total=<bytes>]
|
* node ./blockstore.js [--maxfile=<bytes>] [--total=<bytes>]
|
||||||
[--location=<path>] [--store=<name>] [--unsafe]
|
* [--location=<path>] [--store=<name>]
|
||||||
|
* [--output=<name>] [--unsafe]
|
||||||
*
|
*
|
||||||
* Options:
|
* Options:
|
||||||
* - `maxfile` The maximum file size (applies to "file" store).
|
* - `maxfile` The maximum file size (applies to "file" store).
|
||||||
* - `total` The total number of block bytes to write.
|
* - `total` The total number of block bytes to write.
|
||||||
* - `location` The location to store block data.
|
* - `location` The location to store block data.
|
||||||
* - `store` This can be "file" or "level".
|
* - `store` This can be "file" or "level".
|
||||||
* - `output` This can be "json" or "bench".
|
* - `output` This can be "json", "bench" or "benchjson".
|
||||||
* - `unsafe` This will allocate block data directly from memory
|
* - `unsafe` This will allocate block data directly from memory
|
||||||
* instead of random, it is faster.
|
* instead of random, it is faster.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1667,8 +1667,7 @@ class ChainDB {
|
|||||||
if (this.options.spv)
|
if (this.options.spv)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Write actual block data (this may be
|
// Write actual block data.
|
||||||
// better suited to flat files in the future).
|
|
||||||
await this.blocks.write(hash, block.toRaw());
|
await this.blocks.write(hash, block.toRaw());
|
||||||
|
|
||||||
if (!view)
|
if (!view)
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* blockstore/abstract.js - abstract block store for bcoin
|
* blockstore/abstract.js - abstract blockstore for bcoin
|
||||||
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
||||||
* https://github.com/bcoin-org/bcoin
|
* https://github.com/bcoin-org/bcoin
|
||||||
*/
|
*/
|
||||||
@ -52,7 +52,7 @@ class AbstractBlockStore {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This method closes resources and prepares
|
* This method closes resources and prepares
|
||||||
* store to be closed.
|
* the store to be closed.
|
||||||
* @returns {Promise}
|
* @returns {Promise}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* common.js - block store constants for bcoin
|
* common.js - blockstore constants for bcoin
|
||||||
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
||||||
* https://github.com/bcoin-org/bcoin
|
* https://github.com/bcoin-org/bcoin
|
||||||
*/
|
*/
|
||||||
@ -11,7 +11,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data types.
|
* Block data types.
|
||||||
* @enum {Number}
|
* @enum {Number}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ exports.types = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* File prefixes for data types.
|
* File prefixes for block data types.
|
||||||
* @enum {String}
|
* @enum {String}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* blockstore/file.js - file block store for bcoin
|
* blockstore/file.js - file blockstore for bcoin
|
||||||
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
||||||
* https://github.com/bcoin-org/bcoin
|
* https://github.com/bcoin-org/bcoin
|
||||||
*/
|
*/
|
||||||
@ -157,7 +157,7 @@ class FileBlockStore extends AbstractBlockStore {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This closes the file block store and underlying
|
* This closes the file block store and underlying
|
||||||
* databases for indexing.
|
* indexing databases.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
async close() {
|
async close() {
|
||||||
@ -170,6 +170,7 @@ class FileBlockStore extends AbstractBlockStore {
|
|||||||
* This method will determine the file path based on the file number
|
* This method will determine the file path based on the file number
|
||||||
* and the current block data location.
|
* and the current block data location.
|
||||||
* @private
|
* @private
|
||||||
|
* @param {Number} type - The type of block data
|
||||||
* @param {Number} fileno - The number of the file.
|
* @param {Number} fileno - The number of the file.
|
||||||
* @returns {Promise}
|
* @returns {Promise}
|
||||||
*/
|
*/
|
||||||
@ -199,9 +200,10 @@ class FileBlockStore extends AbstractBlockStore {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This method will select and potentially allocate a file to
|
* This method will select and potentially allocate a file to
|
||||||
* write a block based on the size.
|
* write a block based on the size and type.
|
||||||
* @private
|
* @private
|
||||||
* @param {Number} length - The number of bytes of the data to be written.
|
* @param {Number} type - The type of block data
|
||||||
|
* @param {Number} length - The number of bytes
|
||||||
* @returns {Promise}
|
* @returns {Promise}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -280,6 +282,7 @@ class FileBlockStore extends AbstractBlockStore {
|
|||||||
* data to the last written file and updating indexes to point
|
* data to the last written file and updating indexes to point
|
||||||
* to the file and position.
|
* to the file and position.
|
||||||
* @private
|
* @private
|
||||||
|
* @param {Number} type - The type of block data
|
||||||
* @param {Buffer} hash - The block hash
|
* @param {Buffer} hash - The block hash
|
||||||
* @param {Buffer} data - The block data
|
* @param {Buffer} data - The block data
|
||||||
* @returns {Promise}
|
* @returns {Promise}
|
||||||
@ -372,7 +375,7 @@ class FileBlockStore extends AbstractBlockStore {
|
|||||||
* This methods reads data from disk by retrieving the index of
|
* This methods reads data from disk by retrieving the index of
|
||||||
* the data and reading from the correponding file and location.
|
* the data and reading from the correponding file and location.
|
||||||
* @private
|
* @private
|
||||||
* @param {Buffer} type - The data type
|
* @param {Number} type - The type of block data
|
||||||
* @param {Buffer} hash - The block hash
|
* @param {Buffer} hash - The block hash
|
||||||
* @param {Number} offset - The offset within the block
|
* @param {Number} offset - The offset within the block
|
||||||
* @param {Number} length - The number of bytes of the data
|
* @param {Number} length - The number of bytes of the data
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* blockstore/layout.js - file block store data layout for bcoin
|
* blockstore/layout.js - file blockstore data layout for bcoin
|
||||||
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
||||||
* https://github.com/bcoin-org/bcoin
|
* https://github.com/bcoin-org/bcoin
|
||||||
*/
|
*/
|
||||||
@ -11,7 +11,7 @@ const bdb = require('bdb');
|
|||||||
/*
|
/*
|
||||||
* Database Layout:
|
* Database Layout:
|
||||||
* V -> db version
|
* V -> db version
|
||||||
* B[type] -> last file record by type
|
* F[type] -> last file record by type
|
||||||
* f[type][fileno] -> file record by type and file number
|
* f[type][fileno] -> file record by type and file number
|
||||||
* b[type][hash] -> block record by type and block hash
|
* b[type][hash] -> block record by type and block hash
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* blockstore/level.js - leveldb block store for bcoin
|
* blockstore/level.js - leveldb blockstore for bcoin
|
||||||
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
||||||
* https://github.com/bcoin-org/bcoin
|
* https://github.com/bcoin-org/bcoin
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* blockstore/records.js - block store records
|
* blockstore/records.js - blockstore records
|
||||||
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
* Copyright (c) 2019, Braydon Fuller (MIT License).
|
||||||
* https://github.com/bcoin-org/bcoin
|
* https://github.com/bcoin-org/bcoin
|
||||||
*/
|
*/
|
||||||
@ -82,7 +82,7 @@ class BlockRecord {
|
|||||||
|
|
||||||
class FileRecord {
|
class FileRecord {
|
||||||
/**
|
/**
|
||||||
* Create a chain state.
|
* Create a file record.
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user