Show / Hide Table of Contents

Class RocksDBStore

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Inheritance
Object
BaseStore
RocksDBStore
Implements
IStore
IDisposable
Inherited Members
BaseStore.AppendIndex(Guid, BlockHash)
BaseStore.ForkBlockIndexes(Guid, Guid, BlockHash)
BaseStore.GetTransaction(TxId)
BaseStore.PutTransaction(Transaction)
BaseStore.GetBlock(BlockHash)
BaseStore.GetBlockIndex(BlockHash)
BaseStore.GetBlockDigest(BlockHash)
BaseStore.PutBlock(Block)
BaseStore.DeleteBlock(BlockHash)
BaseStore.ContainsBlock(BlockHash)
BaseStore.PutTxExecution(TxExecution)
BaseStore.GetTxExecution(BlockHash, TxId)
BaseStore.PutTxIdBlockHashIndex(TxId, BlockHash)
BaseStore.GetFirstTxIdBlockHashIndex(TxId)
BaseStore.IterateTxIdBlockHashIndex(TxId)
BaseStore.DeleteTxIdBlockHashIndex(TxId, BlockHash)
BaseStore.GetTxNonce(Guid, Address)
BaseStore.IncreaseTxNonce(Guid, Address, Int64)
BaseStore.ContainsTransaction(TxId)
BaseStore.PutChainBlockCommit(Guid, BlockCommit)
BaseStore.GetBlockCommit(BlockHash)
BaseStore.PutBlockCommit(BlockCommit)
BaseStore.DeleteBlockCommit(BlockHash)
BaseStore.SerializeTxExecution(TxExecution)
BaseStore.DeserializeTxExecution(BlockHash, TxId, IValue, ILogger)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Libplanet.RocksDBStore
Assembly: Libplanet.RocksDBStore.dll
Syntax
public class RocksDBStore : BaseStore, IStore, IDisposable

Constructors

| Improve this Doc View Source

RocksDBStore(String, Int32, Int32, Nullable<UInt64>, Nullable<UInt64>, Nullable<UInt64>, Int32, Int32, Int32, Boolean)

Creates a new RocksDBStore.

Declaration
public RocksDBStore(string path, int blockCacheSize = 512, int txCacheSize = 1024, ulong? maxTotalWalSize = null, ulong? keepLogFileNum = null, ulong? maxLogFileSize = null, int txEpochUnitSeconds = 86400, int blockEpochUnitSeconds = 86400, int dbConnectionCacheSize = 100, bool readonly = false)
Parameters
Type Name Description
String path

The path of the directory where the storage files will be saved.

Int32 blockCacheSize

The capacity of the block cache.

Int32 txCacheSize

The capacity of the transaction cache.

Nullable<UInt64> maxTotalWalSize

The number to configure max_total_wal_size RocksDB option.

Nullable<UInt64> keepLogFileNum

The number to configure keep_log_file_num RocksDB option.

Nullable<UInt64> maxLogFileSize

The number to configure max_log_file_size RocksDB option.

Int32 txEpochUnitSeconds

The interval between epochs of DB partitions containing transactions. 86,400 seconds by default.

Int32 blockEpochUnitSeconds

The interval between epochs of DB partitions containing blocks. 86,400 seconds by default.

Int32 dbConnectionCacheSize

The capacity of the block and transaction RocksDB connection cache. 100 by default.

Boolean readonly

If it is true, it will open rocksdb in read-only mode.

See Also
IStore

Methods

| Improve this Doc View Source

AppendIndex(Guid, BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override long AppendIndex(Guid chainId, BlockHash hash)
Parameters
Type Name Description
Guid chainId
BlockHash hash
Returns
Type Description
Int64
See Also
IStore
| Improve this Doc View Source

ContainsBlock(BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override bool ContainsBlock(BlockHash blockHash)
Parameters
Type Name Description
BlockHash blockHash
Returns
Type Description
Boolean
See Also
IStore
| Improve this Doc View Source

ContainsTransaction(TxId)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override bool ContainsTransaction(TxId txId)
Parameters
Type Name Description
TxId txId
Returns
Type Description
Boolean
See Also
IStore
| Improve this Doc View Source

CountBlocks()

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override long CountBlocks()
Returns
Type Description
Int64
Overrides
BaseStore.CountBlocks()
See Also
IStore
| Improve this Doc View Source

CountIndex(Guid)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override long CountIndex(Guid chainId)
Parameters
Type Name Description
Guid chainId
Returns
Type Description
Int64
Overrides
BaseStore.CountIndex(Guid)
See Also
IStore
| Improve this Doc View Source

DeleteBlock(BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override bool DeleteBlock(BlockHash blockHash)
Parameters
Type Name Description
BlockHash blockHash
Returns
Type Description
Boolean
See Also
IStore
| Improve this Doc View Source

DeleteBlockCommit(BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void DeleteBlockCommit(BlockHash blockHash)
Parameters
Type Name Description
BlockHash blockHash
See Also
IStore
| Improve this Doc View Source

DeleteChainId(Guid)

Deletes an index, tx nonces, and state references in the given chainId. It also deletes chain itself. If there is no such chainId it does nothing.

Declaration
public override void DeleteChainId(Guid chainId)
Parameters
Type Name Description
Guid chainId

The ID of chain to delete.

Overrides
BaseStore.DeleteChainId(Guid)
Remarks

This does not delete blocks or transactions that belong to the index of the chainId, but only the index, tx nonces, and state references.

See Also
IStore
| Improve this Doc View Source

DeleteTxIdBlockHashIndex(TxId, BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void DeleteTxIdBlockHashIndex(TxId txId, BlockHash blockHash)
Parameters
Type Name Description
TxId txId
BlockHash blockHash
See Also
IStore
| Improve this Doc View Source

Dispose()

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void Dispose()
Overrides
BaseStore.Dispose()
See Also
IStore
| Improve this Doc View Source

ForkBlockIndexes(Guid, Guid, BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void ForkBlockIndexes(Guid sourceChainId, Guid destinationChainId, BlockHash branchpoint)
Parameters
Type Name Description
Guid sourceChainId
Guid destinationChainId
BlockHash branchpoint
See Also
IStore
| Improve this Doc View Source

ForkTxNonces(Guid, Guid)

Forks Transaction Nonces from sourceChainId to destinationChainId.

Declaration
public override void ForkTxNonces(Guid sourceChainId, Guid destinationChainId)
Parameters
Type Name Description
Guid sourceChainId

The chain of Transaction Nonces to fork.

Guid destinationChainId

The chain of destination Transaction Nonces.

Overrides
BaseStore.ForkTxNonces(Guid, Guid)
See Also
IStore
| Improve this Doc View Source

GetBlockCommit(BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override BlockCommit GetBlockCommit(BlockHash blockHash)
Parameters
Type Name Description
BlockHash blockHash
Returns
Type Description
BlockCommit
See Also
IStore
| Improve this Doc View Source

GetBlockCommitHashes()

Gets every BlockHashes of BlockCommits from store.

Declaration
public override IEnumerable<BlockHash> GetBlockCommitHashes()
Returns
Type Description
IEnumerable<BlockHash>

Returns an IEnumerable<T> of BlockHashes of all BlockCommits.

Overrides
BaseStore.GetBlockCommitHashes()
See Also
IStore
| Improve this Doc View Source

GetBlockDigest(BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override BlockDigest? GetBlockDigest(BlockHash blockHash)
Parameters
Type Name Description
BlockHash blockHash
Returns
Type Description
Nullable<BlockDigest>
See Also
IStore
| Improve this Doc View Source

GetCanonicalChainId()

Gets the ID of the current canonical chain.

Declaration
public override Guid? GetCanonicalChainId()
Returns
Type Description
Nullable<Guid>

The ID of the current canonical chain. Maybe null.

Overrides
BaseStore.GetCanonicalChainId()
See Also
SetCanonicalChainId(Guid)
| Improve this Doc View Source

GetChainBlockCommit(Guid)

Gets a BlockCommit associated with a with chainId as its .

Declaration
public override BlockCommit GetChainBlockCommit(Guid chainId)
Parameters
Type Name Description
Guid chainId

The of the to retrieve BlockCommit.

Returns
Type Description
BlockCommit

Returns BlockCommit if given chainId is stored and available, otherwise returns null.

Overrides
BaseStore.GetChainBlockCommit(Guid)
See Also
IStore
| Improve this Doc View Source

GetTransaction(TxId)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override Transaction GetTransaction(TxId txid)
Parameters
Type Name Description
TxId txid
Returns
Type Description
Transaction
See Also
IStore
| Improve this Doc View Source

GetTxExecution(BlockHash, TxId)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override TxExecution GetTxExecution(BlockHash blockHash, TxId txid)
Parameters
Type Name Description
BlockHash blockHash
TxId txid
Returns
Type Description
TxExecution
See Also
IStore
| Improve this Doc View Source

GetTxNonce(Guid, Address)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override long GetTxNonce(Guid chainId, Address address)
Parameters
Type Name Description
Guid chainId
Address address
Returns
Type Description
Int64
See Also
IStore
| Improve this Doc View Source

IncreaseTxNonce(Guid, Address, Int64)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void IncreaseTxNonce(Guid chainId, Address signer, long delta = 1L)
Parameters
Type Name Description
Guid chainId
Address signer
Int64 delta
See Also
IStore
| Improve this Doc View Source

IndexBlockHash(Guid, Int64)

Determines the block hash by its index.

Declaration
public override BlockHash? IndexBlockHash(Guid chainId, long index)
Parameters
Type Name Description
Guid chainId

The chain ID of the index that contains the block.

Int64 index

The index of the block to query its hash. Negative indices mean the offset from the end. For example, -1 means the topmost block.

Returns
Type Description
Nullable<BlockHash>

The block hash of the index in the chain. If there is no such index, it returns null.

Overrides
BaseStore.IndexBlockHash(Guid, Int64)
See Also
IStore
| Improve this Doc View Source

IterateBlockHashes()

Lists all block hashes in the store, regardless of their belonging chains.

Declaration
public override IEnumerable<BlockHash> IterateBlockHashes()
Returns
Type Description
IEnumerable<BlockHash>

All block hashes in the store.

Overrides
BaseStore.IterateBlockHashes()
See Also
IStore
| Improve this Doc View Source

IterateIndexes(Guid, Int32, Nullable<Int32>)

Lists all block hashes in chainId.

Declaration
public override IEnumerable<BlockHash> IterateIndexes(Guid chainId, int offset, int? limit)
Parameters
Type Name Description
Guid chainId

The chain ID of the index that contains block hashes to iterate.

Int32 offset

The starting point to return block hashes.

Nullable<Int32> limit

The maximum number of block hashes to get.

Returns
Type Description
IEnumerable<BlockHash>

Block hashes in the index of the chainId, in ascending order; the genesis block goes first, and the tip block goes last.

Overrides
BaseStore.IterateIndexes(Guid, Int32, Nullable<Int32>)
See Also
IStore
| Improve this Doc View Source

IterateTxIdBlockHashIndex(TxId)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override IEnumerable<BlockHash> IterateTxIdBlockHashIndex(TxId txId)
Parameters
Type Name Description
TxId txId
Returns
Type Description
IEnumerable<BlockHash>
See Also
IStore
| Improve this Doc View Source

ListChainIds()

Lists chain IDs containing at least a single block.

Declaration
public override IEnumerable<Guid> ListChainIds()
Returns
Type Description
IEnumerable<Guid>

Chain IDs with at least a single block.

Overrides
BaseStore.ListChainIds()
See Also
IStore
| Improve this Doc View Source

ListTxNonces(Guid)

Lists all Addresses that have ever signed Transaction, and their corresponding Transaction nonces.

Declaration
public override IEnumerable<KeyValuePair<Address, long>> ListTxNonces(Guid chainId)
Parameters
Type Name Description
Guid chainId

The ID of the chain to list Addresses and their Transaction nonces.

Returns
Type Description
IEnumerable<KeyValuePair<Address, Int64>>

Pairs of an Address and its tx nonce. All nonces are greater than 0. (If there are underlying entries having zero nonces these must be hidden.)

Overrides
BaseStore.ListTxNonces(Guid)
See Also
GetTxNonce(Guid, Address)
| Improve this Doc View Source

MigrateChainDBFromColumnFamilies(String)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public static bool MigrateChainDBFromColumnFamilies(string path)
Parameters
Type Name Description
String path
Returns
Type Description
Boolean
See Also
IStore
| Improve this Doc View Source

PruneOutdatedChains(Boolean)

Delete all non-canonical chains.

Declaration
public override void PruneOutdatedChains(bool noopWithoutCanon = false)
Parameters
Type Name Description
Boolean noopWithoutCanon

Flag to determine whether the function throws exception when the canonical chain is not assigned. false by default. If it set to true, does not throw exception when there is no canonical chain. Otherwise, throws InvalidOperationException when there is no canonical chain.

Overrides
BaseStore.PruneOutdatedChains(Boolean)
Exceptions
Type Condition
InvalidOperationException

Thrown when there is no canonical chain and noopWithoutCanon is false.

See Also
IStore
| Improve this Doc View Source

PutBlock(Block)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void PutBlock(Block block)
Parameters
Type Name Description
Block block
See Also
IStore
| Improve this Doc View Source

PutBlockCommit(BlockCommit)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void PutBlockCommit(BlockCommit blockCommit)
Parameters
Type Name Description
BlockCommit blockCommit
See Also
IStore
| Improve this Doc View Source

PutChainBlockCommit(Guid, BlockCommit)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void PutChainBlockCommit(Guid chainId, BlockCommit blockCommit)
Parameters
Type Name Description
Guid chainId
BlockCommit blockCommit
See Also
IStore
| Improve this Doc View Source

PutTransaction(Transaction)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void PutTransaction(Transaction tx)
Parameters
Type Name Description
Transaction tx
See Also
IStore
| Improve this Doc View Source

PutTxExecution(TxExecution)

Records the given txExecution.

Declaration
public override void PutTxExecution(TxExecution txExecution)
Parameters
Type Name Description
TxExecution txExecution
Remarks

If there is already the record for the same BlockHash and TxId, the record is silently overwritten.

Exceptions
Type Condition
ArgumentNullException

Thrown when txExecution is null.

See Also
GetTxExecution(BlockHash, TxId)
| Improve this Doc View Source

PutTxIdBlockHashIndex(TxId, BlockHash)

The RocksDB IStore implementation, which is more production-ready than DefaultStore. This stores data in the RocksDB with multiple partitions under the hood.

RocksDBStore and RocksDBKeyValueStore-backed TrieStateStore can be instantiated from a URI with rocksdb+file: scheme using LoadStore(Uri), e.g.:

  • rocksdb+file:///var/data/planet/
  • rocksdb+file:///c:/Users/john/AppData/Local/planet/

The following query string parameters are supported:

block-cacheCorresponds to 's blockCacheSize parameter. 512 by default.
tx-cacheCorresponds to 's txCacheSize parameter. 1024 by default.
max-total-wal-sizeCorresponds to RocksDB's max_total_wal_size option.
keep-log-file-numCorresponds to RocksDB's keep_log_file_num option.
max_log_file_sizeCorresponds to RocksDB's max_log_file_size option.
tx-epoch-unit-secsCorresponds to 's txEpochUnitSeconds parameter. 86400 by default.
block-epoch-unit-secsCorresponds to 's blockEpochUnitSeconds parameter. 86400 by default.
connection-cacheCorresponds to 's dbConnectionCacheSize parameter. 100 by default.
states-dirCorresponds to 's path parameter. It is relative to the URI path, and defaults to states.
Declaration
public override void PutTxIdBlockHashIndex(TxId txId, BlockHash blockHash)
Parameters
Type Name Description
TxId txId
BlockHash blockHash
See Also
IStore
| Improve this Doc View Source

SetCanonicalChainId(Guid)

Sets the canonical chain.

Declaration
public override void SetCanonicalChainId(Guid chainId)
Parameters
Type Name Description
Guid chainId

The ID of a new canonical chain.

Overrides
BaseStore.SetCanonicalChainId(Guid)
See Also
GetCanonicalChainId()

Implements

IStore
System.IDisposable

See Also

IStore
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © 2018–2023 Planetarium